diff --git a/COPYRIGHT b/COPYRIGHT index 85d70a8aa8..5644a52f69 100644 --- a/COPYRIGHT +++ b/COPYRIGHT @@ -79,13 +79,6 @@ License: GPL2+ The full text of the GPL is distributed as in /usr/share/common-licenses/GPL-2 on Debian systems. -Files: src/pyPdf/* -Copyright: Copyright (c) 2006, Mathieu Fenniak -Copyright: Copyright (c) 2007, Ashish Kulkarni -License: BSD - The full text of the BSD license is distributed as in - /usr/share/common-licenses/BSD on Debian systems. - Files: src/calibre/utils/lzx/* Copyright: Copyright (C) 2002, Matthew T. Russotto Copyright: Copyright (C) 2008, Marshall T. Vandegrift @@ -100,49 +93,6 @@ License: BSD The full text of the BSD license is distributed as in /usr/share/common-licenses/BSD on Debian systems. -Files: src/calibre/utils/pyparsing.py -Copyright: Copyright (c) 2003-2008, Paul T. McGuire -License: MIT - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -Files: src/calibre/utils/PythonMagickWand.py -Copyright: (c) 2007 - Achim Domma - domma@procoders.net -License: MIT - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - Files: src/calibre/utils/msdes/d3des.h: Files: src/calibre/utils/msdes/des.c: Copyright: Copyright (C) 1988,1989,1990,1991,1992, Richard Outerbridge diff --git a/Changelog.yaml b/Changelog.yaml index 8fb8965e8d..affd00f850 100644 --- a/Changelog.yaml +++ b/Changelog.yaml @@ -1,4 +1,4 @@ -# vim:fileencoding=UTF-8:ts=2:sw=2:sta:et:sts=2:ai +# vim:fileencoding=utf-8:ts=2:sw=2:sta:et:sts=2:ai # Each release can have new features and bug fixes. Each of which # must have a title and can optionally have linked tickets and a description. # In addition they can have a type field which defaults to minor, but should be major @@ -20,6 +20,190 @@ # new recipes: # - title: +- version: 0.9.29 + date: 2013-05-03 + + new features: + - title: "Bulk metadata download: Allow reviewing of the downloaded metadata before it is applied" + + - title: "FB2 Output: Write ISBN, pubdate, tags and publisher metadata when creating fb2 files" + tickets: [1174047] + + bug fixes: + - title: "When reading metadata from EPUB 3 files, use the first element rather than the last." + tickets: [1175184] + + - title: "Fix regression causing the search query parser to not parse search string containing newlines/tabs instead of spaces correctly" + tickets: [1174629] + + - title: "Kobo driver: Fix covers written to wrong place on OS X/linux when books sent to SD card. Fix covers not sent to SD card is images directory missing." + tickets: [1174147,1174126] + + - title: "Fix 'Preferences->Behavior->Virtual library to use when this library is opened' being applied only on calibre startup and not when switching to the library" + + - title: "PDF metadata: When rendering the first page as the cover, respect the PDF CropBox." + tickets: [1173795] + + - title: "PDF Output: Fix link generation broken on windows when converting epubs if the filenames contained uppercase letters." + tickets: [1169795] + + - title: "Tolino driver: Fix card and main memory swapped on windows" + tickets: [1173544] + + - title: "FB2 Output: Fix images being ignored when converting a EPUB with image filenames that contain URL unsafe characters." + tickets: [1173351] + + - title: "EPUB Input: Fix page margins specified in Adobe page template files with incorrect mime-types not being removed." + + improved recipes: + - The New Republic + - io9 + - What if + - Orlando Sentinel + - Read It Later recipe + - Smithsonian + - Business Week Magazine + + new recipes: + - title: Diario Extra + author: Douglas Delgado + +- version: 0.9.28 + date: 2013-04-26 + + new features: + - title: "Virtual Libraries: Easily partition your large calibre library into smaller 'virtual' libraries" + type: major + description: "A virtual library is a way to tell calibre to open only a subset of a normal library. For example, you might want to only work with books by a certain author, or books having only a certain tag. To use this feature, click the button labeled 'Virtual Library' to the left of the search bar. For details, see http://manual.calibre-ebook.com/virtual_libraries.html. This feature used to be called 'Search restriction', the new virtual libraries are easier to use, but otherwise fulfil the same function." + + - title: "Book details panel: Allow copying of links in the book details panel by right clicking on them." + tickets: [1171963] + + - title: "Kobo driver: Add support for the new Kobo Aura HD and firmware version 2.5.0" + tickets: [1169571,1169968] + + - title: "Metadata download: When showing downloaded covers, allow right clicking on a cover to view a full size version." + tickets: [1170544] + + - title: "Driver for Easy player cyber book e touch and Droid 4" + tickets: [1171633,1170763] + + - title: "Edit ToC: Allow the size of the panels in the location view to be adjusted" + + - title: "When copying to a library by path, make it more efficient to choose between moving and copying" + tickets: [1168231] + + - title: "When checking if a zip/rar file is a comic or contains a single ebook to be auto-extracted, ignore thumbs.db files inside the archive" + + bug fixes: + - title: "EPUB Input: Fix handling of EPUB files that contain images with non-ascii filenames." + tickets: [1171186] + + - title: "Device driver: Detect Laser EB720 with newer firmware." + tickets: [1171341] + + - title: "Fix bug in Danish translation causing books with language Ingush being incorrectly translated as Engelsk" + + - title: "PDF Output: Fix hyperlinks not working when converting an EPUB whose individual files have names with URL unsafe characters." + tickets: [1169795] + + - title: "Book polishing: Fix inserting cover into an epub with no cover could lead to incorrect guide entry if the opf is not at the root of the epub." + tickets: [1167941] + + - title: "ZIP Output: Fix links containing backslashes on windows" + tickets: [1169910] + + - title: "Fix polishing of AZW3 files not working on OS X." + tickets: [1168789] + + - title: "Polishing books: Fix polishing erroring out if the book being polished has no cover" + + - title: "RTF Input: Add partial support for hyperlinks to web resources." + tickets: [1167562] + + - title: "Fix book details panel showing incorrect info after deleting books from a connected device" + tickets: [1172839] + + improved recipes: + - NZZ Online + - Baltimore Sun + - Metro NL + - Financial Times + - EcoGeek + - comics.com + - Psychology Today + - Science News + + new recipes: + - title: Voice of America + author: Krittika Goyal + + - title: Lightspeed Magazine + author: Jose Pinto + + - title: The Feature + author: Jose Pinto + +- version: 0.9.27 + date: 2013-04-12 + + new features: + - title: "Metadata download: Add two new sources for covers: Google Image Search and bigbooksearch.com." + description: "To enable them go to Preferences->Metadata download and enable the 'Google Image' and 'Big Book Search' sources. Google Images is useful for finding larger covers as well as alternate versions of the cover. Big Book Search searches for alternate covers from amazon.com. It can occasionally find nicer covers than the direct Amazon source. Note that both these sources download multiple covers for a single book. Some of these covers can be wrong (i.e. they may be of a different book or not covers at all, so you should inspect the results and manually pick the best match). When bulk downloading, these sources are only used if the other sources find no covers." + type: major + + - title: "Content server: Allow specifying a restriction to use for the server when embedding it as a WSGI app." + tickets: [1167951] + + - title: "Get Books: Add a plugin for the Koobe Polish book store" + + - title: "calibredb add_format: Add an option to not replace existing formats. Also pep8 compliance." + + - title: "Allow restoring of the ORIGINAL_XXX format by right-clicking it in the book details panel" + + bug fixes: + - title: "AZW3 Input: Do not fail to identify JPEG images with 8BIM headers created with Adobe Photoshop." + tickets: [1167985] + + - title: "Amazon metadata download: Ignore Spanish edition entries when searching for a book on amazon.com" + + - title: "TXT Input: When converting a txt file with a Byte Order Mark, remove the Byte Order Mark before further processing as it can cause the first line of the text to be mis-interpreted." + + - title: "Get Books: Fix searching for current book/title/author by right clicking the get books icon" + + - title: "Get Books: Update nexto, gutenberg, and virtualo store plugins for website changes" + + - title: "Amazon metadata download: When downloading from amazon.co.jp handle the 'Black curtain redirect' for adult titles." + tickets: [1165628] + + - title: "When extracting zip files do not allow maliciously created zip files to overwrite other files on the system" + + - title: "RTF Input: Handle RTF files with invalid border style specifications" + tickets: [1021270] + + improved recipes: + - The Escapist + - San Francisco Chronicle + - The Onion + - Fronda + - Tom's Hardware + - New Yorker + - Financial Times UK + - Business Week Magazine + - Victoria Times + - tvxs + - The Independent + + new recipes: + - title: Economia + author: Manish Bhattarai + + - title: Universe Today + author: seird + + - title: The Galaxy's Edge + author: Krittika Goyal + - version: 0.9.26 date: 2013-04-05 diff --git a/manual/conversion.rst b/manual/conversion.rst index 14710f3f6a..fe5594a705 100644 --- a/manual/conversion.rst +++ b/manual/conversion.rst @@ -436,8 +436,8 @@ generate a Table of Contents in the converted ebook, based on the actual content .. note:: Using these options can be a little challenging to get exactly right. If you prefer creating/editing the Table of Contents by hand, convert to - the EPUB or AZW3 formats and select the checkbox at the bottom of the - screen that says + the EPUB or AZW3 formats and select the checkbox at the bottom of the Table + of Contents section of the conversion dialog that says :guilabel:`Manually fine-tune the Table of Contents after conversion`. This will launch the ToC Editor tool after the conversion. It allows you to create entries in the Table of Contents by simply clicking the place in the diff --git a/manual/develop.rst b/manual/develop.rst index 823a31b5c2..d2f7046f4c 100644 --- a/manual/develop.rst +++ b/manual/develop.rst @@ -67,8 +67,12 @@ and you will most likely get help from one of |app|'s many developers. Getting the code ------------------ -|app| uses `Bazaar `_, a distributed version control system. Bazaar is available on all the platforms |app| supports. -After installing Bazaar, you can get the |app| source code with the command:: +You can get the |app| source code in two ways, using a version control system or +directly downloading a `tarball `_. + +|app| uses `Bazaar `_, a distributed version control +system. Bazaar is available on all the platforms |app| supports. After +installing Bazaar, you can get the |app| source code with the command:: bzr branch lp:calibre @@ -124,6 +128,8 @@ discuss them in the forum or contact Kovid directly (his email address is all ov Windows development environment --------------------------------- +.. note:: You must also get the |app| source code separately as described above. + Install |app| normally, using the Windows installer. Then open a Command Prompt and change to the previously checked out |app| code directory. For example:: @@ -153,6 +159,8 @@ near the top of the file. Now run the command :command:`calibredb`. The very fir OS X development environment ------------------------------ +.. note:: You must also get the |app| source code separately as described above. + Install |app| normally using the provided .dmg. Then open a Terminal and change to the previously checked out |app| code directory, for example:: @@ -183,6 +191,8 @@ window, indicating that you are running from source. Linux development environment ------------------------------ +.. note:: You must also get the |app| source code separately as described above. + |app| is primarily developed on Linux. You have two choices in setting up the development environment. You can install the |app| binary as normal and use that as a runtime environment to do your development. This approach is similar to that used in Windows and OS X. Alternatively, you can install |app| from source. Instructions for setting up a development diff --git a/manual/faq.rst b/manual/faq.rst index ceaa2bc735..7f7b7cae00 100644 --- a/manual/faq.rst +++ b/manual/faq.rst @@ -647,12 +647,17 @@ computers. Run |app| on a single computer and access it via the Content Server or a Remote Desktop solution. If you must share the actual library, use a file syncing tool like -DropBox or rsync or Microsoft SkyDrive instead of a networked drive. Even with -these tools there is danger of data corruption/loss, so only do this if you are -willing to live with that risk. In particular, be aware that **Google Drive** -is incompatible with |app|, if you put your |app| library in Google Drive, you -*will* suffer data loss. See -`this thread `_ for details. +DropBox or rsync or Microsoft SkyDrive instead of a networked drive. If you are +using a file-syncing tool it is **essential** that you make sure that both +|app| and the file syncing tool do not try to access the |app| library at the +same time. In other words, **do not** run the file syncing tool and |app| at +the same time. + +Even with these tools there is danger of data corruption/loss, so only do this +if you are willing to live with that risk. In particular, be aware that +**Google Drive** is incompatible with |app|, if you put your |app| library in +Google Drive, **you will suffer data loss**. See `this thread +`_ for details. Content From The Web --------------------- @@ -797,6 +802,12 @@ Downloading from the Internet can sometimes result in a corrupted download. If t * Try temporarily disabling your antivirus program (Microsoft Security Essentials, or Kaspersky or Norton or McAfee or whatever). This is most likely the culprit if the upgrade process is hanging in the middle. * Try rebooting your computer and running a registry cleaner like `Wise registry cleaner `_. * Try downloading the installer with an alternate browser. For example if you are using Internet Explorer, try using Firefox or Chrome instead. + * If you get an error about a missing DLL on windows, then most likely, the + permissions on your temporary folder are incorrect. Go to the folder + :file:`C:\\Users\\USERNAME\\AppData\\Local` in Windows explorer and then + right click on the :file:`Temp` folder and select :guilabel:`Properties` and go to + the :guilabel:`Security` tab. Make sure that your user account has full control + for this folder. If you still cannot get the installer to work and you are on windows, you can use the `calibre portable install `_, which does not need an installer (it is just a zip file). diff --git a/manual/gui.rst b/manual/gui.rst index b7cd4230bf..f973008ffd 100755 --- a/manual/gui.rst +++ b/manual/gui.rst @@ -367,6 +367,8 @@ For example:: date:>10daysago date:<=45daysago + +To avoid potential problems with translated strings when using a non-English version of calibre, the strings ``_today``, ``_yesterday``, ``_thismonth``, and ``_daysago`` are always available. They are not translated. You can search for books that have a format of a certain size like this:: @@ -424,6 +426,8 @@ Identifiers (e.g., isbn, doi, lccn etc) also use an extended syntax. First, note :guilabel:`Advanced Search Dialog` +.. _saved_searches: + Saving searches ----------------- @@ -433,6 +437,15 @@ Now you can access your saved search in the Tag Browser under "Searches". A sing .. _config_filename_metadata: +Virtual Libraries +------------------- + +A :guilabel:`Virtual Library` is a way to pretend that your |app| library has +only a few books instead of its full collection. This is an excellent way to +partition your large collection of books into smaller, manageable chunks. To +learn how to create and use virtual libraries, see the tutorial: +:ref:`virtual_libraries`. + Guessing metadata from file names ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In the :guilabel:`Add/Save` section of the configuration dialog, you can specify a regular expression that |app| will use to try and guess metadata from the names of ebook files @@ -569,6 +582,12 @@ Calibre has several keyboard shortcuts to save you time and mouse movement. Thes - Open the advanced search dialog * - :kbd:`Esc` - Clear the current search + * - :kbd:`Shift+Esc` + - Focus the book list + * - :kbd:`Ctrl+Esc` + - Clear the virtual library + * - :kbd:`Alt+Esc` + - Clear the additional restriction * - :kbd:`N or F3` - Find the next book that matches the current search (only works if the highlight checkbox next to the search bar is checked) * - :kbd:`Shift+N or Shift+F3` diff --git a/manual/images/virtual_library_button.png b/manual/images/virtual_library_button.png new file mode 100644 index 0000000000..f78f381a33 Binary files /dev/null and b/manual/images/virtual_library_button.png differ diff --git a/manual/images/vl_by_author.png b/manual/images/vl_by_author.png new file mode 100644 index 0000000000..bf4db61d3c Binary files /dev/null and b/manual/images/vl_by_author.png differ diff --git a/manual/server.rst b/manual/server.rst index b4188051c3..20d4434a28 100644 --- a/manual/server.rst +++ b/manual/server.rst @@ -91,7 +91,11 @@ First, we have to create a WSGI *adapter* for the calibre content server. Here i # Path to the calibre library to be served # The server process must have write permission for all files/dirs # in this directory or BAD things will happen - path_to_library='/home/kovid/documents/demo library' + path_to_library='/home/kovid/documents/demo library', + + # The virtual library (restriction) to be used when serving this + # library. + virtual_library=None ) del create_wsgi_app diff --git a/manual/tutorials.rst b/manual/tutorials.rst index ed4287abe8..8668d3b594 100755 --- a/manual/tutorials.rst +++ b/manual/tutorials.rst @@ -20,4 +20,5 @@ Here you will find tutorials to get you started using |app|'s more advanced feat creating_plugins typesetting_math catalogs + virtual_libraries diff --git a/manual/virtual_libraries.rst b/manual/virtual_libraries.rst new file mode 100644 index 0000000000..eb1906355c --- /dev/null +++ b/manual/virtual_libraries.rst @@ -0,0 +1,89 @@ + +.. include:: global.rst + +.. _virtual_libraries: + + +Virtual Libraries +============================ + +In |app|, a virtual library is a way to tell |app| to open only a subset of a +normal library. For example, you might want to only work with books by a certain +author, or books having only a certain tag. Using virtual libraries is the +preferred way of partitioning your large book collection into smaller sub +collections. It is superior to splitting up your library into multiple smaller +libraries as, when you want to search through your entire collection, you can +simply go back to the full library. There is no way to search through multiple +separate libraries simultaneously in |app|. + +A virtual library is different from a simple search. A search will only restrict +the list of books shown in the book list. A virtual library does that, and in +addition it also restricts the entries shown in the :guilabel:`Tag Browser` to +the left. The Tag Browser will only show tags, authors, series, publishers, etc. +that come from the books in the virtual library. A virtual library thus behaves +as though the actual library contains only the restricted set of books. + +Creating Virtual Libraries +---------------------------- + +.. |vlb| image:: images/virtual_library_button.png + :class: float-left-img + +|vlb| To use a virtual library click the :guilabel:`Virtual Library` button located +to the left of the search bar and select the :guilabel:`Create Virtual Library` +option. As a first example, let's create a virtual library that shows us only +the books by a particular author. Click the :guilabel:`Authors` link as shown +in the image below and choose the author you want to use and click OK. + +.. image:: images/vl_by_author.png + :align: center + +The Create Virtual Library dialog has been filled in for you. Click OK and you +will see that a new Virtual Library has been created, and automatically +switched to, that displays only the books by the selected author. As far as +|app| is concerned, it is as if your library contains only the books by the +selected author. + +You can switch back to the full library at any time by once again clicking the +:guilabel:`Virtual Library` and selecting the entry named :guilabel:``. + +Virtual Libraries are based on *searches*. You can use any search as the +basis of a virtual library. The virtual library will contain only the +books matched by that search. First, type in the search you want to use +in the search bar or build a search using the :guilabel:`Tag Browser`. +When you are happy with the returned results, click the Virtual Library +button, choose Create Library and enter a name for the new virtual +library. The virtual library will then be created based on the search +you just typed in. Searches are very powerful, for examples of the kinds +of things you can do with them, see :ref:`search_interface`. + +Working with Virtual Libraries +------------------------------------- + +You can edit a previously created virtual library or remove it, by clicking the +:guilabel:`Virtual Library` and choosing the appropriate action. + +You can tell |app| that you always want to apply a particular virtual library +when the current library is opened, by going to +:guilabel:`Preferences->Behavior`. + +If you use the |app| Content Server, you can have it share a virtual library +instead of the full library by going to :guilabel:`Preferences->Sharing over the net`. + +You can quickly use the current search as a temporary virtual library by +clicking the :guilabel:`Virtual Library` button and choosing the +:guilabel:`*current search` entry. + +Using additional restrictions +------------------------------- + +You can further restrict the books shown in a Virtual Library by using +:guilabel:`Additional restrictions`. An additional restriction is saved search +you previously created that can be applied to the current Virtual Library to +further restrict the books shown in a virtual library. For example, say you +have a Virtual Library for books tagged as :guilabel:`Historical Fiction` and a +saved search that shows you unread books, you can click the :guilabel:`Virtual +Library` button and choose the :guilabel:`Additional restriction` option to +show only unread Historical Fiction books. To learn about saved searches, see +:ref:`saved_searches`. + diff --git a/recipes/baltimore_sun.recipe b/recipes/baltimore_sun.recipe index 3cd5c8edbc..6226595473 100644 --- a/recipes/baltimore_sun.recipe +++ b/recipes/baltimore_sun.recipe @@ -13,13 +13,13 @@ class BaltimoreSun(BasicNewsRecipe): __author__ = 'Josh Hall' description = 'Complete local news and blogs from Baltimore' language = 'en' - version = 2.1 + version = 2.5 oldest_article = 1 max_articles_per_feed = 100 use_embedded_content = False no_stylesheets = True remove_javascript = True - #auto_cleanup = True + remove_empty_feeds= True recursions = 1 ignore_duplicate_articles = {'title'} @@ -31,7 +31,7 @@ class BaltimoreSun(BasicNewsRecipe): match_regexps = [r'page=[0-9]+'] remove_tags = [{'id':["moduleArticleTools","content-bottom","rail","articleRelates module","toolSet","relatedrailcontent","div-wrapper","beta","atp-comments","footer",'gallery-subcontent','subFooter']}, - {'class':["clearfix","relatedTitle","articleRelates module","asset-footer","tools","comments","featurePromo","featurePromo fp-topjobs brownBackground","clearfix fullSpan brownBackground","curvedContent",'nextgen-share-tools','outbrainTools', 'google-ad-story-bottom']}, + {'class':["clearfix","relatedTitle","articleRelates module","asset-footer","tools","comments","featurePromo","featurePromo fp-topjobs brownBackground","clearfix fullSpan brownBackground","curvedContent",'nextgen-share-tools','nextgen-comments-container','nextgen-comments-content','outbrainTools','fb-like' 'google-ad-story-bottom']}, dict(name='font',attrs={'id':["cr-other-headlines"]})] extra_css = ''' h1{font-family:Arial,Helvetica,sans-serif; font-weight:bold;font-size:large;} @@ -49,40 +49,39 @@ class BaltimoreSun(BasicNewsRecipe): ''' feeds = [ ## News ## - (u'Top Headlines', u'http://www.baltimoresun.com/rss2.0.xml'), - (u'Breaking News', u'http://www.baltimoresun.com/news/breaking/rss2.0.xml'), - (u'Top Maryland', u'http://www.baltimoresun.com/news/maryland/rss2.0.xml'), - #(u'Anne Arundel County', u'http://www.baltimoresun.com/news/maryland/anne-arundel/rss2.0.xml'), - (u'Baltimore City', u'http://www.baltimoresun.com/news/maryland/baltimore-city/rss2.0.xml'), - #(u'Baltimore County', u'http://www.baltimoresun.com/news/maryland/baltimore-county/rss2.0.xml'), - #(u'Carroll County', u'http://www.baltimoresun.com/news/maryland/carroll/rss2.0.xml'), - #(u'Harford County', u'http://www.baltimoresun.com/news/maryland/harford/rss2.0.xml'), - #(u'Howard County', u'http://www.baltimoresun.com/news/maryland/howard/rss2.0.xml'), - (u'Education', u'http://www.baltimoresun.com/news/education/rss2.0.xml'), - #(u'Obituaries', u'http://www.baltimoresun.com/news/obituaries/rss2.0.xml'), - (u'Local Politics', u'http://www.baltimoresun.com/news/maryland/politics/rss2.0.xml'), - (u'Weather', u'http://www.baltimoresun.com/news/weather/rss2.0.xml'), - #(u'Traffic', u'http://www.baltimoresun.com/features/commuting/rss2.0.xml'), + (u'Top Headlines', u'http://feeds.feedburner.com/baltimoresun/news/rss2'), + (u'Breaking News', u'http://feeds.feedburner.com/baltimoresun/news/local/annearundel/rss2'), + (u'Top Maryland', u'http://feeds.feedburner.com/baltimoresun/news/local/rss2'), + #(u'Anne Arundel County', u'http://feeds.feedburner.com/baltimoresun/news/local/annearundel/rss2'), + (u'Baltimore City', u'http://feeds.feedburner.com/baltimoresun/news/local/baltimore_city/rss20xml'), + #(u'Baltimore County', u'http://feeds.feedburner.com/baltimoresun/news/local/baltimore_county/rss2'), + #(u'Carroll County', u'http://feeds.feedburner.com/baltimoresun/news/local/carroll/rss2'), + #(u'Harford County', u'http://feeds.feedburner.com/baltimoresun/news/local/harford/rss2), + #(u'Howard County', u'http://feeds.feedburner.com/baltimoresun/news/local/howard/rss2'), + (u'Education', u'http://feeds.feedburner.com/baltimoresun/news/education/rss2'), + #(u'Obituaries', u'http://feeds.feedburner.com/baltimoresun/news/obituaries/rss2'), + (u'Local Politics', u'http://feeds.feedburner.com/baltimoresun/news/local/politics/rss2'), + (u'Weather', u'http://feeds.feedburner.com/baltimoresun/news/weather/site/rss2'), + #(u'Traffic', u'http://feeds.feedburner.com/baltimoresun/news/traffic/rss2'), (u'Nation/world', u'http://feeds.feedburner.com/baltimoresun/news/nationworld/rss2'), - (u'Weird News', u'http://www.baltimoresun.com/news/offbeat/rss2.0.xml'), + #(u'Weird News', u'http://feeds.feedburner.com/baltsun-weirdnews'), ##Sports## - (u'Top Sports', u'http://www.baltimoresun.com/sports/rss2.0.xml'), + (u'Top Sports', u'http://feeds.feedburner.com/baltimoresun/sports/rss2'), (u'Orioles/Baseball', u'http://www.baltimoresun.com/sports/orioles/rss2.0.xml'), - (u'Ravens/Football', u'http://www.baltimoresun.com/sports/ravens/rss2.0.xml'), - #(u'Terps', u'http://www.baltimoresun.com/sports/terps/rss2.0.xml'), - #(u'College Football', u'http://www.baltimoresun.com/sports/college/football/rss2.0.xml'), - #(u'Lacrosse', u'http://www.baltimoresun.com/sports/college/lacrosse/rss2.0.xml'), - #(u'Horse Racing', u'http://www.baltimoresun.com/sports/horse-racing/rss2.0.xml'), - #(u'Golf', u'http://www.baltimoresun.com/sports/golf/rss2.0.xml'), - #(u'NBA', u'http://www.baltimoresun.com/sports/nba/rss2.0.xml'), - #(u'High School', u'http://www.baltimoresun.com/sports/high-school/rss2.0.xml'), - #(u'Outdoors', u'http://www.baltimoresun.com/sports/outdoors/rss2.0.xml'), - + (u'Ravens/Football', u'http://feeds.feedburner.com/baltimoresun/sports/football/rss2'), + #(u'Terps', u''http://feeds.feedburner.com/baltimoresun/sports/terps/rss2'), + #(u'College Football', u''feed://feeds.feedburner.com/baltimoresun/sports/college/football/rss2'), + #(u'Lacrosse', u'http://feeds.feedburner.com/baltimoresun/sports/college/lacrosse/rss2'), + #(u'Horse Racing', u'http://feeds.feedburner.com/baltimoresun/sports/horseracing/rss2'), + #(u'Golf', u'http://feeds.feedburner.com/baltimoresun/sports/golf/rss2'), + #(u'NBA', u'http://feeds.feedburner.com/baltimoresun/sports/basketball/rss2'), + #(u'High School', u'http://feeds.feedburner.com/baltimoresun/sports/highschool/rss2'), + #(u'Outdoors', u'http://feeds.feedburner.com/baltimoresun/sports/outdoors/rss2'), ## Entertainment ## - (u'Celebrity News', u'http://www.baltimoresun.com/entertainment/celebrities/rss2.0.xml'), - (u'Arts & Theater', u'http://www.baltimoresun.com/entertainment/arts/rss2.0.xml'), + (u'Celebrity News', u'http://baltimore.feedsportal.com/c/34255/f/623042/index.rss'), + (u'Arts & Theater', u'http://feeds.feedburner.com/baltimoresun/entertainment/galleriesmuseums/rss2'), (u'Movies', u'http://www.baltimoresun.com/entertainment/movies/rss2.0.xml'), (u'Music & Nightlife', u'http://www.baltimoresun.com/entertainment/music/rss2.0.xml'), (u'Restaurants & Food', u'http://www.baltimoresun.com/entertainment/dining/rss2.0.xml'), @@ -92,7 +91,6 @@ class BaltimoreSun(BasicNewsRecipe): (u'Health&Wellness', u'http://www.baltimoresun.com/health/rss2.0.xml'), (u'Home & Garden', u'http://www.baltimoresun.com/features/home-garden/rss2.0.xml'), (u'Living Green', u'http://www.baltimoresun.com/features/green/rss2.0.xml'), - (u'Parenting', u'http://www.baltimoresun.com/features/parenting/rss2.0.xml'), (u'Fashion', u'http://www.baltimoresun.com/features/fashion/rss2.0.xml'), (u'Travel', u'http://www.baltimoresun.com/travel/rss2.0.xml'), #(u'Faith', u'http://www.baltimoresun.com/features/faith/rss2.0.xml'), @@ -100,17 +98,17 @@ class BaltimoreSun(BasicNewsRecipe): ## Business ## (u'Top Business', u'http://www.baltimoresun.com/business/rss2.0.xml'), (u'Technology', u'http://www.baltimoresun.com/business/technology/rss2.0.xml'), - (u'Personal finance', u'http://www.baltimoresun.com/business/money/rss2.0.xml'), + (u'Personal finance', u'http://baltimore.feedsportal.com/c/34255/f/623057/index.rss'), (u'Real Estate', u'http://www.baltimoresun.com/classified/realestate/rss2.0.xml'), - (u'Jobs', u'http://www.baltimoresun.com/classified/jobs/rss2.0.xml'), - (u'DIY', u'http://www.baltimoresun.com/features/do-it-yourself/rss2.0.xml'), - (u'Consumer Safety', u'http://www.baltimoresun.com/business/consumer-safety/rss2.0.xml'), + (u'Jobs', u'http://baltimore.feedsportal.com/c/34255/f/623059/index.rss'), + #(u'DIY', u'http://baltimore.feedsportal.com/c/34255/f/623060/index.rss'), + #(u'Consumer Safety', u'http://baltimore.feedsportal.com/c/34255/f/623061/index.rss'), (u'Investing', u'http://www.baltimoresun.com/business/money/rss2.0.xml'), ## Opinion## (u'Sun Editorials', u'http://www.baltimoresun.com/news/opinion/editorial/rss2.0.xml'), (u'Op/Ed', u'http://www.baltimoresun.com/news/opinion/oped/rss2.0.xml'), - (u'Readers Respond', u'http://www.baltimoresun.com/news/opinion/readersrespond/'), + (u'Readers Respond', u'http://baltimore.feedsportal.com/c/34255/f/623065/index.rss'), ## Columnists ## (u'Kevin Cowherd', u'http://www.baltimoresun.com/sports/bal-columnist-cowherd,0,6829726.columnist-rss2.0.xml'), @@ -138,30 +136,26 @@ class BaltimoreSun(BasicNewsRecipe): (u'The Real Estate Wonk', u'http://www.baltimoresun.com/business/real-estate/wonk/rss2.0.xml'), ## Entertainment Blogs ## - (u'Clef Notes & Drama Queens', 'http://weblogs.baltimoresun.com/entertainment/classicalmusic/index.xml'), - (u'Baltimore Diner', u'http://baltimore.feedsportal.com/c/34255/f/623088/index.rss'), + (u'ArtSmash', 'http://www.baltimoresun.com/entertainment/arts/artsmash/rss2.0.xml'), + (u'Baltimore Diner', u'http://baltimore.feedsportal.com/c/34255/f/623088/index.rss'), (u'Midnight Sun', u'http://www.baltimoresun.com/entertainment/music/midnight-sun-blog/rss2.0.xml'), (u'Read Street', u'http://www.baltimoresun.com/features/books/read-street/rss2.0.xml'), (u'Z on TV', u'http://www.baltimoresun.com/entertainment/tv/z-on-tv-blog/rss2.0.xml'), -### Life Blogs ## +## Life Blogs ## #(u'BMore Green', u'http://weblogs.baltimoresun.com/features/green/index.xml'), - #(u'Baltimore Insider',u'http://www.baltimoresun.com/features/baltimore-insider-blog/rss2.0.xml'), - #(u'Homefront', u'http://www.baltimoresun.com/features/parenting/homefront/rss2.0.xml'), - #(u'Picture of Health', u'http://www.baltimoresun.com/health/blog/rss2.0.xml'), - #(u'Unleashed', u'http://weblogs.baltimoresun.com/features/mutts/blog/index.xml'), + (u'Baltimore Insider',u'http://www.baltimoresun.com/features/baltimore-insider-blog/rss2.0.xml'), + (u'Picture of Health', u'http://www.baltimoresun.com/health/blog/rss2.0.xml'), + #(u'Unleashed', u'http://weblogs.baltimoresun.com/features/mutts/blog/index.xml'), ## b the site blogs ## - (u'Game Cache', u'http://www.baltimoresun.com/entertainment/bthesite/game-cache/rss2.0.xml'), - (u'TV Lust', u'http://www.baltimoresun.com/entertainment/bthesite/tv-lust/rss2.0.xml'), + (u'TV Lust', u'http://baltimore.feedsportal.com/c/34255/f/623096/index.rss'), ## Sports Blogs ## (u'Baltimore Sports Blitz', u'http://baltimore.feedsportal.com/c/34255/f/623097/index.rss'), - #(u'Faceoff', u'http://weblogs.baltimoresun.com/sports/lacrosse/blog/index.xml'), - #(u'MMA Stomping Grounds', u'http://weblogs.baltimoresun.com/sports/mma/blog/index.xml'), + ## (u'Lacrosse Insider',u'http://www.baltimoresun.com/sports/lacrosse-blog/rss2.0.xml'), (u'Orioles Insider', u'http://baltimore.feedsportal.com/c/34255/f/623100/index.rss'), (u'Ravens Insider', u'http://www.baltimoresun.com/sports/ravens/ravens-insider/rss2.0.xml'), - #(u'Recruiting Report', u'http://weblogs.baltimoresun.com/sports/college/recruiting/index.xml'), #(u'Ring Posts', u'http://weblogs.baltimoresun.com/sports/wrestling/blog/index.xml'), (u'The Schmuck Stops Here', u'http://www.baltimoresun.com/sports/schmuck-blog/rss2.0.xml'), #(u'Tracking the Terps', u'http://weblogs.baltimoresun.com/sports/college/maryland_terps/blog/index.xml'), @@ -169,7 +163,6 @@ class BaltimoreSun(BasicNewsRecipe): ] - def get_article_url(self, article): ans = None try: @@ -190,6 +183,8 @@ def skip_ad_pages(self, soup): url = a.get('href') if url: return self.index_to_soup(url, raw=True) + def print_version(self, url): + return self.browser.open_novisit(url).geturl() def postprocess_html(self, soup, first_fetch): # Remove the navigation bar. It was kept until now to be able to follow diff --git a/recipes/bwmagazine2.recipe b/recipes/bwmagazine2.recipe index d02efc2861..071359300f 100644 --- a/recipes/bwmagazine2.recipe +++ b/recipes/bwmagazine2.recipe @@ -12,7 +12,7 @@ class BusinessWeekMagazine(BasicNewsRecipe): category = 'news' encoding = 'UTF-8' keep_only_tags = [ - dict(name='div', attrs={'id':'article_body_container'}), + dict(name='div', attrs={'id':['article_body_container','story_body']}), ] remove_tags = [dict(name='ui'),dict(name='li'),dict(name='div', attrs={'id':['share-email']})] no_javascript = True @@ -26,43 +26,45 @@ def parse_index(self): #Find date mag=soup.find('h2',text='Magazine') - self.log(mag) dates=self.tag_to_string(mag.findNext('h3')) self.timefmt = u' [%s]'%dates #Go to the main body - div0 = soup.find ('div', attrs={'class':'column left'}) + div0 = soup.find('div', attrs={'class':'column left'}) section_title = '' feeds = OrderedDict() - for div in div0.findAll(['h4','h5']): + for div in div0.findAll('a', attrs={'class': None}): articles = [] section_title = self.tag_to_string(div.findPrevious('h3')).strip() - title=self.tag_to_string(div.a).strip() - url=div.a['href'] + title=self.tag_to_string(div).strip() + url=div['href'] soup0 = self.index_to_soup(url) - urlprint=soup0.find('a', attrs={'href':re.compile('.*printer.*')})['href'] - articles.append({'title':title, 'url':urlprint, 'description':'', 'date':''}) - + urlprint=soup0.find('a', attrs={'href':re.compile('.*printer.*')}) + if urlprint is not None: + url=urlprint['href'] + articles.append({'title':title, 'url':url, 'description':'', 'date':''}) if articles: if section_title not in feeds: feeds[section_title] = [] feeds[section_title] += articles - div1 = soup.find ('div', attrs={'class':'column center'}) + div1 = soup.find('div', attrs={'class':'column center'}) section_title = '' - for div in div1.findAll(['h4','h5']): + for div in div1.findAll('a'): articles = [] desc=self.tag_to_string(div.findNext('p')).strip() section_title = self.tag_to_string(div.findPrevious('h3')).strip() - title=self.tag_to_string(div.a).strip() - url=div.a['href'] + title=self.tag_to_string(div).strip() + url=div['href'] soup0 = self.index_to_soup(url) - urlprint=soup0.find('a', attrs={'href':re.compile('.*printer.*')})['href'] - articles.append({'title':title, 'url':urlprint, 'description':desc, 'date':''}) - + urlprint=soup0.find('a', attrs={'href':re.compile('.*printer.*')}) + if urlprint is not None: + url=urlprint['href'] + articles.append({'title':title, 'url':url, 'description':desc, 'date':''}) if articles: if section_title not in feeds: feeds[section_title] = [] feeds[section_title] += articles + ans = [(key, val) for key, val in feeds.iteritems()] return ans diff --git a/recipes/diario_extra.recipe b/recipes/diario_extra.recipe new file mode 100644 index 0000000000..b7af9d0b2f --- /dev/null +++ b/recipes/diario_extra.recipe @@ -0,0 +1,47 @@ +from calibre.web.feeds.news import BasicNewsRecipe + + +class goonews(BasicNewsRecipe): + __author__ = 'Douglas Delgado' + title = u'Diario Extra' + publisher = 'Sociedad Periodistica Extra Limitada' + description = 'Diario de circulacion nacional de Costa Rica.' + category = 'Spanish, Entertainment' + masthead_url = 'http://www.diarioextra.com/img/apariencia/logo.png' + + oldest_article = 7 + delay = 1 + max_articles_per_feed = 100 + auto_cleanup = True + encoding = 'utf-8' + language = 'es_CR' + use_embedded_content = False + remove_empty_feeds = True + remove_javascript = True + no_stylesheets = True + + feeds = [(u'Nacionales', + u'http://www.diarioextra.com/includes/rss_text.php?id=1'), + (u'Internacionales', + u'http://www.diarioextra.com/includes/rss_text.php?id=2'), + (u'Sucesos', + u'http://www.diarioextra.com/includes/rss_text.php?id=3'), + (u'Deportes', + u'http://www.diarioextra.com/includes/rss_text.php?id=6'), + (u'Espectaculos', + u'http://www.diarioextra.com/includes/rss_text.php?id=7'), + (u'Opinion', + u'http://www.diarioextra.com/includes/rss_text.php?id=4')] + + def get_cover_url(self): + index = 'http://kiosko.net/cr/np/cr_extra.html' + soup = self.index_to_soup(index) + for image in soup.findAll('img', src=True): + if image['src'].endswith('cr_extra.750.jpg'): + return image['src'] + return None + + extra_css = ''' + h1{font-family:Arial,Helvetica,sans-serif; font-weight:bold;font-size:30px;} + h2{font-family:Arial,Helvetica,sans-serif; font-weight:normal; font-style:italic; font-size:18px;} + ''' diff --git a/recipes/ecogeek.recipe b/recipes/ecogeek.recipe index ff7ff31925..484cb3e11f 100644 --- a/recipes/ecogeek.recipe +++ b/recipes/ecogeek.recipe @@ -11,22 +11,22 @@ class EcoGeek(BasicNewsRecipe): title = 'EcoGeek' __author__ = 'Darko Miletic' - description = 'EcoGeek - Technology for the Environment Blog Feed' + description = 'EcoGeek - Technology for the Environment Blog Feed' publisher = 'EcoGeek' language = 'en' category = 'news, ecology, blog' - oldest_article = 7 + oldest_article = 30 max_articles_per_feed = 100 no_stylesheets = True use_embedded_content = True - + html2lrf_options = [ '--comment', description , '--category', category , '--publisher', publisher ] - - html2epub_options = 'publisher="' + publisher + '"\ncomments="' + description + '"\ntags="' + category + '"' + html2epub_options = 'publisher="' + publisher + '"\ncomments="' + description + '"\ntags="' + category + '"' feeds = [(u'Posts', u'http://feeds2.feedburner.com/EcoGeek')] + diff --git a/recipes/financial_times_uk.recipe b/recipes/financial_times_uk.recipe index 8105a9777f..6aa926a076 100644 --- a/recipes/financial_times_uk.recipe +++ b/recipes/financial_times_uk.recipe @@ -1,7 +1,7 @@ __license__ = 'GPL v3' -__copyright__ = '2010-2012, Darko Miletic ' +__copyright__ = '2010-2013, Darko Miletic ' ''' -www.ft.com/uk-edition +www.ft.com/intl/uk-edition ''' import datetime @@ -29,7 +29,7 @@ class FinancialTimes(BasicNewsRecipe): masthead_url = 'http://im.media.ft.com/m/img/masthead_main.jpg' LOGIN = 'https://registration.ft.com/registration/barrier/login' LOGIN2 = 'http://media.ft.com/h/subs3.html' - INDEX = 'http://www.ft.com/uk-edition' + INDEX = 'http://www.ft.com/intl/uk-edition' PREFIX = 'http://www.ft.com' conversion_options = { diff --git a/recipes/financial_times_us.recipe b/recipes/financial_times_us.recipe index 3821e5ea0e..7d8eed92f9 100644 --- a/recipes/financial_times_us.recipe +++ b/recipes/financial_times_us.recipe @@ -1,20 +1,21 @@ __license__ = 'GPL v3' -__copyright__ = '2013, Darko Miletic ' +__copyright__ = '2010-2013, Darko Miletic ' ''' -http://www.ft.com/intl/us-edition +www.ft.com/intl/international-edition ''' import datetime from calibre.ptempfile import PersistentTemporaryFile from calibre import strftime from calibre.web.feeds.news import BasicNewsRecipe +from collections import OrderedDict class FinancialTimes(BasicNewsRecipe): - title = 'Financial Times (US) printed edition' + title = 'Financial Times (International) printed edition' __author__ = 'Darko Miletic' description = "The Financial Times (FT) is one of the world's leading business news and information organisations, recognised internationally for its authority, integrity and accuracy." publisher = 'The Financial Times Ltd.' - category = 'news, finances, politics, UK, World' + category = 'news, finances, politics, World' oldest_article = 2 language = 'en' max_articles_per_feed = 250 @@ -28,7 +29,7 @@ class FinancialTimes(BasicNewsRecipe): masthead_url = 'http://im.media.ft.com/m/img/masthead_main.jpg' LOGIN = 'https://registration.ft.com/registration/barrier/login' LOGIN2 = 'http://media.ft.com/h/subs3.html' - INDEX = 'http://www.ft.com/intl/us-edition' + INDEX = 'http://www.ft.com/intl/international-edition' PREFIX = 'http://www.ft.com' conversion_options = { @@ -93,7 +94,7 @@ def get_artlinks(self, elem): try: urlverified = self.browser.open_novisit(url).geturl() # resolve redirect. except: - continue + continue title = self.tag_to_string(item) date = strftime(self.timefmt) articles.append({ @@ -105,29 +106,30 @@ def get_artlinks(self, elem): return articles def parse_index(self): - feeds = [] + feeds = OrderedDict() soup = self.index_to_soup(self.INDEX) - dates= self.tag_to_string(soup.find('div', attrs={'class':'btm-links'}).find('div')) - self.timefmt = ' [%s]'%dates - wide = soup.find('div',attrs={'class':'wide'}) - if not wide: - return feeds - allsections = wide.findAll(attrs={'class':lambda x: x and 'footwell' in x.split()}) - if not allsections: - return feeds - count = 0 - for item in allsections: - count = count + 1 - if self.test and count > 2: - return feeds - fitem = item.h3 - if not fitem: - fitem = item.h4 - ftitle = self.tag_to_string(fitem) - self.report_progress(0, _('Fetching feed')+' %s...'%(ftitle)) - feedarts = self.get_artlinks(item.ul) - feeds.append((ftitle,feedarts)) - return feeds + #dates= self.tag_to_string(soup.find('div', attrs={'class':'btm-links'}).find('div')) + #self.timefmt = ' [%s]'%dates + section_title = 'Untitled' + + for column in soup.findAll('div', attrs = {'class':'feedBoxes clearfix'}): + for section in column. findAll('div', attrs = {'class':'feedBox'}): + sectiontitle=self.tag_to_string(section.find('h4')) + if '...' not in sectiontitle: section_title=sectiontitle + for article in section.ul.findAll('li'): + articles = [] + title=self.tag_to_string(article.a) + url=article.a['href'] + articles.append({'title':title, 'url':url, 'description':'', 'date':''}) + + if articles: + if section_title not in feeds: + feeds[section_title] = [] + feeds[section_title] += articles + + + ans = [(key, val) for key, val in feeds.iteritems()] + return ans def preprocess_html(self, soup): items = ['promo-box','promo-title', @@ -174,9 +176,6 @@ def get_obfuscated_article(self, url): count += 1 tfile = PersistentTemporaryFile('_fa.html') tfile.write(html) - tfile.close() + tfile.close() self.temp_files.append(tfile) return tfile.name - - def cleanup(self): - self.browser.open('https://registration.ft.com/registration/login/logout?location=') \ No newline at end of file diff --git a/recipes/fronda.recipe b/recipes/fronda.recipe index 5ae78ae848..8372bb4d81 100644 --- a/recipes/fronda.recipe +++ b/recipes/fronda.recipe @@ -6,6 +6,7 @@ fronda.pl ''' +import re from calibre.web.feeds.news import BasicNewsRecipe from datetime import timedelta, date diff --git a/recipes/givemesomethingtoread.recipe b/recipes/givemesomethingtoread.recipe deleted file mode 100644 index 09b758536f..0000000000 --- a/recipes/givemesomethingtoread.recipe +++ /dev/null @@ -1,90 +0,0 @@ -import re -from calibre.web.feeds.news import BasicNewsRecipe - -class GiveMeSomethingToRead(BasicNewsRecipe): - title = u'Give Me Something To Read' - description = 'Curation / aggregation of articles on diverse topics' - language = 'en' - __author__ = 'barty on mobileread.com forum' - max_articles_per_feed = 100 - no_stylesheets = False - timefmt = ' [%a, %d %b, %Y]' - oldest_article = 365 - auto_cleanup = True - INDEX = 'http://givemesomethingtoread.com' - CATEGORIES = [ - # comment out categories you don't want - # (user friendly name, system name, max number of articles to load) - ('The Arts','arts',25), - ('Science','science',30), - ('Technology','technology',30), - ('Politics','politics',20), - ('Media','media',30), - ('Crime','crime',15), - ('Other articles','',10) - ] - - def parse_index(self): - self.cover_url = 'http://thegretchenshow.files.wordpress.com/2009/12/well-read-cat-small.jpg' - feeds = [] - seen_urls = set([]) - regex = re.compile( r'http://(www\.)?([^/:]+)', re.I) - - for category in self.CATEGORIES: - - (cat_name, tag, max_articles) = category - - tagurl = '' if tag=='' else '/tagged/'+tag - self.log('Reading category:', cat_name) - - articles = [] - pageno = 1 - - while len(articles) < max_articles and pageno < 100: - - page = "%s%s/page/%d" % (self.INDEX, tagurl, pageno) if pageno > 1 else self.INDEX + tagurl - pageno += 1 - - self.log('\tReading page:', page) - try: - soup = self.index_to_soup(page) - except: - break - - headers = soup.findAll('h2') - if len(headers) == .0: - break - - for header in headers: - atag = header.find('a') - url = atag['href'] - # skip promotionals and duplicate - if url.startswith('http://givemesomethingtoread') or url.startswith('/') or url in seen_urls: - continue - seen_urls.add(url) - title = self.tag_to_string(header) - self.log('\tFound article:', title) - #self.log('\t', url) - desc = header.parent.find('blockquote') - desc = self.tag_to_string(desc) if desc else '' - m = regex.match( url) - if m: - desc = "[%s] %s" % (m.group(2), desc) - #self.log('\t', desc) - date = '' - p = header.parent.previousSibling - # navigate up to find h3, which contains the date - while p: - if hasattr(p,'name') and p.name == 'h3': - date = self.tag_to_string(p) - break - p = p.previousSibling - articles.append({'title':title,'url':url,'description':desc,'date':date}) - if len(articles) >= max_articles: - break - - if articles: - feeds.append((cat_name, articles)) - - return feeds - diff --git a/recipes/go_comics.recipe b/recipes/go_comics.recipe index 7062c0913d..109d3568ea 100644 --- a/recipes/go_comics.recipe +++ b/recipes/go_comics.recipe @@ -1,448 +1,229 @@ -#!/usr/bin/env python - -__license__ = 'GPL v3' -__copyright__ = 'Copyright 2010 Starson17' -''' -www.gocomics.com -''' from calibre.web.feeds.news import BasicNewsRecipe -import mechanize, re -class GoComics(BasicNewsRecipe): - title = 'GoComics' + +class Comics(BasicNewsRecipe): + title = 'Comics.com' __author__ = 'Starson17' - __version__ = '1.06' - __date__ = '07 June 2011' - description = u'200+ Comics - Customize for more days/comics: Defaults to 7 days, 25 comics - 20 general, 5 editorial.' - category = 'news, comics' + description = 'Comics from comics.com. You should customize this recipe to fetch only the comics you are interested in' language = 'en' use_embedded_content= False no_stylesheets = True + oldest_article = 24 remove_javascript = True - cover_url = 'http://paulbuckley14059.files.wordpress.com/2008/06/calvin-and-hobbes.jpg' - remove_attributes = ['style'] - - ####### USER PREFERENCES - COMICS, IMAGE SIZE AND NUMBER OF COMICS TO RETRIEVE ######## - # num_comics_to_get - I've tried up to 99 on Calvin&Hobbes + cover_url = 'http://www.bsb.lib.tx.us/images/comics.com.gif' + recursions = 0 + max_articles_per_feed = 10 num_comics_to_get = 7 - # comic_size 300 is small, 600 is medium, 900 is large, 1500 is extra-large - comic_size = 900 - # CHOOSE COMIC STRIPS BELOW - REMOVE COMMENT '# ' FROM IN FRONT OF DESIRED STRIPS - # Please do not overload their servers by selecting all comics and 1000 strips from each! + simultaneous_downloads = 1 + # delay = 3 - conversion_options = {'linearize_tables' : True - , 'comment' : description - , 'tags' : category - , 'language' : language - } - - keep_only_tags = [dict(name='div', attrs={'class':['feature','banner']}), + keep_only_tags = [dict(name='h1'), + dict(name='p', attrs={'class':'feature_item'}) ] - remove_tags = [dict(name='a', attrs={'class':['beginning','prev','cal','next','newest']}), - dict(name='div', attrs={'class':['tag-wrapper']}), - dict(name='a', attrs={'href':re.compile(r'.*mutable_[0-9]+', re.IGNORECASE)}), - dict(name='img', attrs={'src':re.compile(r'.*mutable_[0-9]+', re.IGNORECASE)}), - dict(name='ul', attrs={'class':['share-nav','feature-nav']}), - ] - - def get_browser(self): - br = BasicNewsRecipe.get_browser(self) - cookies = mechanize.CookieJar() - br = mechanize.build_opener(mechanize.HTTPCookieProcessor(cookies)) - br.addheaders = [('Referer','http://www.gocomics.com/')] - return br - def parse_index(self): feeds = [] for title, url in [ - (u"2 Cows and a Chicken", u"http://www.gocomics.com/2cowsandachicken"), - #(u"9 Chickweed Lane", u"http://www.gocomics.com/9chickweedlane"), - (u"9 to 5", u"http://www.gocomics.com/9to5"), - #(u"Adam At Home", u"http://www.gocomics.com/adamathome"), - (u"Agnes", u"http://www.gocomics.com/agnes"), - #(u"Alley Oop", u"http://www.gocomics.com/alleyoop"), - #(u"Andy Capp", u"http://www.gocomics.com/andycapp"), - #(u"Animal Crackers", u"http://www.gocomics.com/animalcrackers"), - #(u"Annie", u"http://www.gocomics.com/annie"), - #(u"Arlo & Janis", u"http://www.gocomics.com/arloandjanis"), - #(u"Ask Shagg", u"http://www.gocomics.com/askshagg"), - (u"B.C.", u"http://www.gocomics.com/bc"), - #(u"Back in the Day", u"http://www.gocomics.com/backintheday"), - #(u"Bad Reporter", u"http://www.gocomics.com/badreporter"), - #(u"Baldo", u"http://www.gocomics.com/baldo"), - #(u"Ballard Street", u"http://www.gocomics.com/ballardstreet"), - #(u"Barkeater Lake", u"http://www.gocomics.com/barkeaterlake"), - #(u"Basic Instructions", u"http://www.gocomics.com/basicinstructions"), - #(u"Ben", u"http://www.gocomics.com/ben"), - #(u"Betty", u"http://www.gocomics.com/betty"), - #(u"Bewley", u"http://www.gocomics.com/bewley"), - #(u"Big Nate", u"http://www.gocomics.com/bignate"), - #(u"Big Top", u"http://www.gocomics.com/bigtop"), - #(u"Biographic", u"http://www.gocomics.com/biographic"), - #(u"Birdbrains", u"http://www.gocomics.com/birdbrains"), - #(u"Bleeker: The Rechargeable Dog", u"http://www.gocomics.com/bleeker"), - #(u"Bliss", u"http://www.gocomics.com/bliss"), - (u"Bloom County", u"http://www.gocomics.com/bloomcounty"), - #(u"Bo Nanas", u"http://www.gocomics.com/bonanas"), - #(u"Bob the Squirrel", u"http://www.gocomics.com/bobthesquirrel"), - #(u"Boomerangs", u"http://www.gocomics.com/boomerangs"), - #(u"Bottomliners", u"http://www.gocomics.com/bottomliners"), - #(u"Bound and Gagged", u"http://www.gocomics.com/boundandgagged"), - #(u"Brainwaves", u"http://www.gocomics.com/brainwaves"), - #(u"Brenda Starr", u"http://www.gocomics.com/brendastarr"), - #(u"Brevity", u"http://www.gocomics.com/brevity"), - #(u"Brewster Rockit", u"http://www.gocomics.com/brewsterrockit"), - #(u"Broom Hilda", u"http://www.gocomics.com/broomhilda"), - (u"Calvin and Hobbes", u"http://www.gocomics.com/calvinandhobbes"), - #(u"Candorville", u"http://www.gocomics.com/candorville"), - #(u"Cathy", u"http://www.gocomics.com/cathy"), - #(u"C'est la Vie", u"http://www.gocomics.com/cestlavie"), - #(u"Cheap Thrills", u"http://www.gocomics.com/cheapthrills"), - #(u"Chuckle Bros", u"http://www.gocomics.com/chucklebros"), - #(u"Citizen Dog", u"http://www.gocomics.com/citizendog"), - #(u"Cleats", u"http://www.gocomics.com/cleats"), - #(u"Close to Home", u"http://www.gocomics.com/closetohome"), - #(u"Committed", u"http://www.gocomics.com/committed"), - #(u"Compu-toon", u"http://www.gocomics.com/compu-toon"), - #(u"Cornered", u"http://www.gocomics.com/cornered"), - #(u"Cow & Boy", u"http://www.gocomics.com/cow&boy"), - #(u"Cul de Sac", u"http://www.gocomics.com/culdesac"), - #(u"Daddy's Home", u"http://www.gocomics.com/daddyshome"), - #(u"Deep Cover", u"http://www.gocomics.com/deepcover"), - #(u"Dick Tracy", u"http://www.gocomics.com/dicktracy"), - (u"Dog Eat Doug", u"http://www.gocomics.com/dogeatdoug"), - #(u"Domestic Abuse", u"http://www.gocomics.com/domesticabuse"), - (u"Doodles", u"http://www.gocomics.com/doodles"), - (u"Doonesbury", u"http://www.gocomics.com/doonesbury"), - #(u"Drabble", u"http://www.gocomics.com/drabble"), - #(u"Eek!", u"http://www.gocomics.com/eek"), - #(u"F Minus", u"http://www.gocomics.com/fminus"), - #(u"Family Tree", u"http://www.gocomics.com/familytree"), - #(u"Farcus", u"http://www.gocomics.com/farcus"), - (u"Fat Cats Classics", u"http://www.gocomics.com/fatcatsclassics"), - #(u"Ferd'nand", u"http://www.gocomics.com/ferdnand"), - #(u"Flight Deck", u"http://www.gocomics.com/flightdeck"), - (u"Flo and Friends", u"http://www.gocomics.com/floandfriends"), - #(u"For Better or For Worse", u"http://www.gocomics.com/forbetterorforworse"), - #(u"For Heaven's Sake", u"http://www.gocomics.com/forheavenssake"), - #(u"Fort Knox", u"http://www.gocomics.com/fortknox"), - #(u"FoxTrot Classics", u"http://www.gocomics.com/foxtrotclassics"), - (u"FoxTrot", u"http://www.gocomics.com/foxtrot"), - #(u"Frank & Ernest", u"http://www.gocomics.com/frankandernest"), - #(u"Frazz", u"http://www.gocomics.com/frazz"), - #(u"Fred Basset", u"http://www.gocomics.com/fredbasset"), - #(u"Free Range", u"http://www.gocomics.com/freerange"), - #(u"Frog Applause", u"http://www.gocomics.com/frogapplause"), - #(u"Garfield Minus Garfield", u"http://www.gocomics.com/garfieldminusgarfield"), - (u"Garfield", u"http://www.gocomics.com/garfield"), - #(u"Gasoline Alley", u"http://www.gocomics.com/gasolinealley"), - #(u"Geech Classics", u"http://www.gocomics.com/geechclassics"), - #(u"Get Fuzzy", u"http://www.gocomics.com/getfuzzy"), - #(u"Gil Thorp", u"http://www.gocomics.com/gilthorp"), - #(u"Ginger Meggs", u"http://www.gocomics.com/gingermeggs"), - #(u"Girls & Sports", u"http://www.gocomics.com/girlsandsports"), - #(u"Graffiti", u"http://www.gocomics.com/graffiti"), - #(u"Grand Avenue", u"http://www.gocomics.com/grandavenue"), - #(u"Haiku Ewe", u"http://www.gocomics.com/haikuewe"), - #(u"Heart of the City", u"http://www.gocomics.com/heartofthecity"), - (u"Heathcliff", u"http://www.gocomics.com/heathcliff"), - #(u"Herb and Jamaal", u"http://www.gocomics.com/herbandjamaal"), - #(u"Herman", u"http://www.gocomics.com/herman"), - #(u"Home and Away", u"http://www.gocomics.com/homeandaway"), - #(u"Housebroken", u"http://www.gocomics.com/housebroken"), - #(u"Hubert and Abby", u"http://www.gocomics.com/hubertandabby"), - #(u"Imagine This", u"http://www.gocomics.com/imaginethis"), - #(u"In the Bleachers", u"http://www.gocomics.com/inthebleachers"), - #(u"In the Sticks", u"http://www.gocomics.com/inthesticks"), - #(u"Ink Pen", u"http://www.gocomics.com/inkpen"), - #(u"It's All About You", u"http://www.gocomics.com/itsallaboutyou"), - #(u"Jane's World", u"http://www.gocomics.com/janesworld"), - #(u"Joe Vanilla", u"http://www.gocomics.com/joevanilla"), - #(u"Jump Start", u"http://www.gocomics.com/jumpstart"), - #(u"Kit 'N' Carlyle", u"http://www.gocomics.com/kitandcarlyle"), - #(u"La Cucaracha", u"http://www.gocomics.com/lacucaracha"), - #(u"Last Kiss", u"http://www.gocomics.com/lastkiss"), - #(u"Legend of Bill", u"http://www.gocomics.com/legendofbill"), - #(u"Liberty Meadows", u"http://www.gocomics.com/libertymeadows"), - #(u"Li'l Abner Classics", u"http://www.gocomics.com/lilabnerclassics"), - #(u"Lio", u"http://www.gocomics.com/lio"), - #(u"Little Dog Lost", u"http://www.gocomics.com/littledoglost"), - #(u"Little Otto", u"http://www.gocomics.com/littleotto"), - #(u"Lola", u"http://www.gocomics.com/lola"), - #(u"Loose Parts", u"http://www.gocomics.com/looseparts"), - #(u"Love Is...", u"http://www.gocomics.com/loveis"), - #(u"Luann", u"http://www.gocomics.com/luann"), - #(u"Maintaining", u"http://www.gocomics.com/maintaining"), - (u"Marmaduke", u"http://www.gocomics.com/marmaduke"), - #(u"Meg! Classics", u"http://www.gocomics.com/megclassics"), - #(u"Middle-Aged White Guy", u"http://www.gocomics.com/middleagedwhiteguy"), - #(u"Minimum Security", u"http://www.gocomics.com/minimumsecurity"), - #(u"Moderately Confused", u"http://www.gocomics.com/moderatelyconfused"), - (u"Momma", u"http://www.gocomics.com/momma"), - #(u"Monty", u"http://www.gocomics.com/monty"), - #(u"Motley Classics", u"http://www.gocomics.com/motleyclassics"), - (u"Mutt & Jeff", u"http://www.gocomics.com/muttandjeff"), - #(u"Mythtickle", u"http://www.gocomics.com/mythtickle"), - #(u"Nancy", u"http://www.gocomics.com/nancy"), - #(u"Natural Selection", u"http://www.gocomics.com/naturalselection"), - #(u"Nest Heads", u"http://www.gocomics.com/nestheads"), - #(u"NEUROTICA", u"http://www.gocomics.com/neurotica"), - #(u"New Adventures of Queen Victoria", u"http://www.gocomics.com/thenewadventuresofqueenvictoria"), - #(u"Non Sequitur", u"http://www.gocomics.com/nonsequitur"), - #(u"Off The Mark", u"http://www.gocomics.com/offthemark"), - #(u"On A Claire Day", u"http://www.gocomics.com/onaclaireday"), - #(u"One Big Happy Classics", u"http://www.gocomics.com/onebighappyclassics"), - #(u"One Big Happy", u"http://www.gocomics.com/onebighappy"), - #(u"Out of the Gene Pool Re-Runs", u"http://www.gocomics.com/outofthegenepool"), - #(u"Over the Hedge", u"http://www.gocomics.com/overthehedge"), - #(u"Overboard", u"http://www.gocomics.com/overboard"), - #(u"PC and Pixel", u"http://www.gocomics.com/pcandpixel"), - (u"Peanuts", u"http://www.gocomics.com/peanuts"), - #(u"Pearls Before Swine", u"http://www.gocomics.com/pearlsbeforeswine"), - #(u"Pibgorn Sketches", u"http://www.gocomics.com/pibgornsketches"), - #(u"Pibgorn", u"http://www.gocomics.com/pibgorn"), - (u"Pickles", u"http://www.gocomics.com/pickles"), - #(u"Pinkerton", u"http://www.gocomics.com/pinkerton"), - #(u"Pluggers", u"http://www.gocomics.com/pluggers"), - #(u"Pooch Cafe", u"http://www.gocomics.com/poochcafe"), - #(u"PreTeena", u"http://www.gocomics.com/preteena"), - #(u"Prickly City", u"http://www.gocomics.com/pricklycity"), - #(u"Rabbits Against Magic", u"http://www.gocomics.com/rabbitsagainstmagic"), - #(u"Raising Duncan Classics", u"http://www.gocomics.com/raisingduncanclassics"), - #(u"Real Life Adventures", u"http://www.gocomics.com/reallifeadventures"), - #(u"Reality Check", u"http://www.gocomics.com/realitycheck"), - #(u"Red and Rover", u"http://www.gocomics.com/redandrover"), - #(u"Red Meat", u"http://www.gocomics.com/redmeat"), - #(u"Reynolds Unwrapped", u"http://www.gocomics.com/reynoldsunwrapped"), - #(u"Rip Haywire", u"http://www.gocomics.com/riphaywire"), - #(u"Ripley's Believe It or Not!", u"http://www.gocomics.com/ripleysbelieveitornot"), - #(u"Ronaldinho Gaucho", u"http://www.gocomics.com/ronaldinhogaucho"), - #(u"Rose Is Rose", u"http://www.gocomics.com/roseisrose"), - #(u"Rubes", u"http://www.gocomics.com/rubes"), - #(u"Rudy Park", u"http://www.gocomics.com/rudypark"), - #(u"Scary Gary", u"http://www.gocomics.com/scarygary"), - #(u"Shirley and Son Classics", u"http://www.gocomics.com/shirleyandsonclassics"), - #(u"Shoe", u"http://www.gocomics.com/shoe"), - #(u"Shoecabbage", u"http://www.gocomics.com/shoecabbage"), - #(u"Skin Horse", u"http://www.gocomics.com/skinhorse"), - #(u"Slowpoke", u"http://www.gocomics.com/slowpoke"), - #(u"Soup To Nutz", u"http://www.gocomics.com/souptonutz"), - #(u"Speed Bump", u"http://www.gocomics.com/speedbump"), - #(u"Spot The Frog", u"http://www.gocomics.com/spotthefrog"), - #(u"State of the Union", u"http://www.gocomics.com/stateoftheunion"), - #(u"Stone Soup", u"http://www.gocomics.com/stonesoup"), - #(u"Strange Brew", u"http://www.gocomics.com/strangebrew"), - #(u"Sylvia", u"http://www.gocomics.com/sylvia"), - #(u"Tank McNamara", u"http://www.gocomics.com/tankmcnamara"), - #(u"Tarzan Classics", u"http://www.gocomics.com/tarzanclassics"), - #(u"That's Life", u"http://www.gocomics.com/thatslife"), - #(u"The Academia Waltz", u"http://www.gocomics.com/academiawaltz"), - #(u"The Argyle Sweater", u"http://www.gocomics.com/theargylesweater"), - #(u"The Barn", u"http://www.gocomics.com/thebarn"), - #(u"The Boiling Point", u"http://www.gocomics.com/theboilingpoint"), - #(u"The Boondocks", u"http://www.gocomics.com/boondocks"), - #(u"The Born Loser", u"http://www.gocomics.com/thebornloser"), - #(u"The Buckets", u"http://www.gocomics.com/thebuckets"), - #(u"The City", u"http://www.gocomics.com/thecity"), - #(u"The Dinette Set", u"http://www.gocomics.com/dinetteset"), - #(u"The Doozies", u"http://www.gocomics.com/thedoozies"), - #(u"The Duplex", u"http://www.gocomics.com/duplex"), - #(u"The Elderberries", u"http://www.gocomics.com/theelderberries"), - #(u"The Flying McCoys", u"http://www.gocomics.com/theflyingmccoys"), - #(u"The Fusco Brothers", u"http://www.gocomics.com/thefuscobrothers"), - #(u"The Grizzwells", u"http://www.gocomics.com/thegrizzwells"), - #(u"The Humble Stumble", u"http://www.gocomics.com/thehumblestumble"), - #(u"The Knight Life", u"http://www.gocomics.com/theknightlife"), - #(u"The Meaning of Lila", u"http://www.gocomics.com/meaningoflila"), - #(u"The Middletons", u"http://www.gocomics.com/themiddletons"), - #(u"The Norm", u"http://www.gocomics.com/thenorm"), - #(u"The Other Coast", u"http://www.gocomics.com/theothercoast"), - #(u"The Quigmans", u"http://www.gocomics.com/thequigmans"), - #(u"The Sunshine Club", u"http://www.gocomics.com/thesunshineclub"), - #(u"Tiny Sepuk", u"http://www.gocomics.com/tinysepuk"), - #(u"TOBY", u"http://www.gocomics.com/toby"), - #(u"Tom the Dancing Bug", u"http://www.gocomics.com/tomthedancingbug"), - #(u"Too Much Coffee Man", u"http://www.gocomics.com/toomuchcoffeeman"), - #(u"Unstrange Phenomena", u"http://www.gocomics.com/unstrangephenomena"), - #(u"W.T. Duck", u"http://www.gocomics.com/wtduck"), - #(u"Watch Your Head", u"http://www.gocomics.com/watchyourhead"), - #(u"Wee Pals", u"http://www.gocomics.com/weepals"), - #(u"Winnie the Pooh", u"http://www.gocomics.com/winniethepooh"), - #(u"Wizard of Id", u"http://www.gocomics.com/wizardofid"), - #(u"Working Daze", u"http://www.gocomics.com/workingdaze"), - #(u"Working It Out", u"http://www.gocomics.com/workingitout"), - #(u"Yenny", u"http://www.gocomics.com/yenny"), - #(u"Zack Hill", u"http://www.gocomics.com/zackhill"), - (u"Ziggy", u"http://www.gocomics.com/ziggy"), - # - ######## EDITORIAL CARTOONS ##################### - (u"Adam Zyglis", u"http://www.gocomics.com/adamzyglis"), - #(u"Andy Singer", u"http://www.gocomics.com/andysinger"), - #(u"Ben Sargent",u"http://www.gocomics.com/bensargent"), - #(u"Bill Day", u"http://www.gocomics.com/billday"), - #(u"Bill Schorr", u"http://www.gocomics.com/billschorr"), - #(u"Bob Englehart", u"http://www.gocomics.com/bobenglehart"), - (u"Bob Gorrell",u"http://www.gocomics.com/bobgorrell"), - #(u"Brian Fairrington", u"http://www.gocomics.com/brianfairrington"), - #(u"Bruce Beattie", u"http://www.gocomics.com/brucebeattie"), - #(u"Cam Cardow", u"http://www.gocomics.com/camcardow"), - #(u"Chan Lowe",u"http://www.gocomics.com/chanlowe"), - #(u"Chip Bok",u"http://www.gocomics.com/chipbok"), - #(u"Chris Britt",u"http://www.gocomics.com/chrisbritt"), - #(u"Chuck Asay",u"http://www.gocomics.com/chuckasay"), - #(u"Clay Bennett",u"http://www.gocomics.com/claybennett"), - #(u"Clay Jones",u"http://www.gocomics.com/clayjones"), - #(u"Dan Wasserman",u"http://www.gocomics.com/danwasserman"), - #(u"Dana Summers",u"http://www.gocomics.com/danasummers"), - #(u"Daryl Cagle", u"http://www.gocomics.com/darylcagle"), - #(u"David Fitzsimmons", u"http://www.gocomics.com/davidfitzsimmons"), - (u"Dick Locher",u"http://www.gocomics.com/dicklocher"), - #(u"Don Wright",u"http://www.gocomics.com/donwright"), - #(u"Donna Barstow",u"http://www.gocomics.com/donnabarstow"), - #(u"Drew Litton", u"http://www.gocomics.com/drewlitton"), - #(u"Drew Sheneman",u"http://www.gocomics.com/drewsheneman"), - #(u"Ed Stein", u"http://www.gocomics.com/edstein"), - #(u"Eric Allie", u"http://www.gocomics.com/ericallie"), - #(u"Gary Markstein", u"http://www.gocomics.com/garymarkstein"), - #(u"Gary McCoy", u"http://www.gocomics.com/garymccoy"), - #(u"Gary Varvel", u"http://www.gocomics.com/garyvarvel"), - #(u"Glenn McCoy",u"http://www.gocomics.com/glennmccoy"), - #(u"Henry Payne", u"http://www.gocomics.com/henrypayne"), - #(u"Jack Ohman",u"http://www.gocomics.com/jackohman"), - #(u"JD Crowe", u"http://www.gocomics.com/jdcrowe"), - #(u"Jeff Danziger",u"http://www.gocomics.com/jeffdanziger"), - #(u"Jeff Parker", u"http://www.gocomics.com/jeffparker"), - #(u"Jeff Stahler", u"http://www.gocomics.com/jeffstahler"), - #(u"Jerry Holbert", u"http://www.gocomics.com/jerryholbert"), - #(u"Jim Morin",u"http://www.gocomics.com/jimmorin"), - #(u"Joel Pett",u"http://www.gocomics.com/joelpett"), - #(u"John Cole", u"http://www.gocomics.com/johncole"), - #(u"John Darkow", u"http://www.gocomics.com/johndarkow"), - #(u"John Deering",u"http://www.gocomics.com/johndeering"), - #(u"John Sherffius", u"http://www.gocomics.com/johnsherffius"), - #(u"Ken Catalino",u"http://www.gocomics.com/kencatalino"), - #(u"Kerry Waghorn",u"http://www.gocomics.com/facesinthenews"), - #(u"Kevin Kallaugher",u"http://www.gocomics.com/kevinkallaugher"), - #(u"Lalo Alcaraz",u"http://www.gocomics.com/laloalcaraz"), - #(u"Larry Wright", u"http://www.gocomics.com/larrywright"), - #(u"Lisa Benson", u"http://www.gocomics.com/lisabenson"), - #(u"Marshall Ramsey", u"http://www.gocomics.com/marshallramsey"), - #(u"Matt Bors", u"http://www.gocomics.com/mattbors"), - #(u"Matt Davies",u"http://www.gocomics.com/mattdavies"), - #(u"Michael Ramirez", u"http://www.gocomics.com/michaelramirez"), - #(u"Mike Keefe", u"http://www.gocomics.com/mikekeefe"), - #(u"Mike Luckovich", u"http://www.gocomics.com/mikeluckovich"), - #(u"MIke Thompson", u"http://www.gocomics.com/mikethompson"), - #(u"Monte Wolverton", u"http://www.gocomics.com/montewolverton"), - #(u"Mr. Fish", u"http://www.gocomics.com/mrfish"), - #(u"Nate Beeler", u"http://www.gocomics.com/natebeeler"), - #(u"Nick Anderson", u"http://www.gocomics.com/nickanderson"), - #(u"Pat Bagley", u"http://www.gocomics.com/patbagley"), - #(u"Pat Oliphant",u"http://www.gocomics.com/patoliphant"), - #(u"Paul Conrad",u"http://www.gocomics.com/paulconrad"), - #(u"Paul Szep", u"http://www.gocomics.com/paulszep"), - #(u"RJ Matson", u"http://www.gocomics.com/rjmatson"), - #(u"Rob Rogers", u"http://www.gocomics.com/robrogers"), - #(u"Robert Ariail", u"http://www.gocomics.com/robertariail"), - #(u"Scott Stantis", u"http://www.gocomics.com/scottstantis"), - #(u"Signe Wilkinson", u"http://www.gocomics.com/signewilkinson"), - #(u"Small World",u"http://www.gocomics.com/smallworld"), - #(u"Steve Benson", u"http://www.gocomics.com/stevebenson"), - #(u"Steve Breen", u"http://www.gocomics.com/stevebreen"), - #(u"Steve Kelley", u"http://www.gocomics.com/stevekelley"), - #(u"Steve Sack", u"http://www.gocomics.com/stevesack"), - #(u"Stuart Carlson",u"http://www.gocomics.com/stuartcarlson"), - #(u"Ted Rall",u"http://www.gocomics.com/tedrall"), - #(u"(Th)ink", u"http://www.gocomics.com/think"), - #(u"Tom Toles",u"http://www.gocomics.com/tomtoles"), - (u"Tony Auth",u"http://www.gocomics.com/tonyauth"), - #(u"Views of the World",u"http://www.gocomics.com/viewsoftheworld"), - #(u"ViewsAfrica",u"http://www.gocomics.com/viewsafrica"), - #(u"ViewsAmerica",u"http://www.gocomics.com/viewsamerica"), - #(u"ViewsAsia",u"http://www.gocomics.com/viewsasia"), - #(u"ViewsBusiness",u"http://www.gocomics.com/viewsbusiness"), - #(u"ViewsEurope",u"http://www.gocomics.com/viewseurope"), - #(u"ViewsLatinAmerica",u"http://www.gocomics.com/viewslatinamerica"), - #(u"ViewsMidEast",u"http://www.gocomics.com/viewsmideast"), - (u"Walt Handelsman",u"http://www.gocomics.com/walthandelsman"), - #(u"Wayne Stayskal",u"http://www.gocomics.com/waynestayskal"), - #(u"Wit of the World",u"http://www.gocomics.com/witoftheworld"), - ]: - print 'Working on: ', title + ("9 Chickweed Lane", "http://gocomics.com/9_chickweed_lane"), + ("Agnes", "http://gocomics.com/agnes"), + ("Alley Oop", "http://gocomics.com/alley_oop"), + ("Andy Capp", "http://gocomics.com/andy_capp"), + ("Arlo & Janis", "http://gocomics.com/arlo&janis"), + ("B.C.", "http://gocomics.com/bc"), + ("Ballard Street", "http://gocomics.com/ballard_street"), + # ("Ben", "http://comics.com/ben"), + # ("Betty", "http://comics.com/betty"), + # ("Big Nate", "http://comics.com/big_nate"), + # ("Brevity", "http://comics.com/brevity"), + # ("Candorville", "http://comics.com/candorville"), + # ("Cheap Thrills", "http://comics.com/cheap_thrills"), + # ("Committed", "http://comics.com/committed"), + # ("Cow & Boy", "http://comics.com/cow&boy"), + # ("Daddy's Home", "http://comics.com/daddys_home"), + # ("Dog eat Doug", "http://comics.com/dog_eat_doug"), + # ("Drabble", "http://comics.com/drabble"), + # ("F Minus", "http://comics.com/f_minus"), + # ("Family Tree", "http://comics.com/family_tree"), + # ("Farcus", "http://comics.com/farcus"), + # ("Fat Cats Classics", "http://comics.com/fat_cats_classics"), + # ("Ferd'nand", "http://comics.com/ferdnand"), + # ("Flight Deck", "http://comics.com/flight_deck"), + # ("Flo & Friends", "http://comics.com/flo&friends"), + # ("Fort Knox", "http://comics.com/fort_knox"), + # ("Frank & Ernest", "http://comics.com/frank&ernest"), + # ("Frazz", "http://comics.com/frazz"), + # ("Free Range", "http://comics.com/free_range"), + # ("Geech Classics", "http://comics.com/geech_classics"), + # ("Get Fuzzy", "http://comics.com/get_fuzzy"), + # ("Girls & Sports", "http://comics.com/girls&sports"), + # ("Graffiti", "http://comics.com/graffiti"), + # ("Grand Avenue", "http://comics.com/grand_avenue"), + # ("Heathcliff", "http://comics.com/heathcliff"), + # "Heathcliff, a street-smart and mischievous cat with many adventures." + # ("Herb and Jamaal", "http://comics.com/herb_and_jamaal"), + # ("Herman", "http://comics.com/herman"), + # ("Home and Away", "http://comics.com/home_and_away"), + # ("It's All About You", "http://comics.com/its_all_about_you"), + # ("Jane's World", "http://comics.com/janes_world"), + # ("Jump Start", "http://comics.com/jump_start"), + # ("Kit 'N' Carlyle", "http://comics.com/kit_n_carlyle"), + # ("Li'l Abner Classics", "http://comics.com/lil_abner_classics"), + # ("Liberty Meadows", "http://comics.com/liberty_meadows"), + # ("Little Dog Lost", "http://comics.com/little_dog_lost"), + # ("Lola", "http://comics.com/lola"), + # ("Luann", "http://comics.com/luann"), + # ("Marmaduke", "http://comics.com/marmaduke"), + # ("Meg! Classics", "http://comics.com/meg_classics"), + # ("Minimum Security", "http://comics.com/minimum_security"), + # ("Moderately Confused", "http://comics.com/moderately_confused"), + # ("Momma", "http://comics.com/momma"), + # ("Monty", "http://comics.com/monty"), + # ("Motley Classics", "http://comics.com/motley_classics"), + # ("Nancy", "http://comics.com/nancy"), + # ("Natural Selection", "http://comics.com/natural_selection"), + # ("Nest Heads", "http://comics.com/nest_heads"), + # ("Off The Mark", "http://comics.com/off_the_mark"), + # ("On a Claire Day", "http://comics.com/on_a_claire_day"), + # ("One Big Happy Classics", "http://comics.com/one_big_happy_classics"), + # ("Over the Hedge", "http://comics.com/over_the_hedge"), + # ("PC and Pixel", "http://comics.com/pc_and_pixel"), + # ("Peanuts", "http://comics.com/peanuts"), + # ("Pearls Before Swine", "http://comics.com/pearls_before_swine"), + # ("Pickles", "http://comics.com/pickles"), + # ("Prickly City", "http://comics.com/prickly_city"), + # ("Raising Duncan Classics", "http://comics.com/raising_duncan_classics"), + # ("Reality Check", "http://comics.com/reality_check"), + # ("Red & Rover", "http://comics.com/red&rover"), + # ("Rip Haywire", "http://comics.com/rip_haywire"), + # ("Ripley's Believe It or Not!", "http://comics.com/ripleys_believe_it_or_not"), + # ("Rose Is Rose", "http://comics.com/rose_is_rose"), + # ("Rubes", "http://comics.com/rubes"), + # ("Rudy Park", "http://comics.com/rudy_park"), + # ("Scary Gary", "http://comics.com/scary_gary"), + # ("Shirley and Son Classics", "http://comics.com/shirley_and_son_classics"), + # ("Soup To Nutz", "http://comics.com/soup_to_nutz"), + # ("Speed Bump", "http://comics.com/speed_bump"), + # ("Spot The Frog", "http://comics.com/spot_the_frog"), + # ("State of the Union", "http://comics.com/state_of_the_union"), + # ("Strange Brew", "http://comics.com/strange_brew"), + # ("Tarzan Classics", "http://comics.com/tarzan_classics"), + # ("That's Life", "http://comics.com/thats_life"), + # ("The Barn", "http://comics.com/the_barn"), + # ("The Born Loser", "http://comics.com/the_born_loser"), + # ("The Buckets", "http://comics.com/the_buckets"), + # ("The Dinette Set", "http://comics.com/the_dinette_set"), + # ("The Grizzwells", "http://comics.com/the_grizzwells"), + # ("The Humble Stumble", "http://comics.com/the_humble_stumble"), + # ("The Knight Life", "http://comics.com/the_knight_life"), + # ("The Meaning of Lila", "http://comics.com/the_meaning_of_lila"), + # ("The Other Coast", "http://comics.com/the_other_coast"), + # ("The Sunshine Club", "http://comics.com/the_sunshine_club"), + # ("Unstrange Phenomena", "http://comics.com/unstrange_phenomena"), + # ("Watch Your Head", "http://comics.com/watch_your_head"), + # ("Wizard of Id", "http://comics.com/wizard_of_id"), + # ("Working Daze", "http://comics.com/working_daze"), + # ("Working It Out", "http://comics.com/working_it_out"), + # ("Zack Hill", "http://comics.com/zack_hill"), + # ("(Th)ink", "http://comics.com/think"), + # "Tackling the political and social issues impacting communities of color." + # ("Adam Zyglis", "http://comics.com/adam_zyglis"), + # "Known for his excellent caricatures, as well as independent and incisive imagery. " + # ("Andy Singer", "http://comics.com/andy_singer"), + # ("Bill Day", "http://comics.com/bill_day"), + # "Powerful images on sensitive issues." + # ("Bill Schorr", "http://comics.com/bill_schorr"), + # ("Bob Englehart", "http://comics.com/bob_englehart"), + # ("Brian Fairrington", "http://comics.com/brian_fairrington"), + # ("Bruce Beattie", "http://comics.com/bruce_beattie"), + # ("Cam Cardow", "http://comics.com/cam_cardow"), + # ("Chip Bok", "http://comics.com/chip_bok"), + # ("Chris Britt", "http://comics.com/chris_britt"), + # ("Chuck Asay", "http://comics.com/chuck_asay"), + # ("Clay Bennett", "http://comics.com/clay_bennett"), + # ("Daryl Cagle", "http://comics.com/daryl_cagle"), + # ("David Fitzsimmons", "http://comics.com/david_fitzsimmons"), + # "David Fitzsimmons is a new editorial cartoons on comics.com. He is also a staff writer and editorial cartoonist for the Arizona Daily Star. " + # ("Drew Litton", "http://comics.com/drew_litton"), + # "Drew Litton is an artist who is probably best known for his sports cartoons. He received the National Cartoonist Society Sports Cartoon Award for 1993. " + # ("Ed Stein", "http://comics.com/ed_stein"), + # "Winner of the Fischetti Award in 2006 and the Scripps Howard National Journalism Award, 1999, Ed Stein has been the editorial cartoonist for the Rocky Mountain News since 1978. " + # ("Eric Allie", "http://comics.com/eric_allie"), + # "Eric Allie is an editorial cartoonist with the Pioneer Press and CNS News. " + # ("Gary Markstein", "http://comics.com/gary_markstein"), + # ("Gary McCoy", "http://comics.com/gary_mccoy"), + # "Gary McCoy is known for his editorial cartoons, humor and inane ramblings. He is a 2 time nominee for Best Magazine Cartoonist of the Year by the National Cartoonists Society. He resides in Belleville, IL. " + # ("Gary Varvel", "http://comics.com/gary_varvel"), + # ("Henry Payne", "http://comics.com/henry_payne"), + # ("JD Crowe", "http://comics.com/jd_crowe"), + # ("Jeff Parker", "http://comics.com/jeff_parker"), + # ("Jeff Stahler", "http://comics.com/jeff_stahler"), + # ("Jerry Holbert", "http://comics.com/jerry_holbert"), + # ("John Cole", "http://comics.com/john_cole"), + # ("John Darkow", "http://comics.com/john_darkow"), + # "John Darkow is a contributing editorial cartoonist for the Humor Times as well as editoiral cartoonist for the Columbia Daily Tribune, Missouri" + # ("John Sherffius", "http://comics.com/john_sherffius"), + # ("Larry Wright", "http://comics.com/larry_wright"), + # ("Lisa Benson", "http://comics.com/lisa_benson"), + # ("Marshall Ramsey", "http://comics.com/marshall_ramsey"), + # ("Matt Bors", "http://comics.com/matt_bors"), + # ("Michael Ramirez", "http://comics.com/michael_ramirez"), + # ("Mike Keefe", "http://comics.com/mike_keefe"), + # ("Mike Luckovich", "http://comics.com/mike_luckovich"), + # ("MIke Thompson", "http://comics.com/mike_thompson"), + # ("Monte Wolverton", "http://comics.com/monte_wolverton"), + # "Unique mix of perspectives" + # ("Mr. Fish", "http://comics.com/mr_fish"), + # "Side effects may include swelling" + # ("Nate Beeler", "http://comics.com/nate_beeler"), + # "Middle America meets the Beltway." + # ("Nick Anderson", "http://comics.com/nick_anderson"), + # ("Pat Bagley", "http://comics.com/pat_bagley"), + # "Unfair and Totally Unbalanced." + # ("Paul Szep", "http://comics.com/paul_szep"), + # ("RJ Matson", "http://comics.com/rj_matson"), + # "Power cartoons from NYC and Capitol Hill" + # ("Rob Rogers", "http://comics.com/rob_rogers"), + # "Humorous slant on current events" + # ("Robert Ariail", "http://comics.com/robert_ariail"), + # "Clever and unpredictable" + # ("Scott Stantis", "http://comics.com/scott_stantis"), + # ("Signe Wilkinson", "http://comics.com/signe_wilkinson"), + # ("Steve Benson", "http://comics.com/steve_benson"), + # ("Steve Breen", "http://comics.com/steve_breen"), + # ("Steve Kelley", "http://comics.com/steve_kelley"), + # ("Steve Sack", "http://comics.com/steve_sack"), + ]: articles = self.make_links(url) if articles: feeds.append((title, articles)) return feeds def make_links(self, url): - title = 'Temp' + soup = self.index_to_soup(url) + # print 'soup: ', soup + title = '' current_articles = [] - pages = range(1, self.num_comics_to_get+1) - for page in pages: - page_soup = self.index_to_soup(url) - if page_soup: - try: - strip_title = page_soup.find(name='div', attrs={'class':'top'}).h1.a.string - except: - strip_title = 'Error - no Title found' - try: - date_title = page_soup.find('ul', attrs={'class': 'feature-nav'}).li.string - if not date_title: - date_title = page_soup.find('ul', attrs={'class': 'feature-nav'}).li.string - except: - date_title = 'Error - no Date found' - title = strip_title + ' - ' + date_title - for i in range(2): - try: - strip_url_date = page_soup.find(name='div', attrs={'class':'top'}).h1.a['href'] - break #success - this is normal exit - except: - strip_url_date = None - continue #try to get strip_url_date again - for i in range(2): - try: - prev_strip_url_date = page_soup.find('a', attrs={'class': 'prev'})['href'] - break #success - this is normal exit - except: - prev_strip_url_date = None - continue #try to get prev_strip_url_date again - if strip_url_date: - page_url = 'http://www.gocomics.com' + strip_url_date - else: - continue - if prev_strip_url_date: - prev_page_url = 'http://www.gocomics.com' + prev_strip_url_date - else: - continue + from datetime import datetime, timedelta + now = datetime.now() + dates = [(now-timedelta(days=d)).strftime('%Y/%m/%d') for d in range(self.num_comics_to_get)] + + for page in dates: + page_url = url + '/' + str(page) + print(page_url) + soup = self.index_to_soup(page_url) + if soup: + strip_tag = self.tag_to_string(soup.find('a')) + if strip_tag: + print 'strip_tag: ', strip_tag + title = strip_tag + print 'title: ', title current_articles.append({'title': title, 'url': page_url, 'description':'', 'date':''}) - url = prev_page_url current_articles.reverse() return current_articles - def preprocess_html(self, soup): - if soup.title: - title_string = soup.title.string.strip() - _cd = title_string.split(',',1)[1] - comic_date = ' '.join(_cd.split(' ', 4)[0:-1]) - if soup.h1.span: - artist = soup.h1.span.string - soup.h1.span.string.replaceWith(comic_date + artist) - feature_item = soup.find('p',attrs={'class':'feature_item'}) - if feature_item.a: - a_tag = feature_item.a - a_href = a_tag["href"] - img_tag = a_tag.img - img_tag["src"] = a_href - img_tag["width"] = self.comic_size - img_tag["height"] = None - return self.adeify_images(soup) - extra_css = ''' h1{font-family:Arial,Helvetica,sans-serif; font-weight:bold;font-size:large;} h2{font-family:Arial,Helvetica,sans-serif; font-weight:normal;font-size:small;} - img {max-width:100%; min-width:100%;} p{font-family:Arial,Helvetica,sans-serif;font-size:small;} body{font-family:Helvetica,Arial,sans-serif;font-size:small;} - ''' - + ''' diff --git a/recipes/independent.recipe b/recipes/independent.recipe index 43f0f9acde..fc6bacce57 100644 --- a/recipes/independent.recipe +++ b/recipes/independent.recipe @@ -41,6 +41,7 @@ class TheIndependentNew(BasicNewsRecipe): publication_type = 'newspaper' masthead_url = 'http://www.independent.co.uk/independent.co.uk/editorial/logo/independent_Masthead.png' encoding = 'utf-8' + compress_news_images = True remove_tags =[ dict(attrs={'id' : ['RelatedArtTag','renderBiography']}), dict(attrs={'class' : ['autoplay','openBiogPopup']}), @@ -343,7 +344,7 @@ def postprocess_html(self,soup, first_fetch): if 'class' in subtitle_div: clazz = subtitle_div['class'] + ' ' clazz = clazz + 'subtitle' - subtitle_div['class'] = clazz + subtitle_div['class'] = clazz #find broken images and remove captions items_to_extract = [] diff --git a/recipes/io9.recipe b/recipes/io9.recipe index 086176e947..dc21866fd2 100644 --- a/recipes/io9.recipe +++ b/recipes/io9.recipe @@ -16,14 +16,15 @@ class i09(BasicNewsRecipe): max_articles_per_feed = 100 no_stylesheets = True encoding = 'utf-8' - use_embedded_content = True + use_embedded_content = False + auto_cleanup = True language = 'en' masthead_url = 'http://cache.gawkerassets.com/assets/io9.com/img/logo.png' extra_css = ''' - body{font-family: "Lucida Grande",Helvetica,Arial,sans-serif} - img{margin-bottom: 1em} - h1{font-family :Arial,Helvetica,sans-serif; font-size:large} - ''' + body{font-family: "Lucida Grande",Helvetica,Arial,sans-serif} + img{margin-bottom: 1em} + h1{font-family :Arial,Helvetica,sans-serif; font-size:large} + ''' conversion_options = { 'comment' : description , 'tags' : category @@ -33,10 +34,6 @@ class i09(BasicNewsRecipe): feeds = [(u'Articles', u'http://feeds.gawker.com/io9/vip?format=xml')] - remove_tags = [ - {'class': 'feedflare'}, - ] - def preprocess_html(self, soup): return self.adeify_images(soup) diff --git a/recipes/lightspeed_magazine.recipe b/recipes/lightspeed_magazine.recipe new file mode 100644 index 0000000000..ab20f81387 --- /dev/null +++ b/recipes/lightspeed_magazine.recipe @@ -0,0 +1,11 @@ +from calibre.web.feeds.news import BasicNewsRecipe + +class AdvancedUserRecipe1366025923(BasicNewsRecipe): + title = u'Lightspeed Magazine' + language = 'en' + __author__ = 'Jose Pinto' + oldest_article = 31 + max_articles_per_feed = 100 + auto_cleanup = True + use_embedded_content = False + feeds = [(u'Lastest Stories', u'http://www.lightspeedmagazine.com/rss-2/')] diff --git a/recipes/metro_news_nl.recipe b/recipes/metro_news_nl.recipe index 81a184b7dc..0995719939 100644 --- a/recipes/metro_news_nl.recipe +++ b/recipes/metro_news_nl.recipe @@ -36,6 +36,9 @@ Changed order of regex to speedup proces Version 1.9.3 23-05-2012 Updated Cover image + Version 1.9.4 19-04-2013 + Added regex filter for mailto + Updated for new layout of metro-site ''' class AdvancedUserRecipe1306097511(BasicNewsRecipe): @@ -43,7 +46,7 @@ class AdvancedUserRecipe1306097511(BasicNewsRecipe): oldest_article = 1.2 max_articles_per_feed = 25 __author__ = u'DrMerry' - description = u'Metro Nederland' + description = u'Metro Nederland v1.9.4 2013-04-19' language = u'nl' simultaneous_downloads = 5 masthead_url = 'http://blog.metronieuws.nl/wp-content/themes/metro/images/header.gif' @@ -68,13 +71,17 @@ class AdvancedUserRecipe1306097511(BasicNewsRecipe): #(re.compile('( @@ -8,9 +17,6 @@ 2012, tBunnyMan ''' -from calibre import strftime -from calibre.web.feeds.news import BasicNewsRecipe - class Pocket(BasicNewsRecipe): title = 'Pocket' @@ -21,109 +27,150 @@ class Pocket(BasicNewsRecipe): read after downloading.''' publisher = 'getpocket.com' category = 'news, custom' - oldest_article = 7 max_articles_per_feed = 50 minimum_articles = 10 - mark_as_read_after_dl = True + #Set this to False for testing + mark_as_read_after_dl = False + #MUST be either 'oldest' or 'newest' + sort_method = 'oldest' + #To filter by tag this needs to be a single tag in quotes; IE 'calibre' + only_pull_tag = None + + #You don't want to change anything under here unless you REALLY know what you are doing no_stylesheets = True use_embedded_content = False needs_subscription = True - INDEX = u'http://getpocket.com' - LOGIN = INDEX + u'/l' - readList = [] + articles_are_obfuscated = True + apikey = '19eg0e47pbT32z4793Tf021k99Afl889' + index_url = u'http://getpocket.com' + ajax_url = u'http://getpocket.com/a/x/getArticle.php' + read_api_url = index_url + u'/v3/get' + modify_api_url = index_url + u'/v3/send' + legacy_login_url = index_url + u'/l' # We use this to cheat oAuth + articles = [] - - def get_browser(self): - br = BasicNewsRecipe.get_browser(self) - if self.username is not None: - br.open(self.LOGIN) + def get_browser(self, *args, **kwargs): + """ + We need to pretend to be a recent version of safari for the mac to prevent User-Agent checks + Pocket api requires username and password so fail loudly if it's missing from the config. + """ + br = BasicNewsRecipe.get_browser(self, + user_agent='Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-us) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4') + if self.username is not None and self.password is not None: + br.open(self.legacy_login_url) br.select_form(nr=0) br['feed_id'] = self.username - if self.password is not None: - br['password'] = self.password + br['password'] = self.password br.submit() + else: + self.user_error("This Recipe requires authentication, please configured user & pass") return br - def get_feeds(self): - self.report_progress(0, ('Fetching list of pages...')) - lfeeds = [] - i = 1 - feedurl = self.INDEX + u'/unread/1' - while True: - title = u'Unread articles, page ' + str(i) - lfeeds.insert(0, (title, feedurl)) - self.report_progress(0, ('Got ') + str(i) + (' pages')) - i += 1 - soup = self.index_to_soup(feedurl) - ritem = soup.find('a', attrs={'id':'next', 'class':'active'}) - if ritem is None: - break - feedurl = self.INDEX + ritem['href'] - return lfeeds + def get_auth_uri(self): + """Quick function to return the authentication part of the url""" + uri = "" + uri = u'{0}&apikey={1!s}'.format(uri, self.apikey) + if self.username is None or self.password is None: + self.user_error("Username or password is blank. Pocket no longer supports blank passwords") + else: + uri = u'{0}&username={1!s}'.format(uri, self.username) + uri = u'{0}&password={1!s}'.format(uri, self.password) + return uri + + def get_pull_articles_uri(self): + """Return the part of the uri that has all of the get request settings""" + uri = "" + uri = u'{0}&state={1}'.format(uri, u'unread') # TODO This could be modded to allow pulling archives + uri = u'{0}&contentType={1}'.format(uri, u'article') # TODO This COULD return images too + uri = u'{0}&sort={1}'.format(uri, self.sort_method) + uri = u'{0}&count={1!s}'.format(uri, self.max_articles_per_feed) + if self.only_pull_tag is not None: + uri = u'{0}tag={1}'.format(uri, self.only_pull_tag) + return uri def parse_index(self): - totalfeeds = [] - articlesToGrab = self.max_articles_per_feed - lfeeds = self.get_feeds() - for feedobj in lfeeds: - if articlesToGrab < 1: - break - feedtitle, feedurl = feedobj - self.report_progress(0, ('Fetching feed')+' %s...'%(feedtitle if feedtitle else feedurl)) - articles = [] - soup = self.index_to_soup(feedurl) - ritem = soup.find('ul', attrs={'id':'list'}) - if ritem is None: - self.log.exception("Page %s skipped: invalid HTML" % (feedtitle if feedtitle else feedurl)) - continue - for item in reversed(ritem.findAll('li')): - if articlesToGrab < 1: - break - else: - articlesToGrab -= 1 - description = '' - atag = item.find('a', attrs={'class':'text'}) - if atag and atag.has_key('href'): - url = self.INDEX + atag['href'] - title = self.tag_to_string(item.div) - date = strftime(self.timefmt) - articles.append({ - 'title' :title - ,'date' :date - ,'url' :url - ,'description':description - }) - readLink = item.find('a', attrs={'class':'check'})['href'] - self.readList.append(readLink) - totalfeeds.append((feedtitle, articles)) - if len(self.readList) < self.minimum_articles: + pocket_feed = [] + fetch_url = u"{0}?{1}{2}".format( + self.read_api_url, + self.get_auth_uri(), + self.get_pull_articles_uri() + ) + try: + request = urllib2.Request(fetch_url) + response = urllib2.urlopen(request) + pocket_feed = json.load(response)['list'] + except urllib2.HTTPError as e: + self.log.exception("Pocket returned an error: {0}\nurl: {1}".format(e, fetch_url)) + return [] + except urllib2.URLError as e: + self.log.exception("Unable to connect to getpocket.com's api: {0}\nurl: {1}".format(e, fetch_url)) + return [] + if len(pocket_feed) < self.minimum_articles: self.mark_as_read_after_dl = False - if hasattr(self, 'abort_recipe_processing'): - self.abort_recipe_processing("Only %d articles retrieved, minimum_articles not reached" % len(self.readList)) - else: - self.log.exception("Only %d articles retrieved, minimum_articles not reached" % len(self.readList)) - return [] - return totalfeeds + self.user_error("Only {0} articles retrieved, minimum_articles not reached".format(len(pocket_feed))) - def mark_as_read(self, markList): - br = self.get_browser() - for link in markList: - url = self.INDEX + link - print 'Marking read: ', url - response = br.open(url) - print response.info() + for pocket_article in pocket_feed.iteritems(): + self.articles.append({ + 'item_id': pocket_article[0], + 'title': pocket_article[1]['resolved_title'], + 'date': pocket_article[1]['time_updated'], + 'url': u'{0}/a/read/{1}'.format(self.index_url, pocket_article[0]), + 'real_url': pocket_article[1]['resolved_url'], + 'description': pocket_article[1]['excerpt'], + 'sort': pocket_article[1]['sort_id'] + }) + self.articles = sorted(self.articles, key=operator.itemgetter('sort')) + print self.articles + return [("My Pocket Articles for {0}".format(strftime('[%I:%M %p]')), self.articles)] + + def get_obfuscated_article(self, url): + soup = self.index_to_soup(url) + formcheck_script_tag = soup.find('script', text=re.compile("formCheck")) + form_check = formcheck_script_tag.split("=")[1].replace("'", "").replace(";", "").strip() + article_id = url.split("/")[-1] + data = urllib.urlencode({'itemId': article_id, 'formCheck': form_check}) + response = self.browser.open(self.ajax_url, data) + article_json = json.load(response)['article']['article'] + with tempfile.NamedTemporaryFile(delete=False) as tf: + tf.write(article_json) + return tf.name + + def mark_as_read(self, mark_list): + formatted_list = [] + for article_id in mark_list: + formatted_list.append({ + 'action': 'archive', + 'item_id': article_id + }) + command = { + 'actions': formatted_list + } + mark_read_url = u'{0}?{1}'.format( + self.modify_api_url, + self.get_auth_uri() + ) + try: + request = urllib2.Request(mark_read_url, json.dumps(command)) + response = urllib2.urlopen(request) + print u'response = {0}'.format(response.info()) + except urllib2.HTTPError as e: + self.log.exception('Pocket returned an error while archiving articles: {0}'.format(e)) + return [] + except urllib2.URLError as e: + self.log.exception("Unable to connect to getpocket.com's modify api: {0}".format(e)) + return [] def cleanup(self): if self.mark_as_read_after_dl: - self.mark_as_read(self.readList) + self.mark_as_read([x[1]['item_id'] for x in self.articles]) else: pass def default_cover(self, cover_file): - ''' + """ Create a generic cover for recipes that don't have a cover This override adds time to the cover - ''' + """ try: from calibre.ebooks import calibre_cover title = self.title if isinstance(self.title, unicode) else \ @@ -137,3 +184,12 @@ def default_cover(self, cover_file): self.log.exception('Failed to generate default cover') return False return True + + def user_error(self, error_message): + if hasattr(self, 'abort_recipe_processing'): + self.abort_recipe_processing(error_message) + else: + self.log.exception(error_message) + raise RuntimeError(error_message) + +# vim:ft=python diff --git a/recipes/san_fran_chronicle.recipe b/recipes/san_fran_chronicle.recipe index cfdf0b07f0..37f15dbe87 100644 --- a/recipes/san_fran_chronicle.recipe +++ b/recipes/san_fran_chronicle.recipe @@ -7,7 +7,6 @@ ''' from calibre.web.feeds.news import BasicNewsRecipe -import re class SanFranciscoChronicle(BasicNewsRecipe): title = u'San Francisco Chronicle' @@ -19,16 +18,7 @@ class SanFranciscoChronicle(BasicNewsRecipe): max_articles_per_feed = 100 no_stylesheets = True use_embedded_content = False - - - - remove_tags_before = {'id':'printheader'} - - remove_tags = [ - dict(name='div',attrs={'id':'printheader'}) - ,dict(name='a', attrs={'href':re.compile('http://ads\.pheedo\.com.*')}) - ,dict(name='div',attrs={'id':'footer'}) - ] + auto_cleanup = True extra_css = ''' h1{font-family :Arial,Helvetica,sans-serif; font-size:large;} @@ -43,33 +33,13 @@ class SanFranciscoChronicle(BasicNewsRecipe): ''' feeds = [ - (u'Top News Stories', u'http://www.sfgate.com/rss/feeds/news.xml') + (u'Bay Area News', u'http://www.sfgate.com/bayarea/feed/Bay-Area-News-429.php'), + (u'City Insider', u'http://www.sfgate.com/default/feed/City-Insider-Blog-573.php'), + (u'Crime Scene', u'http://www.sfgate.com/rss/feed/Crime-Scene-Blog-599.php'), + (u'Education News', u'http://www.sfgate.com/education/feed/Education-News-from-SFGate-430.php'), + (u'National News', u'http://www.sfgate.com/rss/feed/National-News-RSS-Feed-435.php'), + (u'Weird News', u'http://www.sfgate.com/weird/feed/Weird-News-RSS-Feed-433.php'), + (u'World News', u'http://www.sfgate.com/rss/feed/World-News-From-SFGate-432.php'), ] - def print_version(self,url): - url= url +"&type=printable" - return url - - def get_article_url(self, article): - print str(article['title_detail']['value']) - url = article.get('guid',None) - url = "http://www.sfgate.com/cgi-bin/article.cgi?f="+url - if "Presented By:" in str(article['title_detail']['value']): - url = '' - return url - - - - - - - - - - - - - - - diff --git a/recipes/science_news.recipe b/recipes/science_news.recipe index 53b451030a..b2329899ac 100644 --- a/recipes/science_news.recipe +++ b/recipes/science_news.recipe @@ -50,6 +50,10 @@ class ScienceNewsIssue(BasicNewsRecipe): dict(name='ul', attrs={'id':'toc'}) ] + remove_tags= [ dict(name='a', attrs={'class':'enlarge print-no'}), + dict(name='a', attrs={'rel':'shadowbox'}) + ] + feeds = [(u"Science News Current Issues", u'http://www.sciencenews.org/view/feed/type/edition/name/issues.rss')] match_regexps = [ @@ -57,6 +61,12 @@ class ScienceNewsIssue(BasicNewsRecipe): r'www.sciencenews.org/view/generic/id' ] + def image_url_processor(self, baseurl, url): + x = url.split('/') + if x[4] == u'scale': + url = u'http://www.sciencenews.org/view/download/id/' + x[6] + u'/name/' + x[-1] + return url + def get_cover_url(self): cover_url = None index = 'http://www.sciencenews.org/view/home' @@ -64,7 +74,6 @@ def get_cover_url(self): link_item = soup.find(name = 'img',alt = "issue") if link_item: cover_url = 'http://www.sciencenews.org' + link_item['src'] + '.jpg' - return cover_url def preprocess_html(self, soup): diff --git a/recipes/smith.recipe b/recipes/smith.recipe index db45e42fc7..81643bf5f6 100644 --- a/recipes/smith.recipe +++ b/recipes/smith.recipe @@ -25,7 +25,7 @@ def parse_index(self): soup = self.index_to_soup(current_issue_url) #Go to the main body - div = soup.find ('div', attrs={'id':'article-body'}) + div = soup.find('div', attrs={'id':'article-body'}) #Find date date = re.sub('.*\:\W*', "", self.tag_to_string(div.find('h2')).strip()) @@ -49,16 +49,20 @@ def parse_index(self): self.log('Found section:', section_title) else: link=post.find('a',href=True) + article_cat=link.findPrevious('p', attrs={'class':'article-cat'}) url=link['href']+'?c=y&story=fullstory' - description=self.tag_to_string(post.find('p')).strip() - desc=re.sub('\sBy\s.*', '', description, re.DOTALL) - author=re.sub('.*By\s', '', description, re.DOTALL) - title=self.tag_to_string(link).strip()+ u' (%s)'%author + description=self.tag_to_string(post.findAll('p')[-1]).strip() + title=self.tag_to_string(link).strip() + if article_cat is not None: + title += u' (%s)'%self.tag_to_string(article_cat).strip() self.log('\tFound article:', title) - articles.append({'title':title, 'url':url, 'description':desc, 'date':''}) + articles.append({'title':title, 'url':url, 'description':description, 'date':''}) - if articles: - feeds[section_title] = articles + if articles: + if section_title not in feeds: + feeds[section_title] = [] + feeds[section_title] += articles + articles = [] ans = [(key, val) for key, val in feeds.iteritems()] return ans diff --git a/recipes/the_escapist.recipe b/recipes/the_escapist.recipe index 5730dd2858..f86a0d824b 100644 --- a/recipes/the_escapist.recipe +++ b/recipes/the_escapist.recipe @@ -1,8 +1,11 @@ #!/usr/bin/env python __license__ = 'GPL v3' -__author__ = 'Lorenzo Vigentini' -__copyright__ = '2009, Lorenzo Vigentini ' -description = 'the Escapist Magazine - v1.02 (09, January 2010)' +__author__ = 'Lorenzo Vigentini and Tom Surace' +__copyright__ = '2009, Lorenzo Vigentini , 2013 Tom Surace ' +description = 'The Escapist Magazine - v1.3 (2013, April 2013)' + +# +# Based on 'the Escapist Magazine - v1.02 (09, January 2010)' ''' http://www.escapistmagazine.com/ @@ -11,12 +14,11 @@ from calibre.web.feeds.news import BasicNewsRecipe class al(BasicNewsRecipe): - author = 'Lorenzo Vigentini' + author = 'Lorenzo Vigentini and Tom Surace' description = 'The Escapist Magazine' - cover_url = 'http://cdn.themis-media.com/themes/escapistmagazine/default/images/logo.png' title = u'The Escapist Magazine' - publisher = 'Themis media' + publisher = 'Themis Media' category = 'Video games news, lifestyle, gaming culture' language = 'en' @@ -36,18 +38,19 @@ class al(BasicNewsRecipe): ] def print_version(self,url): + # Expect article url in the format: + # http://www.escapistmagazine.com/news/view/123198-article-name?utm_source=rss&utm_medium=rss&utm_campaign=news + # baseURL='http://www.escapistmagazine.com' segments = url.split('/') - #basename = '/'.join(segments[:3]) + '/' subPath= '/'+ segments[3] + '/' - articleURL=(segments[len(segments)-1])[0:5] - if articleURL[4] =='-': - articleURL=articleURL[:4] + # The article number is the "number" that starts the name + articleNumber = segments[len(segments)-1]; # the "article name" + articleNumber = articleNumber.split('-')[0]; # keep part before hyphen - printVerString='print/'+ articleURL - s= baseURL + subPath + printVerString - return s + fullUrl = baseURL + subPath + 'print/' + articleNumber + return fullUrl keep_only_tags = [ dict(name='div', attrs={'id':'article'}) diff --git a/recipes/the_feature.recipe b/recipes/the_feature.recipe new file mode 100644 index 0000000000..efdeb5120d --- /dev/null +++ b/recipes/the_feature.recipe @@ -0,0 +1,11 @@ +from calibre.web.feeds.news import BasicNewsRecipe + +class AdvancedUserRecipe1365777047(BasicNewsRecipe): + title = u'The Feature' + __author__ = 'Jose Pinto' + language = 'en' + oldest_article = 30 + max_articles_per_feed = 100 + auto_cleanup = True + use_embedded_content = False + feeds = [(u'Latest', u'http://thefeature.net/rss/links')] diff --git a/recipes/the_new_republic.recipe b/recipes/the_new_republic.recipe index 057b898f42..7611ec946f 100644 --- a/recipes/the_new_republic.recipe +++ b/recipes/the_new_republic.recipe @@ -1,68 +1,63 @@ -import re -from calibre.web.feeds.recipes import BasicNewsRecipe -from collections import OrderedDict - -class TNR(BasicNewsRecipe): - - title = 'The New Republic' - __author__ = 'Rick Shang' - - description = 'The New Republic is a journal of opinion with an emphasis on politics and domestic and international affairs. It carries feature articles by staff and contributing editors. The second half of each issue is devoted to book and the arts, theater, motion pictures, music and art.' - language = 'en' - category = 'news' - encoding = 'UTF-8' - remove_tags = [dict(attrs={'class':['print-logo','print-site_name','print-hr']})] - no_javascript = True - no_stylesheets = True - - - def parse_index(self): - - #Go to the issue - soup0 = self.index_to_soup('http://www.tnr.com/magazine-issues') - issue = soup0.find('div',attrs={'id':'current_issue'}) - - #Find date - date = self.tag_to_string(issue.find('div',attrs={'class':'date'})).strip() - self.timefmt = u' [%s]'%date - - #Go to the main body - current_issue_url = 'http://www.tnr.com' + issue.find('a', href=True)['href'] - soup = self.index_to_soup(current_issue_url) - div = soup.find ('div', attrs={'class':'article_detail_body'}) - - - - #Find cover - self.cover_url = div.find('img',src=True)['src'] - - feeds = OrderedDict() - section_title = '' - subsection_title = '' - for post in div.findAll('p'): - articles = [] - em=post.find('em') - b=post.find('b') - a=post.find('a',href=True) - p=post.find('img', src=True) - #Find cover - if p is not None: - self.cover_url = p['src'].strip() - if em is not None: - section_title = self.tag_to_string(em).strip() - subsection_title = '' - elif b is not None: - subsection_title=self.tag_to_string(b).strip() - elif a is not None: - prefix = (subsection_title+': ') if subsection_title else '' - url=re.sub('www.tnr.com','www.tnr.com/print', a['href']) - author=re.sub('.*by\s', '', self.tag_to_string(post), re.DOTALL) - title=prefix + self.tag_to_string(a).strip()+ u' (%s)'%author - articles.append({'title':title, 'url':url, 'description':'', 'date':''}) - - if articles: - if section_title not in feeds: - feeds[section_title] = [] - feeds[section_title] += articles - ans = [(key, val) for key, val in feeds.iteritems()] - return ans +import re +from calibre.web.feeds.recipes import BasicNewsRecipe + + +class TNR(BasicNewsRecipe): + + title = 'The New Republic' + __author__ = 'Krittika Goyal' + + description = '''The New Republic is a journal of opinion with an emphasis + on politics and domestic and international affairs. It carries feature + articles by staff and contributing editors. The second half of each issue + is devoted to book and the arts, theater, motion pictures, music and art.''' + + language = 'en' + encoding = 'UTF-8' + needs_subscription = True + + preprocess_regexps = [ + (re.compile(r'', re.DOTALL), lambda m: ''), + (re.compile(r'', re.DOTALL), lambda m: ''), + ] + + def get_browser(self): + br = BasicNewsRecipe.get_browser(self) + br.open('http://www.newrepublic.com/user') + br.select_form(nr=1) + try: + br['user'] = self.username + except: + br['name'] = self.username + br['pass'] = self.password + self.log('Logging in...') + raw = br.submit().read() + if 'SIGN OUT' not in raw: + raise ValueError('Failed to log in to tnr.com, check your username and password') + self.log('Logged in successfully') + return br + + def parse_index(self): + raw = self.index_to_soup('http://www.newrepublic.com/current-issue', raw=True) + # raw = self.index_to_soup(open('/t/raw.html').read().decode('utf-8'), raw=True) + for pat, sub in self.preprocess_regexps: + raw = pat.sub(sub, raw) + soup = self.index_to_soup(raw) + feed_title = 'The New Republic Magazine Articles' + + articles = [] + for div in soup.findAll('div', attrs={'class':lambda x: x and 'field-item' in x.split()}): + a = div.find('a', href=True, attrs={'class':lambda x: x != 'author'}) + if a is not None: + art_title = self.tag_to_string(a) + url = a.get('href') + num = re.search(r'/(\d+)/', url) + if num is not None: + art = num.group(1) + url = 'http://www.newrepublic.com/node/%s/print'%art + self.log.info('\tFound article:', art_title, 'at', url) + article = {'title':art_title, 'url':url, 'description':'', 'date':''} + articles.append(article) + + return [(feed_title, articles)] + diff --git a/recipes/the_sun.recipe b/recipes/the_sun.recipe index 10027d4583..962aa67b91 100644 --- a/recipes/the_sun.recipe +++ b/recipes/the_sun.recipe @@ -1,4 +1,4 @@ -import re, random +import random from calibre import browser from calibre.web.feeds.recipes import BasicNewsRecipe @@ -8,7 +8,7 @@ class AdvancedUserRecipe1325006965(BasicNewsRecipe): title = u'The Sun UK' description = 'Articles from The Sun tabloid UK' __author__ = 'Dave Asbury' - # last updated 19/10/12 better cover fetch + # last updated 5/5/13 better cover fetch language = 'en_GB' oldest_article = 1 max_articles_per_feed = 15 @@ -29,16 +29,12 @@ class AdvancedUserRecipe1325006965(BasicNewsRecipe): dict(name='div',attrs={'class' : 'intro'}), dict(name='h3'), dict(name='div',attrs={'id' : 'articlebody'}), - #dict(attrs={'class' : ['right_col_branding','related-stories','mystery-meat-link','ltbx-container','ltbx-var ltbx-hbxpn','ltbx-var ltbx-nav-loop','ltbx-var ltbx-url']}), - # dict(name='div',attrs={'class' : 'cf'}), - # dict(attrs={'title' : 'download flash'}), - # dict(attrs={'style' : 'padding: 5px'}) - ] + ] remove_tags_after = [dict(id='bodyText')] remove_tags=[ - dict(name='li'), - dict(attrs={'class' : 'grid-4 right-hand-column'}), + dict(name='li'), + dict(attrs={'class' : 'grid-4 right-hand-column'}), ] feeds = [ @@ -47,40 +43,24 @@ class AdvancedUserRecipe1325006965(BasicNewsRecipe): (u'Showbiz', u'http://www.thesun.co.uk/sol/homepage/showbiz/rss'), (u'Woman', u'http://www.thesun.co.uk/sol/homepage/woman/rss'), ] -# starsons code - def parse_feeds (self): - feeds = BasicNewsRecipe.parse_feeds(self) - for feed in feeds: - for article in feed.articles[:]: - print 'article.title is: ', article.title - if 'Try out The Sun' in article.title.upper() or 'Try-out-The-Suns' in article.url: - feed.articles.remove(article) - if 'Web porn harms kids' in article.title.upper() or 'Sun-says-Web-porn' in article.url: - feed.articles.remove(article) - return feeds + # starsons code + def parse_feeds(self): + feeds = BasicNewsRecipe.parse_feeds(self) + for feed in feeds: + for article in feed.articles[:]: + if 'Try out The Sun' in article.title.upper() or 'Try-out-The-Suns' in article.url: + feed.articles.remove(article) + if 'Web porn harms kids' in article.title.upper() or 'Sun-says-Web-porn' in article.url: + feed.articles.remove(article) + return feeds def get_cover_url(self): - soup = self.index_to_soup('http://www.politicshome.com/uk/latest_frontpage.html') - # look for the block containing the sun button and url - cov = soup.find(attrs={'style' : 'background-image: url(http://www.politicshome.com/images/sources/source_frontpage_button_84.gif);'}) - - #cov = soup.find(attrs={'id' : 'large'}) - cov2 = str(cov) - - cov2='http://www.politicshome.com'+cov2[9:-133] - #cov2 now contains url of the page containing pic - #cov2 now contains url of the page containing pic - soup = self.index_to_soup(cov2) - cov = soup.find(attrs={'id' : 'large'}) - cov=str(cov) - cov2 = re.findall('http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+', cov) - cov2 = str(cov2) - cov2=cov2[2:len(cov2)-2] br = browser() br.set_handle_redirect(False) + cover_url = 'http://www.thepaperboy.com/frontpages/current/The_Sun_newspaper_front_page.jpg' + try: - br.open_novisit(cov2) - cover_url = cov2 + br.open_novisit('http://www.thepaperboy.com/frontpages/current/The_Sun_newspaper_front_page.jpg') except: cover_url = random.choice([ 'http://img.thesun.co.uk/multimedia/archive/00905/errorpage6_677961a_905507a.jpg' @@ -88,6 +68,6 @@ def get_cover_url(self): ,'http://img.thesun.co.uk/multimedia/archive/00905/errorpage5_677960a_905512a.jpg' ,'http://img.thesun.co.uk/multimedia/archive/00905/errorpage2_677957a_905502a.jpg' ,'http://img.thesun.co.uk/multimedia/archive/00905/errorpage3_677958a_905503a.jpg' - ]) + ]) return cover_url diff --git a/recipes/theonion.recipe b/recipes/theonion.recipe index d177e0978d..6cb19cee94 100644 --- a/recipes/theonion.recipe +++ b/recipes/theonion.recipe @@ -1,5 +1,5 @@ __license__ = 'GPL v3' -__copyright__ = '2009-2011, Darko Miletic ' +__copyright__ = '2009-2013, Darko Miletic ' ''' theonion.com @@ -10,7 +10,7 @@ class TheOnion(BasicNewsRecipe): title = 'The Onion' __author__ = 'Darko Miletic' - description = "America's finest news source" + description = "The Onion, America's Finest News Source, is an award-winning publication covering world, national, and * local issues. It is updated daily online and distributed weekly in select American cities." oldest_article = 2 max_articles_per_feed = 100 publisher = 'Onion, Inc.' @@ -20,7 +20,8 @@ class TheOnion(BasicNewsRecipe): use_embedded_content = False encoding = 'utf-8' publication_type = 'newsportal' - masthead_url = 'http://o.onionstatic.com/img/headers/onion_190.png' + needs_subscription = 'optional' + masthead_url = 'http://www.theonion.com/static/onion/img/logo_1x.png' extra_css = """ body{font-family: Helvetica,Arial,sans-serif} .section_title{color: gray; text-transform: uppercase} @@ -36,21 +37,56 @@ class TheOnion(BasicNewsRecipe): , 'publisher': publisher , 'language' : language } - keep_only_tags = [dict(name='article', attrs={'class':'full-article'})] - remove_tags = [ - dict(name=['nav', 'aside', 'section', 'meta']), - {'attrs':{'class':lambda x: x and ('share-tools' in x or 'ad-zone' in x)}}, - ] + + keep_only_tags = [dict(attrs={'class':'full-article'})] + remove_attributes = ['lang','rel'] + remove_tags = [ + dict(name=['object','link','iframe','base','meta']) + ,dict(attrs={'class':lambda x: x and 'share-tools' in x.split()}) + ] + feeds = [ (u'Daily' , u'http://feeds.theonion.com/theonion/daily' ) ,(u'Sports' , u'http://feeds.theonion.com/theonion/sports' ) ] - def preprocess_html(self, soup, *args): - for img in soup.findAll('img', attrs={'data-src':True}): - if img['data-src']: - img['src'] = img['data-src'] + def get_browser(self): + br = BasicNewsRecipe.get_browser(self) + br.open('http://www.theonion.com/') + if self.username is not None and self.password is not None: + br.open('https://ui.ppjol.com/login/onion/u/j_spring_security_check') + br.select_form(name='f') + br['j_username'] = self.username + br['j_password'] = self.password + br.submit() + return br + + def get_article_url(self, article): + artl = BasicNewsRecipe.get_article_url(self, article) + if artl.startswith('http://www.theonion.com/audio/'): + artl = None + return artl + + def preprocess_html(self, soup): + for item in soup.findAll(style=True): + del item['style'] + for item in soup.findAll('a'): + limg = item.find('img') + if item.string is not None: + str = item.string + item.replaceWith(str) + else: + if limg: + item.name = 'div' + item.attrs = [] + if not limg.has_key('alt'): + limg['alt'] = 'image' + else: + str = self.tag_to_string(item) + item.replaceWith(str) + for item in soup.findAll('img'): + if item.has_key('data-src'): + item['src'] = item['data-src'] return soup - - + diff --git a/recipes/tomshardware.recipe b/recipes/tomshardware.recipe index c75b19189d..e0f21ae2a4 100644 --- a/recipes/tomshardware.recipe +++ b/recipes/tomshardware.recipe @@ -1,7 +1,5 @@ -#!/usr/bin/env python - __license__ = 'GPL v3' -__copyright__ = '2008-2009, Darko Miletic ' +__copyright__ = '2008-2013, Darko Miletic ' ''' tomshardware.com/us ''' @@ -16,22 +14,20 @@ class Tomshardware(BasicNewsRecipe): publisher = "Tom's Hardware" category = 'news, IT, hardware, USA' no_stylesheets = True - needs_subscription = True - language = 'en' - + needs_subscription = 'optional' + language = 'en' INDEX = 'http://www.tomshardware.com' LOGIN = INDEX + '/membres/' remove_javascript = True use_embedded_content= False - html2lrf_options = [ - '--comment', description - , '--category', category - , '--publisher', publisher - ] - - html2epub_options = 'publisher="' + publisher + '"\ncomments="' + description + '"\ntags="' + category + '"' - + conversion_options = { + 'comment' : description + , 'tags' : category + , 'publisher' : publisher + , 'language' : language + } + def get_browser(self): br = BasicNewsRecipe.get_browser(self) br.open(self.INDEX+'/us/') @@ -50,8 +46,8 @@ def get_browser(self): ] feeds = [ - (u'Latest Articles', u'http://www.tomshardware.com/feeds/atom/tom-s-hardware-us,18-2.xml' ) - ,(u'Latest News' , u'http://www.tomshardware.com/feeds/atom/tom-s-hardware-us,18-1.xml') + (u'Reviews', u'http://www.tomshardware.com/feeds/rss2/tom-s-hardware-us,18-2.xml') + ,(u'News' , u'http://www.tomshardware.com/feeds/rss2/tom-s-hardware-us,18-1.xml') ] def print_version(self, url): diff --git a/recipes/tvxs.recipe b/recipes/tvxs.recipe index 76e35e30b4..eb7812fe4f 100644 --- a/recipes/tvxs.recipe +++ b/recipes/tvxs.recipe @@ -1,5 +1,6 @@ # vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai +import re from calibre.web.feeds.recipes import BasicNewsRecipe class TVXS(BasicNewsRecipe): @@ -8,19 +9,30 @@ class TVXS(BasicNewsRecipe): description = 'News from Greece' max_articles_per_feed = 100 oldest_article = 3 - simultaneous_downloads = 1 publisher = 'TVXS' - category = 'news, GR' + category = 'news, sport, greece' language = 'el' encoding = None use_embedded_content = False remove_empty_feeds = True - #conversion_options = { 'linearize_tables': True} + conversion_options = {'smarten_punctuation': True} no_stylesheets = True + publication_type = 'newspaper' remove_tags_before = dict(name='h1',attrs={'class':'print-title'}) remove_tags_after = dict(name='div',attrs={'class':'field field-type-relevant-content field-field-relevant-articles'}) - remove_attributes = ['width', 'src', 'header', 'footer'] - + remove_tags = [dict(name='div',attrs={'class':'field field-type-relevant-content field-field-relevant-articles'}), + dict(name='div',attrs={'class':'field field-type-filefield field-field-image-gallery'}), + dict(name='div',attrs={'class':'filefield-file'})] + remove_attributes = ['border', 'cellspacing', 'align', 'cellpadding', 'colspan', 'valign', 'vspace', 'hspace', 'alt', 'width', 'height'] + extra_css = 'body { font-family: verdana, helvetica, sans-serif; } \ + table { width: 100%; } \ + td img { display: block; margin: 5px auto; } \ + ul { padding-top: 10px; } \ + ol { padding-top: 10px; } \ + li { padding-top: 5px; padding-bottom: 5px; } \ + h1 { text-align: center; font-size: 125%; font-weight: bold; } \ + h2, h3, h4, h5, h6 { text-align: center; font-size: 100%; font-weight: bold; }' + preprocess_regexps = [(re.compile(r'', re.IGNORECASE), lambda m: ''), (re.compile(r'', re.IGNORECASE), lambda m: '')] feeds = [(u'Ελλάδα', 'http://tvxs.gr/feeds/2/feed.xml'), (u'Κόσμος', 'http://tvxs.gr/feeds/5/feed.xml'), @@ -35,17 +47,10 @@ class TVXS(BasicNewsRecipe): (u'Ιστορία', 'http://tvxs.gr/feeds/1573/feed.xml'), (u'Χιούμορ', 'http://tvxs.gr/feeds/692/feed.xml')] - def print_version(self, url): - import urllib2, urlparse, StringIO, gzip - - fp = urllib2.urlopen(url) - data = fp.read() - if fp.info()['content-encoding'] == 'gzip': - gzip_data = StringIO.StringIO(data) - gzipper = gzip.GzipFile(fileobj=gzip_data) - data = gzipper.read() - fp.close() + br = self.get_browser() + response = br.open(url) + data = response.read() pos_1 = data.find(')'), lambda m: '
%s%s

(%s)

' % (m.group(1), m.group(3), m.group(2))), @@ -22,3 +22,6 @@ class XkcdCom(BasicNewsRecipe): ] extra_css = "#photo_text{font-size:small;}" + + feeds = [(u'What If...', u'http://what-if.xkcd.com/feed.atom')] + diff --git a/resources/default_tweaks.py b/resources/default_tweaks.py index 9851d76af4..368470cced 100644 --- a/resources/default_tweaks.py +++ b/resources/default_tweaks.py @@ -531,3 +531,8 @@ # number here. The default is ten libraries. many_libraries = 10 +#: Highlight the count of books when using a Virtual Library +# The count of books next to the Virtual Library button is highlighted in +# yellow when using a Virtual Library. By setting this to False, you can turn +# that off. +highlight_virtual_library_book_count = True diff --git a/resources/images/devices/ipad.png b/resources/images/devices/ipad.png index d5b6eef662..c807484bb1 100644 Binary files a/resources/images/devices/ipad.png and b/resources/images/devices/ipad.png differ diff --git a/resources/images/devices/italica.png b/resources/images/devices/italica.png index 83852d9ffa..6ba467b63a 100644 Binary files a/resources/images/devices/italica.png and b/resources/images/devices/italica.png differ diff --git a/resources/images/library.png b/resources/images/library.png index cd2c9075b6..5d57b0ca6b 100644 Binary files a/resources/images/library.png and b/resources/images/library.png differ diff --git a/resources/templates/rtf.xsl b/resources/templates/rtf.xsl index ee247296c6..510bcdd235 100644 --- a/resources/templates/rtf.xsl +++ b/resources/templates/rtf.xsl @@ -448,8 +448,15 @@ - # - + + + + + + # + + + diff --git a/session.vim b/session.vim index 5e127428cf..a67c5ed8e6 100644 --- a/session.vim +++ b/session.vim @@ -1,6 +1,3 @@ -" Project wide builtins -let $PYFLAKES_BUILTINS = "_,dynamic_property,__,P,I,lopen,icu_lower,icu_upper,icu_title,ngettext" - " Include directories for C++ modules let g:syntastic_cpp_include_dirs = [ \'/usr/include/python2.7', diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 0000000000..29bb083103 --- /dev/null +++ b/setup.cfg @@ -0,0 +1,4 @@ +[flake8] +max-line-length = 160 +builtins = _,dynamic_property,__,P,I,lopen,icu_lower,icu_upper,icu_title,ngettext +ignore = E12,E203,E22,E231,E241,E301,E302,E304,E401,W391 diff --git a/setup.py b/setup.py index 1424d83137..9ff70d30df 100644 --- a/setup.py +++ b/setup.py @@ -63,7 +63,7 @@ def main(args=sys.argv): parser = option_parser() command.add_all_options(parser) - parser.set_usage('Usage: python setup.py %s [options]\n\n'%args[1]+\ + parser.set_usage('Usage: python setup.py %s [options]\n\n'%args[1]+ command.description) opts, args = parser.parse_args(args) diff --git a/setup/check.py b/setup/check.py index 0baec38a50..5bf636467d 100644 --- a/setup/check.py +++ b/setup/check.py @@ -22,40 +22,12 @@ def __init__(self, filename, lineno, msg): self.filename, self.lineno, self.msg = filename, lineno, msg def __str__(self): - return '%s:%s: %s'%(self.filename, self.lineno, self.msg) - -def check_for_python_errors(code_string, filename): - import _ast - # First, compile into an AST and handle syntax errors. - try: - tree = compile(code_string, filename, "exec", _ast.PyCF_ONLY_AST) - except (SyntaxError, IndentationError) as value: - msg = value.args[0] - - (lineno, offset, text) = value.lineno, value.offset, value.text - - # If there's an encoding problem with the file, the text is None. - if text is None: - # Avoid using msg, since for the only known case, it contains a - # bogus message that claims the encoding the file declared was - # unknown. - msg = "%s: problem decoding source" % filename - - return [Message(filename, lineno, msg)] - else: - checker = __import__('pyflakes.checker').checker - # Okay, it's syntactically valid. Now check it. - w = checker.Checker(tree, filename) - w.messages.sort(lambda a, b: cmp(a.lineno, b.lineno)) - return [Message(x.filename, x.lineno, x.message%x.message_args) for x in - w.messages] + return '%s:%s: %s' % (self.filename, self.lineno, self.msg) class Check(Command): description = 'Check for errors in the calibre source code' - BUILTINS = ['_', '__', 'dynamic_property', 'I', 'P', 'lopen', 'icu_lower', - 'icu_upper', 'icu_title', 'ngettext'] CACHE = '.check-cache.pickle' def get_files(self, cache): @@ -65,10 +37,10 @@ def get_files(self, cache): mtime = os.stat(y).st_mtime if cache.get(y, 0) == mtime: continue - if (f.endswith('.py') and f not in ('feedparser.py', - 'pyparsing.py', 'markdown.py') and - 'prs500/driver.py' not in y): - yield y, mtime + if (f.endswith('.py') and f not in ( + 'feedparser.py', 'markdown.py') and + 'prs500/driver.py' not in y): + yield y, mtime if f.endswith('.coffee'): yield y, mtime @@ -79,25 +51,22 @@ def get_files(self, cache): if f.endswith('.recipe') and cache.get(f, 0) != mtime: yield f, mtime - def run(self, opts): cache = {} if os.path.exists(self.CACHE): cache = cPickle.load(open(self.CACHE, 'rb')) - builtins = list(set_builtins(self.BUILTINS)) for f, mtime in self.get_files(cache): self.info('\tChecking', f) errors = False ext = os.path.splitext(f)[1] if ext in {'.py', '.recipe'}: - w = check_for_python_errors(open(f, 'rb').read(), f) - if w: + p = subprocess.Popen(['flake8', '--ignore=E,W', f]) + if p.wait() != 0: errors = True - self.report_errors(w) else: from calibre.utils.serve_coffee import check_coffeescript try: - check_coffeescript(f) + check_coffeescript(f) except: errors = True if errors: @@ -106,8 +75,6 @@ def run(self, opts): self.j(self.SRC, '../session.vim'), '-f', f]) raise SystemExit(1) cache[f] = mtime - for x in builtins: - delattr(__builtin__, x) cPickle.dump(cache, open(self.CACHE, 'wb'), -1) wn_path = os.path.expanduser('~/work/servers/src/calibre_servers/main') if os.path.exists(wn_path): diff --git a/setup/installer/linux/freeze2.py b/setup/installer/linux/freeze2.py index 44b8e81bff..e43bfa193e 100644 --- a/setup/installer/linux/freeze2.py +++ b/setup/installer/linux/freeze2.py @@ -48,7 +48,7 @@ '/usr/lib/libpng14.so.14', '/usr/lib/libexslt.so.0', # Ensure that libimobiledevice is compiled against openssl, not gnutls - '/usr/lib/libimobiledevice.so.3', + '/usr/lib/libimobiledevice.so.4', '/usr/lib/libusbmuxd.so.2', '/usr/lib/libplist.so.1', MAGICK_PREFIX+'/lib/libMagickWand.so.5', @@ -112,7 +112,6 @@ def copy_libs(self): else: ffi = glob.glob('/usr/lib/libffi.so.?')[-1] - for x in binary_includes + [stdcpp, ffi]: dest = self.bin_dir if '/bin/' in x else self.lib_dir shutil.copy2(x, dest) @@ -226,7 +225,6 @@ def ignore_in_lib(base, items): except: self.warn('Failed to byte-compile', y) - def run_builder(self, cmd, verbose=True): p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) @@ -256,7 +254,6 @@ def create_tarfile(self): self.info('Archive %s created: %.2f MB'%(dist, os.stat(dist).st_size/(1024.**2))) - def build_launchers(self): self.obj_dir = self.j(self.src_root, 'build', 'launcher') if not os.path.exists(self.obj_dir): @@ -268,7 +265,8 @@ def build_launchers(self): cflags = '-fno-strict-aliasing -W -Wall -c -O2 -pipe -DPYTHON_VER="python%s"'%self.py_ver cflags = cflags.split() + ['-I/usr/include/python'+self.py_ver] for src, obj in zip(sources, objects): - if not self.newer(obj, headers+[src, __file__]): continue + if not self.newer(obj, headers+[src, __file__]): + continue cmd = ['gcc'] + cflags + ['-fPIC', '-o', obj, src] self.run_builder(cmd) @@ -330,8 +328,7 @@ def build_launchers(self): self.run_builder(cmd, verbose=False) - - def create_site_py(self): # {{{ + def create_site_py(self): # {{{ with open(self.j(self.py_dir, 'site.py'), 'wb') as f: f.write(textwrap.dedent('''\ import sys diff --git a/setup/installer/osx/app/main.py b/setup/installer/osx/app/main.py index 2182038088..f72928360b 100644 --- a/setup/installer/osx/app/main.py +++ b/setup/installer/osx/app/main.py @@ -37,7 +37,6 @@ def add_options(self, parser): action='store_true', help='Only build launchers') - def run(self, opts): global info, warn info, warn = self.info, self.warn @@ -332,7 +331,7 @@ def add_calibre_plugins(self): def create_plist(self): from calibre.ebooks import BOOK_EXTENSIONS env = dict(**ENV) - env['CALIBRE_LAUNCHED_FROM_BUNDLE']='1'; + env['CALIBRE_LAUNCHED_FROM_BUNDLE']='1' docs = [{'CFBundleTypeName':'E-book', 'CFBundleTypeExtensions':list(BOOK_EXTENSIONS), 'CFBundleTypeRole':'Viewer', @@ -395,12 +394,11 @@ def add_libpng(self): self.install_dylib(os.path.join(SW, 'lib', 'libpng12.0.dylib')) self.install_dylib(os.path.join(SW, 'lib', 'libpng.3.dylib')) - @flush def add_fontconfig(self): info('\nAdding fontconfig') for x in ('fontconfig.1', 'freetype.6', 'expat.1', - 'plist.1', 'usbmuxd.2', 'imobiledevice.3'): + 'plist.1', 'usbmuxd.2', 'imobiledevice.4'): src = os.path.join(SW, 'lib', 'lib'+x+'.dylib') self.install_dylib(src) dst = os.path.join(self.resources_dir, 'fonts') @@ -568,7 +566,7 @@ def remove_bytecode(self, dest): @flush def compile_py_modules(self): - info( '\nCompiling Python modules') + info('\nCompiling Python modules') base = join(self.resources_dir, 'Python') for x in os.walk(base): root = x[0] @@ -584,7 +582,7 @@ def compile_py_modules(self): @flush def create_console_app(self): - info( '\nCreating console.app') + info('\nCreating console.app') cc_dir = os.path.join(self.contents_dir, 'console.app', 'Contents') os.makedirs(cc_dir) for x in os.listdir(self.contents_dir): @@ -607,7 +605,6 @@ def copy_site(self): shutil.copy2(join(base, 'site.py'), join(self.resources_dir, 'Python', 'lib', 'python'+self.version_info)) - @flush def makedmg(self, d, volname, destdir='dist', @@ -630,7 +627,7 @@ def makedmg(self, d, volname, '-volname', volname, '-format', format, dmg]) shutil.rmtree(tdir) if internet_enable: - subprocess.check_call(['/usr/bin/hdiutil', 'internet-enable', '-yes', dmg]) + subprocess.check_call(['/usr/bin/hdiutil', 'internet-enable', '-yes', dmg]) size = os.stat(dmg).st_size/(1024*1024.) info('\nInstaller size: %.2fMB\n'%size) return dmg diff --git a/setup/installer/windows/libimobiledevice_notes.rst b/setup/installer/windows/libimobiledevice_notes.rst new file mode 100644 index 0000000000..cbcbb13db0 --- /dev/null +++ b/setup/installer/windows/libimobiledevice_notes.rst @@ -0,0 +1,352 @@ +Notes on building libiMobileDevice for Windows +========================================================= + +1. Get source files, set up VS project +2. Build libcnary +3. Build libgen +4. Build libplist +5. Build libusbmuxd +6. Build libimobiledevice +7. Exporting libimobiledevice entry points +8. Finished + +Get source files, set up VS project +------------------------------------- + +Starting with source downloaded from https://github.com/storoj/libimobiledevice-win32 + +Now create a new directory in which we will work:: + mkdir imobiledevice + cp -r libcnary libgen vendors/include libimobiledevice libplist libusbmuxd imobiledevice + cd imobiledevice + rm `find . -name '*.props'` + rm `find . -name *.vcxproj*` + rm `find . -name *.txt` + cd .. + mv imobiledevice ~/sw/private/ + +In include/unistd.h, comment out line 11:: + + // #include /* getopt from: http://www.pwilson.net/sample.html. + +Create a new VS 2008 Project + - File|New|Project… + - Visual C++: Win32 + - Template: Win32Project + - Name: imobiledevice + - Location: Choose ~/sw/private + - Solution: (Uncheck the create directory for solution checkbox) + - Click OK + - Next screen, select Application Settings tab + - Application type: DLL + - Additional options: Empty project + - Click Finish + +In the tool bar Solution Configurations dropdown, select Release. +In the tool bar Solution Platforms dropdown, select Win32. +(For 64 bit choose new configuration and create x64 with properties copied from +win32). + + +Build libcnary +------------------------- + +In VS Solution Explorer, right-click Solution 'imobiledevice', then click +Add|New Project. + - Name: libcnary + - Location: Add \imobiledevice to the end of the default location + - Visual C++: Win32, Template: Win32 Project + - Click OK + - Application Settings: Static library (not using precompiled headers) + - Click Finish + +In VS Solution Explorer, select the libcnary project, Project->Show All files. + - Right-click the include folder, select 'Include In Project'. + - Select all the .c files, right click, select 'Include In Project' + - Select all the .c files, right click -> Properties -> C/C++ -> Advanced -> Compile as C++ code + - Properties|Configuration Properties|C/C++: + General|Additional Include Directories: + "$(ProjectDir)\include" + - If 64bits, then Right click->Properties->Configuration Manager change + Win32 to x64 for the libcnary project and check the Build checkbox + - Right-click libcnary, Build. Should build with 0 errors, 0 warnings. + + +Build libplist +--------------------- + +In VS Solution Explorer, right-click Solution 'imobiledevice', then click +Add|New Project. + - Name: libplist + - Visual C++: Win32, Template: Win32 Project + - Location: Add \imobiledevice to the end of the default location + - Click OK + - Application Settings: DLL (Empty project) + - Click Finish + +In VS Solution Explorer, select the libplist project, then click the 'Show all files' +button. + - Right-click the include folder, select Include In Project + - Right-click the src folder, select Include In Project + - Set 7 C files to compile as C++ + Advanced|Compile As: Compile as C++ Code (/TP) + base64.c, bplist.c, bytearray.c, hashtable.c, plist.c, ptarray.c, xplist.c + - Properties|Configuration Properties|C/C++: + General|Additional Include Directories: + $(ProjectDir)\include + $(SolutionDir)\include + $(SolutionDir)\libcnary\include + $SW\include\libxml2 (if it exists) + $SW\include (make sure this is last in the list) + - Properties|C/C++|Preprocessor + Preprocessor Definitions: Add the following items + __STDC_FORMAT_MACROS + plist_EXPORTS + - Properties -> Linker -> General -> Additional Library directories: ~/sw/lib (for libxml2.lib) + - Properties -> Linker -> Input -> Additional Dependencies: libxml2.lib + - Project Dependencies: + Depends on: libcnary + - If 64bits, then Right click->Properties->Configuration Manager change + Win32 to x64 for the libcnary project and check the Build checkbox + - Right-click libplist, Build. Should build with 0 errors (there will be + warnings about datatype conversion for the 64 bit build) + +Build libusbmuxd +---------------------- + +In VS Solution Explorer, right-click Solution 'imobiledevice', then click +Add|New Project. + - Name: libusbmuxd + - Visual C++: Win32, Template: Win32 Project + - Location: Add \imobiledevice to the end of the default location + - Click OK + - Application Settings: DLL (Empty project) + - Click Finish + +In VS Solution Explorer, select the libusbmuxd project, then click the 'Show all files' +button. + - Select all 7 files, right-click, Include In Project. + - Set 3 C files to compile as C++ + Advanced|Compile As: Compile as C++ Code (/TP) + libusbmuxd.c, sock_stuff.c, utils.c + - Properties|Configuration Properties|C/C++: + General|Additional Include Directories: + $(SolutionDir)\include + $(SolutionDir)\libplist\include + - Properties|Linker|Input|Additional Dependencies: + ws2_32.lib + - Properties|C/C++|Preprocessor + Preprocessor Definitions: add 'HAVE_PLIST' + - Project Dependencies: + Depends on: libplist + - Edit sock_stuff.c #227: + fprintf(stderr, "%s: gethostbyname returned NULL address!\n", + __FUNCTION__); + - Edit libusbmuxd\usbmuxd.h, insert at #26: + #ifdef LIBUSBMUXD_EXPORTS + # define LIBUSBMUXD_API __declspec( dllexport ) + #else + # define LIBUSBMUXD_API __declspec( dllimport ) + #endif + Then, at each function, insert LIBUSBMUXD_API ahead of declaration: + usbmuxd_subscribe + usbmuxd_unsubscribe + usbmuxd_get_device_list + usbmuxd_device_list_free + usbmuxd_get_device_by_udid + usbmuxd_connect + usbmuxd_disconnect + usbmuxd_send + usbmuxd_recv_timeout + usbmuxd_recv + usbmuxd_set_use_inotify + usbmuxd_set_debug_level + + - If 64bits, then Right click->Properties->Configuration Manager change + Win32 to x64 for the libcnary project and check the Build checkbox + - Right-click libusbmuxd, Build. Should build with 0 errors, 10 or 14 warnings + +Build libgen +----------------------- + +In VS Solution Explorer, right-click Solution 'imobiledevice', then click +Add|New Project. + - Name: libgen + - Visual C++: Win32, Template: Win32 Project + - Location: Add \imobiledevice to the end of the default location + - Click OK + - Application Settings: Static library (not using precompiled headers) + - Click Finish + +In VS Solution Explorer, select the libgen project, then click the 'Show all files' +button. + - Select libgen.cpp and libgen.h, right click, select 'Include In Project' + - Open libgen.cpp, comment out line 5:: + // #include + (This is a Windows 8 include file, not needed to build in Win 7) + - If 64bits, then Right click->Properties->Configuration Manager change + Win32 to x64 for the libcnary project and check the Build checkbox + - Right-click libgen, Build. Should build with 0 errors, 0 warnings. + +Build libimobiledevice +---------------------------- + +In VS Solution Explorer, right-click Solution 'imobiledevice', then click +Add|New Project. + - Name: libimobiledevice + - Visual C++: Win32, Template: Win32 Project + - Location: Add \imobiledevice to the end of the default location + - Click OK + - Application Settings: DLL (Empty project) + - Click Finish + + - Right-click the include folder, select Include In Project + - Right-click the src folder, select Include In Project + - Set .c files to compile as C++ + Advanced|Compile As: Compile as C++ Code (/TP) + - Properties|Configuration Properties|C/C++: + General|Additional Include Directories: + $(ProjectDir)\include + $(SolutionDir)\include + $(SolutionDir)\libplist\include + $(SolutionDir)\libgen + $(SolutionDir)\libusbmuxd + $SW\private\openssl\include + - Properties -> Linker -> General -> Additional library directories: + $SW\private\openssl\lib + $(OutDir) + - Properties|Linker|Input|Additional Dependencies: + libeay32.lib + ssleay32.lib + libplist.lib + libgen.lib + libusbmuxd.lib + ws2_32.lib + - Properties|C/C++|Preprocessor + Preprocessor Definitions: + ASN1_STATIC + HAVE_OPENSSL + __LITTLE_ENDIAN__ + _LIB + - Project Dependencies: + libcnary + libgen + libplist + libusbmuxd + - Edit afc.c #35: + Comment out lines 35-37 (Synchapi.h is a Windows 8 include file) + - Edit userprofile.c and add at line 25: + #include + - Edit libimobiledevice\include\libimobiledevice\afc.h + At #26, insert + #define AFC_API __declspec( dllexport ) + Then, at each function, insert AFC_API ahead of declaration + afc_client_new + afc_client_free + afc_get_device_info + afc_read_directory + afc_get_file_info + afc_file_open + afc_file_close + afc_file_lock + afc_file_read + afc_file_write + afc_file_seek + afc_file_tell + afc_file_truncate + afc_remove_path + afc_rename_path + afc_make_directory + afc_truncate + afc_make_link + afc_set_file_time + afc_get_device_info_key + + - Edit libimobiledevice\include\libimobiledevice\housearrest.h + At #26, insert + #define HOUSE_ARREST_API __declspec( dllexport ) + Then, at each function, insert HOUSE_ARREST_API ahead of declaration + house_arrest_client_new + house_arrest_client_free + house_arrest_send_request + house_arrest_send_command + house_arrest_get_result + afc_client_new_from_house_arrest_client + + - Edit libimobiledevice\include\libimobiledevice\installation_proxy.h + At #26, insert + #define INSTALLATION_PROXY_API __declspec( dllexport ) + Then, at each function, insert INSTALLATION_PROXY_API ahead of declaration + instproxy_client_new + instproxy_client_free + instproxy_browse + instproxy_install + instproxy_upgrade + instproxy_uninstall + instproxy_lookup_archives + instproxy_archive + instproxy_restore + instproxy_remove_archive + instproxy_client_options_new + instproxy_client_options_add + instproxy_client_options_free + + - Edit libimobiledevice\include\libimobiledevice\libimobiledevice.h + At #26, insert + #define LIBIMOBILEDEVICE_API __declspec( dllexport ) + Then, at each function, insert LIBIMOBILEDEVICE_API ahead of declaration + idevice_set_debug_level + idevice_event_subscribe + idevice_event_unsubscribe + idevice_get_device_list + idevice_device_list_free + idevice_new + idevice_free + idevice_connect + idevice_disconnect + idevice_connection_send + idevice_connection_receive_timeout + idevice_connection_receive + idevice_get_handle + idevice_get_udid + + - Edit libimobiledevice\include\libimobiledevice\lockdown.h + At #27, insert + #define LOCKDOWN_API __declspec( dllexport ) + Then, at each function, insert LOCKDOWN_API ahead of declaration + lockdownd_client_new + lockdownd_client_new_with_handshake + lockdownd_client_free + lockdownd_query_type + lockdownd_get_value + lockdownd_set_value + lockdownd_remove_value + lockdownd_start_service + lockdownd_start_session + lockdownd_stop_session + lockdownd_send + lockdownd_receive + lockdownd_pair + lockdownd_validate_pair + lockdownd_unpair + lockdownd_activate + lockdownd_deactivate + lockdownd_enter_recovery + lockdownd_goodbye + lockdownd_getdevice_udid + lockdownd_get_device_name + lockdownd_get_sync_data + lockdownd_data_classes_free + lockdownd_service_descriptor_free + + - If 64bits, then Right click->Properties->Configuration Manager change + Win32 to x64 for the libcnary project and check the Build checkbox + - Right-click libimobiledevice, Build. + 0 errors, 60 warnings. + +Copy the DLLs +----------------- + +Run:: + cp `find . -name '*.dll'` ~/sw/bin/ + diff --git a/setup/installer/windows/notes.rst b/setup/installer/windows/notes.rst index 9110da8f4b..d8ebfed53f 100644 --- a/setup/installer/windows/notes.rst +++ b/setup/installer/windows/notes.rst @@ -540,6 +540,11 @@ Then open ChmLib.dsw in Visual Studio, change the configuration to Release (Win32|x64) and build solution, this will generate a static library in Release/ChmLib.lib +libimobiledevice +------------------ + +See libimobiledevice_notes.rst + calibre --------- diff --git a/setup/iso_639/ar.po b/setup/iso_639/ar.po index 4fa51be7bd..7487b277fd 100644 --- a/setup/iso_639/ar.po +++ b/setup/iso_639/ar.po @@ -10,15 +10,18 @@ msgstr "" "Report-Msgid-Bugs-To: Debian iso-codes team \n" "POT-Creation-Date: 2011-11-25 14:01+0000\n" -"PO-Revision-Date: 2011-08-27 05:57+0000\n" -"Last-Translator: Mohammad Gamal \n" -"Language-Team: Arabic \n" +"PO-Revision-Date: 2013-04-15 10:56+0000\n" +"Last-Translator: LADHARI \n" +"Language-Team: awadh alghaamdi \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-11-26 05:06+0000\n" -"X-Generator: Launchpad (build 14381)\n" +"X-Launchpad-Export-Date: 2013-04-16 04:37+0000\n" +"X-Generator: Launchpad (build 16564)\n" +"X-Poedit-Country: SAUDI ARABIA\n" "Language: ar\n" +"X-Poedit-Language: Arabic\n" +"X-Poedit-SourceCharset: utf-8\n" #. name for aaa msgid "Ghotuo" @@ -66,7 +69,7 @@ msgstr "" #. name for aam msgid "Aramanik" -msgstr "" +msgstr "ارامانيك" #. name for aan msgid "Anambé" @@ -110,7 +113,7 @@ msgstr "" #. name for aaz msgid "Amarasi" -msgstr "" +msgstr "أماراسي" #. name for aba msgid "Abé" @@ -294,7 +297,7 @@ msgstr "" #. name for acx msgid "Arabic; Omani" -msgstr "" +msgstr "عماني" #. name for acy msgid "Arabic; Cypriot" diff --git a/setup/iso_639/ca.po b/setup/iso_639/ca.po index 4bd9694de1..959a09a192 100644 --- a/setup/iso_639/ca.po +++ b/setup/iso_639/ca.po @@ -12,14 +12,14 @@ msgstr "" "Report-Msgid-Bugs-To: Debian iso-codes team \n" "POT-Creation-Date: 2011-11-25 14:01+0000\n" -"PO-Revision-Date: 2013-03-28 13:01+0000\n" +"PO-Revision-Date: 2013-04-21 08:00+0000\n" "Last-Translator: Ferran Rius \n" "Language-Team: Catalan \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-03-29 04:36+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-22 05:23+0000\n" +"X-Generator: Launchpad (build 16567)\n" "Language: ca\n" #. name for aaa @@ -52,7 +52,7 @@ msgstr "Ambrak" #. name for aah msgid "Arapesh; Abu'" -msgstr "Arapesh; Abu'" +msgstr "Bukiyip" #. name for aai msgid "Arifama-Miniafia" @@ -7580,7 +7580,7 @@ msgstr "Fyer" #. name for fij msgid "Fijian" -msgstr "fijià" +msgstr "Fijià" #. name for fil msgid "Filipino" @@ -10956,7 +10956,7 @@ msgstr "Jula; Worodougou" #. name for juh msgid "Hõne" -msgstr "" +msgstr "Hone" #. name for juk msgid "Wapan" @@ -11224,7 +11224,7 @@ msgstr "Kaiep" #. name for kbx msgid "Ap Ma" -msgstr "" +msgstr "Ap'Ma" #. name for kby msgid "Kanuri; Manga" @@ -12308,7 +12308,7 @@ msgstr "Kwoma" #. name for kmp msgid "Gimme" -msgstr "" +msgstr "Gimme" #. name for kmq msgid "Kwama" @@ -12608,7 +12608,7 @@ msgstr "Kepkiriwat" #. name for kpo msgid "Ikposo" -msgstr "" +msgstr "Acposo" #. name for kpp msgid "Karen; Paku" @@ -14704,7 +14704,7 @@ msgstr "Lopit" #. name for lra msgid "Rara Bakati'" -msgstr "" +msgstr "Bekati; Lara" #. name for lrc msgid "Luri; Northern" @@ -14756,7 +14756,7 @@ msgstr "Larevat" #. name for lrz msgid "Lemerig" -msgstr "" +msgstr "Vatrata; Sasar" #. name for lsa msgid "Lasgerdi" @@ -18372,7 +18372,7 @@ msgstr "Niueà" #. name for niv msgid "Gilyak" -msgstr "" +msgstr "Guiliak" #. name for niw msgid "Nimo" @@ -21364,7 +21364,7 @@ msgstr "Patani" #. name for pto msgid "Zo'é" -msgstr "" +msgstr "Poturu" #. name for ptp msgid "Patep" @@ -21408,7 +21408,7 @@ msgstr "Punan Rejang; Merap" #. name for pud msgid "Punan Aput" -msgstr "" +msgstr "Punan Kajang; Aput" #. name for pue msgid "Puelche" @@ -21416,7 +21416,7 @@ msgstr "Pueltxe" #. name for puf msgid "Punan Merah" -msgstr "" +msgstr "Punan Kajang; Merah" #. name for pug msgid "Phuie" @@ -21448,7 +21448,7 @@ msgstr "Pulabu" #. name for puq msgid "Puquina" -msgstr "" +msgstr "Chipaya (Puquina)" #. name for pur msgid "Puruborá" @@ -21456,7 +21456,7 @@ msgstr "Puruborá" #. name for pus msgid "Pushto" -msgstr "" +msgstr "Paixtú" #. name for put msgid "Putoh" @@ -21492,11 +21492,11 @@ msgstr "" #. name for pwg msgid "Gapapaiwa" -msgstr "" +msgstr "Gapapaiwa" #. name for pwm msgid "Molbog" -msgstr "" +msgstr "Molbog" #. name for pwn msgid "Paiwan" @@ -21524,7 +21524,7 @@ msgstr "Krumen; Pye" #. name for pym msgid "Fyam" -msgstr "" +msgstr "Fyam" #. name for pyn msgid "Poyanáwa" @@ -21560,7 +21560,7 @@ msgstr "Quítxua; Huallaga Huánuco" #. name for quc msgid "K'iche'" -msgstr "" +msgstr "Quitxé; central" #. name for qud msgid "Quichua; Calderón Highland" @@ -21596,7 +21596,7 @@ msgstr "Quítxua; Bolívia septentrional" #. name for qum msgid "Sipacapense" -msgstr "" +msgstr "Sipacapa" #. name for qun msgid "Quinault" @@ -21620,7 +21620,7 @@ msgstr "Quítxua; Santiago del Estero" #. name for quv msgid "Sacapulteco" -msgstr "" +msgstr "Sacapultec" #. name for quw msgid "Quichua; Tena Lowland" @@ -21712,7 +21712,7 @@ msgstr "Quítxua; Huaylas Ancash" #. name for qwm msgid "Kuman (Russia)" -msgstr "" +msgstr "Cumà" #. name for qws msgid "Quechua; Sihuas Ancash" @@ -21720,7 +21720,7 @@ msgstr "Quítxua; Sihuas Ancash" #. name for qwt msgid "Kwalhioqua-Tlatskanai" -msgstr "" +msgstr "Kwalhioqua-Tlatskanai" #. name for qxa msgid "Quechua; Chiquián Ancash" @@ -21784,11 +21784,11 @@ msgstr "" #. name for raa msgid "Dungmali" -msgstr "" +msgstr "Dungmali" #. name for rab msgid "Camling" -msgstr "" +msgstr "Camling" #. name for rac msgid "Rasawa" @@ -21804,7 +21804,7 @@ msgstr "Meohang; occidental" #. name for rag msgid "Logooli" -msgstr "" +msgstr "Logooli" #. name for rah msgid "Rabha" @@ -21816,11 +21816,11 @@ msgstr "Ramoaaina" #. name for raj msgid "Rajasthani" -msgstr "" +msgstr "Marwari" #. name for rak msgid "Tulu-Bohuai" -msgstr "" +msgstr "Tulu-Bohuai" #. name for ral msgid "Ralte" @@ -21828,7 +21828,7 @@ msgstr "Ralte" #. name for ram msgid "Canela" -msgstr "" +msgstr "Canela" #. name for ran msgid "Riantana" @@ -21844,15 +21844,15 @@ msgstr "Rapanui" #. name for raq msgid "Saam" -msgstr "" +msgstr "Saam" #. name for rar msgid "Maori; Cook Islands" -msgstr "" +msgstr "Rarotongà" #. name for ras msgid "Tegali" -msgstr "" +msgstr "Tegali" #. name for rat msgid "Razajerdi" @@ -21864,7 +21864,7 @@ msgstr "Raute" #. name for rav msgid "Sampang" -msgstr "" +msgstr "Sampang" #. name for raw msgid "Rawang" @@ -21988,7 +21988,7 @@ msgstr "Chittagoni; Rohingya" #. name for rhp msgid "Yahang" -msgstr "" +msgstr "Yahang" #. name for ria msgid "Riang (India)" @@ -22000,7 +22000,7 @@ msgstr "Rien" #. name for rif msgid "Tarifit" -msgstr "" +msgstr "Tamazight; Rifeny" #. name for ril msgid "Riang (Myanmar)" @@ -22008,11 +22008,11 @@ msgstr "Riang (Myanmar)" #. name for rim msgid "Nyaturu" -msgstr "" +msgstr "Nyaturu" #. name for rin msgid "Nungu" -msgstr "" +msgstr "Nungu" #. name for rir msgid "Ribun" @@ -22040,7 +22040,7 @@ msgstr "Rajbanshi" #. name for rka msgid "Kraol" -msgstr "" +msgstr "Kraol" #. name for rkb msgid "Rikbaktsa" @@ -22056,7 +22056,7 @@ msgstr "Rakhine" #. name for rkm msgid "Marka" -msgstr "" +msgstr "Marka" #. name for rkt msgid "Rangpuri" @@ -22092,11 +22092,11 @@ msgstr "Noruec; Traveller" #. name for rmh msgid "Murkim" -msgstr "" +msgstr "Murkim" #. name for rmi msgid "Lomavren" -msgstr "" +msgstr "Lomavren" #. name for rmk msgid "Romkun" @@ -22124,7 +22124,7 @@ msgstr "Rempi" #. name for rmq msgid "Caló" -msgstr "" +msgstr "Caló" #. name for rms msgid "Romanian Sign Language" @@ -22132,7 +22132,7 @@ msgstr "Llenguatge de signes romanès" #. name for rmt msgid "Domari" -msgstr "" +msgstr "Domari" #. name for rmu msgid "Romani; Tavringer" @@ -22156,7 +22156,7 @@ msgstr "Romaní; Vlax" #. name for rmz msgid "Marma" -msgstr "" +msgstr "Aracanès; Marma" #. name for rna msgid "Runa" @@ -22188,7 +22188,7 @@ msgstr "Rungwa" #. name for rob msgid "Tae'" -msgstr "" +msgstr "Tae" #. name for roc msgid "Roglai; Cacgia" @@ -22232,7 +22232,7 @@ msgstr "Rotokas" #. name for rop msgid "Kriol" -msgstr "" +msgstr "Kriol" #. name for ror msgid "Rongga" @@ -22244,7 +22244,7 @@ msgstr "Runga" #. name for row msgid "Dela-Oenale" -msgstr "" +msgstr "Roti; Dela-Oenale" #. name for rpn msgid "Repanbitip" @@ -22260,7 +22260,7 @@ msgstr "Ririo" #. name for rro msgid "Waima" -msgstr "" +msgstr "Waima" #. name for rsb msgid "Romano-Serbian" @@ -22288,7 +22288,7 @@ msgstr "Rathawi" #. name for rub msgid "Gungu" -msgstr "" +msgstr "Gungu" #. name for ruc msgid "Ruuli" @@ -22300,7 +22300,7 @@ msgstr "Rutè" #. name for ruf msgid "Luguru" -msgstr "" +msgstr "Luguru" #. name for rug msgid "Roviana" @@ -22316,7 +22316,7 @@ msgstr "Rufiji" #. name for ruk msgid "Che" -msgstr "" +msgstr "Kuche" #. name for run msgid "Rundi" @@ -22348,7 +22348,7 @@ msgstr "Lobu; Lanas" #. name for ruy msgid "Mala (Nigeria)" -msgstr "" +msgstr "Mala (Nigèria)" #. name for ruz msgid "Ruma" @@ -22364,7 +22364,7 @@ msgstr "Rwa" #. name for rwm msgid "Amba (Uganda)" -msgstr "" +msgstr "Amba" #. name for rwo msgid "Rawa" @@ -22376,15 +22376,15 @@ msgstr "Marwari; Índia" #. name for ryn msgid "Amami-Oshima; Northern" -msgstr "" +msgstr "Amami-Oshima; septentrional" #. name for rys msgid "Yaeyama" -msgstr "" +msgstr "Yaeyama" #. name for ryu msgid "Okinawan; Central" -msgstr "" +msgstr "Okinawa" #. name for saa msgid "Saba" @@ -22392,11 +22392,11 @@ msgstr "Saba" #. name for sab msgid "Buglere" -msgstr "" +msgstr "Buglere" #. name for sac msgid "Meskwaki" -msgstr "" +msgstr "Mesquakie" #. name for sad msgid "Sandawe" @@ -22416,7 +22416,7 @@ msgstr "Sango" #. name for sah msgid "Yakut" -msgstr "" +msgstr "Iacut" #. name for saj msgid "Sahu" @@ -22484,7 +22484,7 @@ msgstr "Saurashtra" #. name for sba msgid "Ngambay" -msgstr "" +msgstr "Ngambai" #. name for sbb msgid "Simbo" @@ -22492,7 +22492,7 @@ msgstr "Simbo" #. name for sbc msgid "Kele (Papua New Guinea)" -msgstr "" +msgstr "Kele (Papua Nova Guinea)" #. name for sbd msgid "Samo; Southern" @@ -22536,7 +22536,7 @@ msgstr "Sagala" #. name for sbn msgid "Bhil; Sindhi" -msgstr "" +msgstr "Sindhi Bhil" #. name for sbo msgid "Sabüm" @@ -22560,11 +22560,11 @@ msgstr "Subiya" #. name for sbt msgid "Kimki" -msgstr "" +msgstr "Kimki" #. name for sbu msgid "Bhoti; Stod" -msgstr "" +msgstr "Stod Bhoti" #. name for sbv msgid "Sabine" @@ -22580,7 +22580,7 @@ msgstr "Seberuang" #. name for sby msgid "Soli" -msgstr "" +msgstr "Solí" #. name for sbz msgid "Sara Kaba" @@ -22592,11 +22592,11 @@ msgstr "Sansu" #. name for scb msgid "Chut" -msgstr "" +msgstr "Chut" #. name for sce msgid "Dongxiang" -msgstr "" +msgstr "Dongxiang" #. name for scf msgid "Creole French; San Miguel" @@ -22632,11 +22632,11 @@ msgstr "Escocès" #. name for scp msgid "Helambu Sherpa" -msgstr "" +msgstr "Helambu Sherpa" #. name for scq msgid "Sa'och" -msgstr "" +msgstr "Chung" #. name for scs msgid "Slavey; North" @@ -22660,7 +22660,7 @@ msgstr "Sicel" #. name for sda msgid "Toraja-Sa'dan" -msgstr "" +msgstr "Toradja" #. name for sdb msgid "Shabak" @@ -22708,7 +22708,7 @@ msgstr "Sard; Gallura" #. name for sdo msgid "Bidayuh; Bukar-Sadung" -msgstr "" +msgstr "Bidayuh; Bukar" #. name for sdp msgid "Sherdukpen" @@ -22780,7 +22780,7 @@ msgstr "Sene" #. name for sek msgid "Sekani" -msgstr "" +msgstr "Sekani" #. name for sel msgid "Selkup" @@ -22836,7 +22836,7 @@ msgstr "Chin; Senthang" #. name for sfb msgid "Langue des signes de Belgique Francophone" -msgstr "" +msgstr "Llenguatge de signes de la Bèlgica Francòfona" #. name for sfm msgid "Miao; Small Flowery" @@ -22860,7 +22860,7 @@ msgstr "Ayta; Mag-anchi" #. name for sgc msgid "Kipsigis" -msgstr "" +msgstr "Kalenjín; Kipsigis" #. name for sgd msgid "Surigaonon" @@ -22904,11 +22904,11 @@ msgstr "Sangisari" #. name for sgs msgid "Samogitian" -msgstr "" +msgstr "Lituà; Zemaïte" #. name for sgt msgid "Brokpake" -msgstr "" +msgstr "Brokpake" #. name for sgu msgid "Salas" @@ -22936,7 +22936,7 @@ msgstr "Shall-Zwall" #. name for shb msgid "Ninam" -msgstr "" +msgstr "Shiriana" #. name for shc msgid "Sonde" @@ -22944,7 +22944,7 @@ msgstr "Sonde" #. name for shd msgid "Kundal Shahi" -msgstr "" +msgstr "Kundal Shahi" #. name for she msgid "Sheko" @@ -22960,7 +22960,7 @@ msgstr "Xoixon" #. name for shi msgid "Tachelhit" -msgstr "" +msgstr "Tamazight; Tachelhit" #. name for shj msgid "Shatt" @@ -22968,7 +22968,7 @@ msgstr "Shatt" #. name for shk msgid "Shilluk" -msgstr "" +msgstr "Xil·luk" #. name for shl msgid "Shendu" @@ -22980,7 +22980,7 @@ msgstr "Shahrudi" #. name for shn msgid "Shan" -msgstr "" +msgstr "Xan" #. name for sho msgid "Shanga" @@ -23024,7 +23024,7 @@ msgstr "She" #. name for shy msgid "Tachawit" -msgstr "" +msgstr "Tamazight; Shawi" #. name for shz msgid "Senoufo; Syenara" @@ -23052,11 +23052,11 @@ msgstr "Siamou" #. name for sig msgid "Paasaal" -msgstr "" +msgstr "Paasaal" #. name for sih msgid "Zire" -msgstr "" +msgstr "Zire" #. name for sii msgid "Shom Peng" @@ -23064,7 +23064,7 @@ msgstr "Shompen" #. name for sij msgid "Numbami" -msgstr "" +msgstr "Numbami" #. name for sik msgid "Sikiana" @@ -23124,7 +23124,7 @@ msgstr "Tamazight; Siwa" #. name for sja msgid "Epena" -msgstr "" +msgstr "Saija" #. name for sjb msgid "Sajau Basap" @@ -23140,7 +23140,7 @@ msgstr "Sami; Pite" #. name for sjg msgid "Assangori" -msgstr "" +msgstr "Assangori" #. name for sjk msgid "Sami; Kemi" @@ -23152,7 +23152,7 @@ msgstr "Sajalong" #. name for sjm msgid "Mapun" -msgstr "" +msgstr "Mapun" #. name for sjn msgid "Sindarin" @@ -23160,7 +23160,7 @@ msgstr "Sindarin" #. name for sjo msgid "Xibe" -msgstr "" +msgstr "Xibe" #. name for sjp msgid "Surjapuri" @@ -23256,7 +23256,7 @@ msgstr "Seraiki" #. name for sks msgid "Maia" -msgstr "" +msgstr "Maia (Papua Nova Guinea)" #. name for skt msgid "Sakata" @@ -23336,7 +23336,7 @@ msgstr "Salinan" #. name for slp msgid "Lamaholot" -msgstr "" +msgstr "Lamaholot" #. name for slq msgid "Salchuq" @@ -23376,7 +23376,7 @@ msgstr "Selayar" #. name for slz msgid "Ma'ya" -msgstr "" +msgstr "Ma´ya" #. name for sma msgid "Sami; Southern" @@ -23400,7 +23400,7 @@ msgstr "Sami; Septentrional" #. name for smf msgid "Auwe" -msgstr "" +msgstr "Auwé" #. name for smg msgid "Simbali" @@ -23416,7 +23416,7 @@ msgstr "Sami; Lule" #. name for smk msgid "Bolinao" -msgstr "" +msgstr "Bolinao" #. name for sml msgid "Sama; Central" @@ -23424,7 +23424,7 @@ msgstr "Samal; Central" #. name for smm msgid "Musasa" -msgstr "" +msgstr "Musasa" #. name for smn msgid "Sami; Inari" @@ -23452,7 +23452,7 @@ msgstr "Sami; Skolt" #. name for smt msgid "Simte" -msgstr "" +msgstr "Simte" #. name for smu msgid "Somray" @@ -23496,11 +23496,11 @@ msgstr "sindhi" #. name for sne msgid "Bidayuh; Bau" -msgstr "" +msgstr "Bidayuh; Bau" #. name for snf msgid "Noon" -msgstr "" +msgstr "Noon" #. name for sng msgid "Sanga (Democratic Republic of Congo)" @@ -23604,7 +23604,7 @@ msgstr "Sogdià" #. name for soh msgid "Aka" -msgstr "" +msgstr "Aka" #. name for soi msgid "Sonha" @@ -23636,7 +23636,7 @@ msgstr "Songe" #. name for soq msgid "Kanasi" -msgstr "" +msgstr "Kanasi" #. name for sor msgid "Somrai" @@ -23668,11 +23668,11 @@ msgstr "So (Camerun)" #. name for soy msgid "Miyobe" -msgstr "" +msgstr "Miyobe" #. name for soz msgid "Temi" -msgstr "" +msgstr "Temi" #. name for spa msgid "Spanish" @@ -23816,7 +23816,7 @@ msgstr "Sara" #. name for srf msgid "Nafi" -msgstr "" +msgstr "Nafi" #. name for srg msgid "Sulod" @@ -23836,7 +23836,7 @@ msgstr "Serudung Murut" #. name for srl msgid "Isirawa" -msgstr "" +msgstr "Isirawa" #. name for srm msgid "Saramaccan" @@ -23912,7 +23912,7 @@ msgstr "Balangingi" #. name for ssf msgid "Thao" -msgstr "" +msgstr "Thao" #. name for ssg msgid "Seimat" @@ -23940,11 +23940,11 @@ msgstr "Sisaala; Occidental" #. name for ssm msgid "Semnam" -msgstr "" +msgstr "Semnam" #. name for ssn msgid "Waata" -msgstr "" +msgstr "Sanye" #. name for sso msgid "Sissano" @@ -24016,7 +24016,7 @@ msgstr "Seta" #. name for stg msgid "Trieng" -msgstr "" +msgstr "Trieng" #. name for sth msgid "Shelta" @@ -24032,7 +24032,7 @@ msgstr "Samo; Matya" #. name for stk msgid "Arammba" -msgstr "" +msgstr "Aramba" #. name for stl msgid "Stellingwerfs" @@ -24044,7 +24044,7 @@ msgstr "Setaman" #. name for stn msgid "Owa" -msgstr "" +msgstr "Owa" #. name for sto msgid "Stoney" @@ -24124,7 +24124,7 @@ msgstr "Suri" #. name for sur msgid "Mwaghavul" -msgstr "" +msgstr "Mwaghavul" #. name for sus msgid "Susu" @@ -24160,7 +24160,7 @@ msgstr "Svaneci" #. name for svb msgid "Ulau-Suain" -msgstr "" +msgstr "Ulau-Suain" #. name for svc msgid "Creole English; Vincentian" @@ -24192,7 +24192,7 @@ msgstr "Suahili (macrollengua)" #. name for swb msgid "Comorian; Maore" -msgstr "" +msgstr "Comorià; Shimaore" #. name for swc msgid "Swahili; Congo" @@ -24372,7 +24372,7 @@ msgstr "Suoy" #. name for syr msgid "Syriac" -msgstr "" +msgstr "Arameu; Siríac" #. name for sys msgid "Sinyar" @@ -24380,7 +24380,7 @@ msgstr "Sinyar" #. name for syw msgid "Kagate" -msgstr "" +msgstr "Kagate" #. name for syy msgid "Al-Sayyid Bedouin Sign Language" @@ -24392,7 +24392,7 @@ msgstr "Semelai" #. name for szb msgid "Ngalum" -msgstr "" +msgstr "Ngalum" #. name for szc msgid "Semaq Beri" @@ -24424,7 +24424,7 @@ msgstr "Suabo" #. name for szv msgid "Isu (Fako Division)" -msgstr "" +msgstr "Isu (no bantu)" #. name for szw msgid "Sawai" @@ -24484,7 +24484,7 @@ msgstr "Tangale" #. name for tao msgid "Yami" -msgstr "" +msgstr "Yami" #. name for tap msgid "Taabwa" @@ -24524,7 +24524,7 @@ msgstr "Tamki" #. name for tay msgid "Atayal" -msgstr "" +msgstr "Atayal" #. name for taz msgid "Tocho" @@ -24532,7 +24532,7 @@ msgstr "Tocho" #. name for tba msgid "Aikanã" -msgstr "" +msgstr "Tubarao" #. name for tbb msgid "Tapeba" @@ -24544,7 +24544,7 @@ msgstr "Takia" #. name for tbd msgid "Kaki Ae" -msgstr "" +msgstr "Kaki Ae" #. name for tbe msgid "Tanimbili" @@ -24552,7 +24552,7 @@ msgstr "Tanimbili" #. name for tbf msgid "Mandara" -msgstr "" +msgstr "Mandara" #. name for tbg msgid "Tairora; North" @@ -24564,7 +24564,7 @@ msgstr "Thurawal" #. name for tbi msgid "Gaam" -msgstr "" +msgstr "Gaam" #. name for tbj msgid "Tiang" @@ -24592,7 +24592,7 @@ msgstr "Tawala" #. name for tbp msgid "Taworta" -msgstr "" +msgstr "Taworta" #. name for tbr msgid "Tumtum" @@ -24620,7 +24620,7 @@ msgstr "Tagbanwa" #. name for tbx msgid "Kapin" -msgstr "" +msgstr "Kapin" #. name for tby msgid "Tabaru" @@ -24628,7 +24628,7 @@ msgstr "Tabaru" #. name for tbz msgid "Ditammari" -msgstr "" +msgstr "Ditammari" #. name for tca msgid "Ticuna" @@ -24640,7 +24640,7 @@ msgstr "Tanana; Tanacross" #. name for tcc msgid "Datooga" -msgstr "" +msgstr "Tatoga" #. name for tcd msgid "Tafi" @@ -24664,7 +24664,7 @@ msgstr "Anglès crioll; turcs i caicos" #. name for tci msgid "Wára" -msgstr "" +msgstr "Wara (Papua Nova Guinea)" #. name for tck msgid "Tchitchege" @@ -24692,7 +24692,7 @@ msgstr "Chin; Tawr" #. name for tcq msgid "Kaiy" -msgstr "" +msgstr "Kaiy" #. name for tcs msgid "Creole; Torres Strait" @@ -24728,7 +24728,7 @@ msgstr "Tagdal" #. name for tdb msgid "Panchpargania" -msgstr "" +msgstr "Panchpargania" #. name for tdc msgid "Emberá-Tadó" @@ -24768,7 +24768,7 @@ msgstr "Tambas" #. name for tdl msgid "Sur" -msgstr "" +msgstr "Sur" #. name for tdn msgid "Tondano" @@ -24788,7 +24788,7 @@ msgstr "Todrah" #. name for tds msgid "Doutai" -msgstr "" +msgstr "Doutai" #. name for tdt msgid "Tetun Dili" @@ -24856,7 +24856,7 @@ msgstr "telugu" #. name for tem msgid "Timne" -msgstr "" +msgstr "Temne" #. name for ten msgid "Tama (Colombia)" @@ -24888,7 +24888,7 @@ msgstr "Tetun" #. name for teu msgid "Soo" -msgstr "" +msgstr "Soo" #. name for tev msgid "Teor" @@ -24928,7 +24928,7 @@ msgstr "Ternate" #. name for tga msgid "Sagalla" -msgstr "" +msgstr "Sagalla" #. name for tgb msgid "Tobilung" @@ -24940,7 +24940,7 @@ msgstr "Tigak" #. name for tgd msgid "Ciwogai" -msgstr "" +msgstr "Ciwogai" #. name for tge msgid "Tamang; Eastern Gorkha" @@ -24948,7 +24948,7 @@ msgstr "Tamang; Gorkha" #. name for tgf msgid "Chalikha" -msgstr "" +msgstr "Chalikha" #. name for tgg msgid "Tangga" @@ -24960,7 +24960,7 @@ msgstr "Anglès crioll; Tobago" #. name for tgi msgid "Lawunuia" -msgstr "" +msgstr "Lawunuia" #. name for tgk msgid "Tajik" @@ -24976,7 +24976,7 @@ msgstr "Surigaonon; Naturalis" #. name for tgo msgid "Sudest" -msgstr "" +msgstr "Tagula" #. name for tgp msgid "Tangoa" @@ -24992,7 +24992,7 @@ msgstr "Tareng" #. name for tgs msgid "Nume" -msgstr "" +msgstr "Nume" #. name for tgt msgid "Tagbanwa; Central" @@ -25056,7 +25056,7 @@ msgstr "Tharu; Dangaura" #. name for thm msgid "Aheu" -msgstr "" +msgstr "Aheu" #. name for thn msgid "Thachanadan" @@ -25180,7 +25180,7 @@ msgstr "Tinígua" #. name for tiu msgid "Adasen" -msgstr "" +msgstr "Itneg; Adasen" #. name for tiv msgid "Tiv" @@ -25240,7 +25240,7 @@ msgstr "Trukà" #. name for tkb msgid "Buksa" -msgstr "" +msgstr "Buksa" #. name for tkd msgid "Tukudede" @@ -25332,7 +25332,7 @@ msgstr "Tofanma" #. name for tlh msgid "Klingon" -msgstr "" +msgstr "Klingon" #. name for tli msgid "Tlingit" @@ -25396,7 +25396,7 @@ msgstr "Wemale; Meridional" #. name for tlx msgid "Khehek" -msgstr "" +msgstr "Khehek" #. name for tly msgid "Talysh" @@ -25408,7 +25408,7 @@ msgstr "Tama (Txad)" #. name for tmb msgid "Katbol" -msgstr "" +msgstr "Katbol" #. name for tmc msgid "Tumak" @@ -25416,11 +25416,11 @@ msgstr "Tumak" #. name for tmd msgid "Haruai" -msgstr "" +msgstr "Haruai" #. name for tme msgid "Tremembé" -msgstr "" +msgstr "Tremembé" #. name for tmf msgid "Toba-Maskoy" @@ -25440,7 +25440,7 @@ msgstr "Tutuba" #. name for tmj msgid "Samarokena" -msgstr "" +msgstr "Samarokena" #. name for tmk msgid "Tamang; Northwestern" @@ -25448,7 +25448,7 @@ msgstr "Tamang; Nordoccidental" #. name for tml msgid "Citak; Tamnim" -msgstr "" +msgstr "Citak; Tamnim" #. name for tmm msgid "Tai Thanh" @@ -25484,7 +25484,7 @@ msgstr "Tasmate" #. name for tmu msgid "Iau" -msgstr "" +msgstr "Iau" #. name for tmv msgid "Tembo (Motembo)" @@ -25528,7 +25528,7 @@ msgstr "Tobanga" #. name for tnh msgid "Maiani" -msgstr "" +msgstr "Maiani" #. name for tni msgid "Tandia" @@ -25536,11 +25536,11 @@ msgstr "Tandia" #. name for tnk msgid "Kwamera" -msgstr "" +msgstr "Kwamera" #. name for tnl msgid "Lenakel" -msgstr "" +msgstr "Lenakel" #. name for tnm msgid "Tabla" @@ -25556,7 +25556,7 @@ msgstr "Toromono" #. name for tnp msgid "Whitesands" -msgstr "" +msgstr "Whitesands" #. name for tnq msgid "Taino" @@ -25564,7 +25564,7 @@ msgstr "Taíno" #. name for tnr msgid "Bedik" -msgstr "" +msgstr "Budik" #. name for tns msgid "Tenis" @@ -25580,7 +25580,7 @@ msgstr "Tay Khang" #. name for tnv msgid "Tangchangya" -msgstr "" +msgstr "Tangchangya" #. name for tnw msgid "Tonsawang" @@ -25616,7 +25616,7 @@ msgstr "Tomedes" #. name for tof msgid "Gizrra" -msgstr "" +msgstr "Gizra" #. name for tog msgid "Tonga (Nyasa)" @@ -25676,7 +25676,7 @@ msgstr "Taromi" #. name for tow msgid "Jemez" -msgstr "" +msgstr "Towa" #. name for tox msgid "Tobian" @@ -25688,7 +25688,7 @@ msgstr "Topoiyo" #. name for toz msgid "To" -msgstr "" +msgstr "To" #. name for tpa msgid "Taupota" @@ -25708,7 +25708,7 @@ msgstr "Tarpia" #. name for tpg msgid "Kula" -msgstr "" +msgstr "Kula" #. name for tpi msgid "Tok Pisin" @@ -25784,7 +25784,7 @@ msgstr "Tembé" #. name for tql msgid "Lehali" -msgstr "" +msgstr "Lehali" #. name for tqm msgid "Turumsa" @@ -25848,7 +25848,7 @@ msgstr "Anglès crioll; Trinidad" #. name for trg msgid "Lishán Didán" -msgstr "" +msgstr "Arameu; Lishan Didan" #. name for trh msgid "Turaka" @@ -25880,7 +25880,7 @@ msgstr "Naga; Tarao" #. name for trp msgid "Kok Borok" -msgstr "" +msgstr "Tripurí" #. name for trq msgid "Triqui; San Martín Itunyoso" @@ -25912,7 +25912,7 @@ msgstr "Torwali" #. name for trx msgid "Bidayuh; Tringgus-Sembaan" -msgstr "" +msgstr "Bidayuh; Tringgus" #. name for try msgid "Turung" @@ -25992,7 +25992,7 @@ msgstr "Llenguatge de signes Thai" #. name for tsr msgid "Akei" -msgstr "" +msgstr "Tasiriki" #. name for tss msgid "Taiwan Sign Language" @@ -26016,7 +26016,7 @@ msgstr "Tsishingini" #. name for tsx msgid "Mubami" -msgstr "" +msgstr "Tao-Suamato" #. name for tsy msgid "Tebul Sign Language" @@ -26104,23 +26104,23 @@ msgstr "Tai; Nordoriental" #. name for ttt msgid "Tat; Muslim" -msgstr "" +msgstr "Tat" #. name for ttu msgid "Torau" -msgstr "" +msgstr "Torau" #. name for ttv msgid "Titan" -msgstr "" +msgstr "Titan" #. name for ttw msgid "Long Wat" -msgstr "" +msgstr "Kenyah; Tutoh" #. name for tty msgid "Sikaritai" -msgstr "" +msgstr "Sikaritai" #. name for ttz msgid "Tsum" @@ -26128,7 +26128,7 @@ msgstr "Tsum" #. name for tua msgid "Wiarumus" -msgstr "" +msgstr "Mandi" #. name for tub msgid "Tübatulabal" @@ -26136,7 +26136,7 @@ msgstr "Tubatulabal" #. name for tuc msgid "Mutu" -msgstr "" +msgstr "Mutu" #. name for tud msgid "Tuxá" @@ -26220,7 +26220,7 @@ msgstr "Turka" #. name for tva msgid "Vaghua" -msgstr "" +msgstr "Vaghua" #. name for tvd msgid "Tsuvadi" @@ -26260,7 +26260,7 @@ msgstr "Naga; Tutsa" #. name for tvw msgid "Sedoa" -msgstr "" +msgstr "Sedoa" #. name for tvy msgid "Pidgin; Timor" @@ -26280,7 +26280,7 @@ msgstr "Teshenawa" #. name for twd msgid "Twents" -msgstr "" +msgstr "Neerlandès; Twents" #. name for twe msgid "Tewa (Indonesia)" @@ -26320,7 +26320,7 @@ msgstr "Tswapong" #. name for twp msgid "Ere" -msgstr "" +msgstr "Ere" #. name for twq msgid "Tasawaq" @@ -26376,7 +26376,7 @@ msgstr "Traci" #. name for txi msgid "Ikpeng" -msgstr "" +msgstr "Txikao" #. name for txm msgid "Tomini" @@ -26404,11 +26404,11 @@ msgstr "Tonsea" #. name for txt msgid "Citak" -msgstr "" +msgstr "Citak" #. name for txu msgid "Kayapó" -msgstr "" +msgstr "Caiapo" #. name for txx msgid "Tatana" @@ -26424,11 +26424,11 @@ msgstr "Tauya" #. name for tye msgid "Kyenga" -msgstr "" +msgstr "Kyenga" #. name for tyh msgid "O'du" -msgstr "" +msgstr "Odu" #. name for tyi msgid "Teke-Tsaayi" @@ -26444,7 +26444,7 @@ msgstr "Thu Lao" #. name for tyn msgid "Kombai" -msgstr "" +msgstr "Kombai" #. name for typ msgid "Thaypan" @@ -26464,7 +26464,7 @@ msgstr "Tay Tac" #. name for tyu msgid "Kua" -msgstr "" +msgstr "Kua" #. name for tyv msgid "Tuvinian" @@ -26512,11 +26512,11 @@ msgstr "Uamué" #. name for uan msgid "Kuan" -msgstr "" +msgstr "Kuan" #. name for uar msgid "Tairuma" -msgstr "" +msgstr "Tairuma" #. name for uba msgid "Ubang" @@ -26536,7 +26536,7 @@ msgstr "Ubir" #. name for ubu msgid "Umbu-Ungu" -msgstr "" +msgstr "Kaugel" #. name for uby msgid "Ubykh" @@ -26564,7 +26564,7 @@ msgstr "Ujir" #. name for udl msgid "Wuzlam" -msgstr "" +msgstr "Wuzlam" #. name for udm msgid "Udmurt" @@ -26576,7 +26576,7 @@ msgstr "Uduk" #. name for ues msgid "Kioko" -msgstr "" +msgstr "Kioko" #. name for ufi msgid "Ufim" @@ -26612,7 +26612,7 @@ msgstr "Uhami" #. name for uhn msgid "Damal" -msgstr "" +msgstr "Uhumduni" #. name for uig msgid "Uighur" @@ -26624,15 +26624,15 @@ msgstr "Uisai" #. name for uiv msgid "Iyive" -msgstr "" +msgstr "Iyive" #. name for uji msgid "Tanjijili" -msgstr "" +msgstr "Tanjijili" #. name for uka msgid "Kaburi" -msgstr "" +msgstr "Kaburi" #. name for ukg msgid "Ukuriguma" @@ -26672,7 +26672,7 @@ msgstr "Ukwuani-Abo-Ndoni" #. name for ula msgid "Fungwa" -msgstr "" +msgstr "Fungwa" #. name for ulb msgid "Ulukwumi" @@ -26692,7 +26692,7 @@ msgstr "Ulithià" #. name for ulk msgid "Meriam" -msgstr "" +msgstr "Meriam Mir" #. name for ull msgid "Ullatan" @@ -26724,7 +26724,7 @@ msgstr "Umbundu" #. name for umc msgid "Marrucinian" -msgstr "" +msgstr "Marrucinià" #. name for umd msgid "Umbindhamu" @@ -26760,11 +26760,11 @@ msgstr "Umbugarla" #. name for ums msgid "Pendau" -msgstr "" +msgstr "Pendau" #. name for umu msgid "Munsee" -msgstr "" +msgstr "Lenape; Munsee" #. name for una msgid "Watut; North" @@ -26780,11 +26780,11 @@ msgstr "Uneme" #. name for ung msgid "Ngarinyin" -msgstr "" +msgstr "Ngarinyin" #. name for unk msgid "Enawené-Nawé" -msgstr "" +msgstr "Enawené-Nawé" #. name for unm msgid "Unami" @@ -26792,11 +26792,11 @@ msgstr "Lenape; Unami" #. name for unp msgid "Worora" -msgstr "" +msgstr "Worrorra" #. name for unr msgid "Mundari" -msgstr "" +msgstr "Mundari" #. name for unx msgid "Munda" @@ -26820,7 +26820,7 @@ msgstr "Uripiv-Wala-Rano-Atchin" #. name for ura msgid "Urarina" -msgstr "" +msgstr "Simaku" #. name for urb msgid "Urubú-Kaapor" @@ -26876,11 +26876,11 @@ msgstr "Ura (Papua Nova Guinea)" #. name for urp msgid "Uru-Pa-In" -msgstr "" +msgstr "Urupain" #. name for urr msgid "Lehalurup" -msgstr "" +msgstr "Lehalurup" #. name for urt msgid "Urat" @@ -26896,7 +26896,7 @@ msgstr "Uruava" #. name for urw msgid "Sop" -msgstr "" +msgstr "Sop" #. name for urx msgid "Urimo" @@ -26904,7 +26904,7 @@ msgstr "Urimo" #. name for ury msgid "Orya" -msgstr "" +msgstr "Orya" #. name for urz msgid "Uru-Eu-Wau-Wau" @@ -26936,7 +26936,7 @@ msgstr "Uya" #. name for uta msgid "Otank" -msgstr "" +msgstr "Otank" #. name for ute msgid "Ute-Southern Paiute" @@ -26944,11 +26944,11 @@ msgstr "Ute-Paiute" #. name for utp msgid "Amba (Solomon Islands)" -msgstr "" +msgstr "Utupua" #. name for utr msgid "Etulo" -msgstr "" +msgstr "Etulo" #. name for utu msgid "Utu" @@ -26960,7 +26960,7 @@ msgstr "Urum" #. name for uun msgid "Kulon-Pazeh" -msgstr "" +msgstr "Kulun" #. name for uur msgid "Ura (Vanuatu)" @@ -26980,7 +26980,7 @@ msgstr "Uri" #. name for uvl msgid "Lote" -msgstr "" +msgstr "Lote" #. name for uwa msgid "Kuku-Uwanh" @@ -26988,7 +26988,7 @@ msgstr "Kuku; Uwanh" #. name for uya msgid "Doko-Uyanga" -msgstr "" +msgstr "Doko-Uyanga" #. name for uzb msgid "Uzbek" @@ -27052,7 +27052,7 @@ msgstr "Vaiphei" #. name for var msgid "Huarijio" -msgstr "" +msgstr "Huarijio" #. name for vas msgid "Vasavi" @@ -27068,11 +27068,11 @@ msgstr "Varli" #. name for vay msgid "Wayu" -msgstr "" +msgstr "Hayu" #. name for vbb msgid "Babar; Southeast" -msgstr "" +msgstr "Babar; meridional" #. name for vbk msgid "Bontok; Southwestern" @@ -27108,7 +27108,7 @@ msgstr "Veps" #. name for ver msgid "Mom Jango" -msgstr "" +msgstr "Mom Jango" #. name for vgr msgid "Vaghri" @@ -27156,35 +27156,35 @@ msgstr "Viti" #. name for viv msgid "Iduna" -msgstr "" +msgstr "Iduna" #. name for vka msgid "Kariyarra" -msgstr "" +msgstr "Kariyarra" #. name for vki msgid "Ija-Zuba" -msgstr "" +msgstr "Ija-Zuba" #. name for vkj msgid "Kujarge" -msgstr "" +msgstr "Kujarge" #. name for vkk msgid "Kaur" -msgstr "" +msgstr "Kaur" #. name for vkl msgid "Kulisusu" -msgstr "" +msgstr "Kulisusu" #. name for vkm msgid "Kamakan" -msgstr "" +msgstr "Kamakan" #. name for vko msgid "Kodeoha" -msgstr "" +msgstr "Kodeoha" #. name for vkp msgid "Creole Portuguese; Korlai" @@ -27196,7 +27196,7 @@ msgstr "Malai; Tenggarong Kutai" #. name for vku msgid "Kurrama" -msgstr "" +msgstr "Kurrama" #. name for vlp msgid "Valpei" @@ -27208,11 +27208,11 @@ msgstr "Neerlandès; Vlaams" #. name for vma msgid "Martuyhunira" -msgstr "" +msgstr "Marthuyhunira" #. name for vmb msgid "Mbabaram" -msgstr "" +msgstr "Mbara" #. name for vmc msgid "Mixtec; Juxtlahuaca" @@ -27228,19 +27228,19 @@ msgstr "Masela; Oriental" #. name for vmf msgid "Mainfränkisch" -msgstr "" +msgstr "Alemany; Francònic" #. name for vmg msgid "Minigir" -msgstr "" +msgstr "Minigir" #. name for vmh msgid "Maraghei" -msgstr "" +msgstr "Maraghei" #. name for vmi msgid "Miwa" -msgstr "" +msgstr "Wunambal; Miwa" #. name for vmj msgid "Mixtec; Ixtayutla" @@ -27252,7 +27252,7 @@ msgstr "Makua; Shirima" #. name for vml msgid "Malgana" -msgstr "" +msgstr "Malgana" #. name for vmm msgid "Mixtec; Mitlatongo" @@ -27268,15 +27268,15 @@ msgstr "Mixtec; Soyaltepec" #. name for vmr msgid "Marenje" -msgstr "" +msgstr "Marenje" #. name for vms msgid "Moksela" -msgstr "" +msgstr "Moksela" #. name for vmu msgid "Muluridyi" -msgstr "" +msgstr "Muluridyi" #. name for vmv msgid "Maidu; Valley" @@ -27324,7 +27324,7 @@ msgstr "Vòtic" #. name for vra msgid "Vera'a" -msgstr "" +msgstr "Vatrata" #. name for vro msgid "Võro" @@ -27336,7 +27336,7 @@ msgstr "Varisi" #. name for vrt msgid "Burmbar" -msgstr "" +msgstr "Burmbar" #. name for vsi msgid "Moldova Sign Language" @@ -27444,7 +27444,7 @@ msgstr "Washo" #. name for wat msgid "Kaninuwa" -msgstr "" +msgstr "Kaninuwa" #. name for wau msgid "Waurá" @@ -27492,11 +27492,11 @@ msgstr "Wanda" #. name for wbi msgid "Vwanji" -msgstr "" +msgstr "Wanji" #. name for wbj msgid "Alagwa" -msgstr "" +msgstr "Alagwa" #. name for wbk msgid "Waigali" @@ -27536,7 +27536,7 @@ msgstr "Woi" #. name for wca msgid "Yanomámi" -msgstr "" +msgstr "Ianomami" #. name for wci msgid "Gbe; Waci" @@ -27576,7 +27576,7 @@ msgstr "Weh" #. name for wei msgid "Kiunum" -msgstr "" +msgstr "Were" #. name for wem msgid "Gbe; Weme" @@ -27600,7 +27600,7 @@ msgstr "Crioll camerunès" #. name for wet msgid "Perai" -msgstr "" +msgstr "Perai" #. name for weu msgid "Welaung" @@ -27612,7 +27612,7 @@ msgstr "Wejewa" #. name for wfg msgid "Yafi" -msgstr "" +msgstr "Yafi" #. name for wga msgid "Wagaya" @@ -27624,7 +27624,7 @@ msgstr "Wagawaga" #. name for wgg msgid "Wangganguru" -msgstr "" +msgstr "Wangganguru" #. name for wgi msgid "Wahgi" @@ -27640,7 +27640,7 @@ msgstr "Warrgamay" #. name for wha msgid "Manusela" -msgstr "" +msgstr "Manusela" #. name for whg msgid "Wahgi; North" @@ -27648,7 +27648,7 @@ msgstr "Wahgi; Septentrional" #. name for whk msgid "Kenyah; Wahau" -msgstr "" +msgstr "Kenyah; Wahau" #. name for whu msgid "Kayan; Wahau" @@ -27680,7 +27680,7 @@ msgstr "Wik; Meanha" #. name for wii msgid "Minidien" -msgstr "" +msgstr "Wiaki" #. name for wij msgid "Wik-Iiyanh" @@ -27700,7 +27700,7 @@ msgstr "Wik; Mungkan" #. name for win msgid "Ho-Chunk" -msgstr "" +msgstr "Hocak" #. name for wir msgid "Wiraféd" @@ -27716,7 +27716,7 @@ msgstr "Wiru" #. name for wiv msgid "Muduapa" -msgstr "" +msgstr "Muduapa" #. name for wiw msgid "Wirangu" @@ -27736,7 +27736,7 @@ msgstr "Warji" #. name for wka msgid "Kw'adza" -msgstr "" +msgstr "Kwadza" #. name for wkb msgid "Kumbaran" @@ -27764,7 +27764,7 @@ msgstr "Walio" #. name for wlc msgid "Comorian; Mwali" -msgstr "" +msgstr "Comorià; Mwali" #. name for wle msgid "Wolane" @@ -27772,7 +27772,7 @@ msgstr "Gurage; Wolane" #. name for wlg msgid "Kunbarlang" -msgstr "" +msgstr "Kunbarlang" #. name for wli msgid "Waioli" @@ -27828,7 +27828,7 @@ msgstr "Waling" #. name for wma msgid "Mawa (Nigeria)" -msgstr "" +msgstr "Mawa (Nigèria)" #. name for wmb msgid "Wambaya" @@ -27852,7 +27852,7 @@ msgstr "Waima'a" #. name for wmi msgid "Wamin" -msgstr "" +msgstr "Wamin" #. name for wmm msgid "Maiwa (Indonesia)" @@ -27860,7 +27860,7 @@ msgstr "Maiwa (Indonèsia)" #. name for wmn msgid "Waamwang" -msgstr "" +msgstr "Waamwang" #. name for wmo msgid "Wom (Papua New Guinea)" @@ -27876,7 +27876,7 @@ msgstr "Walmajarri" #. name for wmw msgid "Mwani" -msgstr "" +msgstr "Mwani" #. name for wmx msgid "Womo" @@ -27904,7 +27904,7 @@ msgstr "Wanggom" #. name for wni msgid "Comorian; Ndzwani" -msgstr "" +msgstr "Comorià; Ndzwani" #. name for wnk msgid "Wanukaka" @@ -27924,11 +27924,11 @@ msgstr "Wanap" #. name for wnu msgid "Usan" -msgstr "" +msgstr "Usan" #. name for woa msgid "Tyaraity" -msgstr "" +msgstr "Tyaraity" #. name for wob msgid "Wè Northern" @@ -27956,11 +27956,11 @@ msgstr "Wogamusin" #. name for woi msgid "Kamang" -msgstr "" +msgstr "Kamang" #. name for wok msgid "Longto" -msgstr "" +msgstr "Longto" #. name for wol msgid "Wolof" @@ -27976,7 +27976,7 @@ msgstr "Wongo" #. name for woo msgid "Manombai" -msgstr "" +msgstr "Manombai" #. name for wor msgid "Woria" @@ -27984,7 +27984,7 @@ msgstr "Woria" #. name for wos msgid "Hanga Hundi" -msgstr "" +msgstr "Hanga Hundi" #. name for wow msgid "Wawonii" @@ -27996,7 +27996,7 @@ msgstr "Weyto" #. name for wpc msgid "Maco" -msgstr "" +msgstr "Mako" #. name for wra msgid "Warapu" @@ -28056,7 +28056,7 @@ msgstr "Waruna" #. name for wrw msgid "Gugu Warra" -msgstr "" +msgstr "Guguwarra" #. name for wrx msgid "Wae Rana" @@ -28064,7 +28064,7 @@ msgstr "Waerana" #. name for wry msgid "Merwari" -msgstr "" +msgstr "Merwari" #. name for wrz msgid "Waray (Australia)" @@ -28084,7 +28084,7 @@ msgstr "Waskia" #. name for wsr msgid "Owenia" -msgstr "" +msgstr "Owenia" #. name for wss msgid "Wasa" @@ -28104,7 +28104,7 @@ msgstr "Dumpu" #. name for wti msgid "Berta" -msgstr "" +msgstr "Berta" #. name for wtk msgid "Watakataui" @@ -28112,7 +28112,7 @@ msgstr "Watakataui" #. name for wtm msgid "Mewati" -msgstr "" +msgstr "Mewati" #. name for wtw msgid "Wotu" @@ -28136,7 +28136,7 @@ msgstr "Wutunhua" #. name for wul msgid "Silimo" -msgstr "" +msgstr "Silimo" #. name for wum msgid "Wumbvu" @@ -28144,7 +28144,7 @@ msgstr "Wumbvu" #. name for wun msgid "Bungu" -msgstr "" +msgstr "Bungu" #. name for wur msgid "Wurrugu" @@ -28208,7 +28208,7 @@ msgstr "Wayoró" #. name for wyy msgid "Fijian; Western" -msgstr "" +msgstr "Fijià; occidental" #. name for xaa msgid "Arabic; Andalusian" @@ -28220,27 +28220,27 @@ msgstr "" #. name for xac msgid "Kachari" -msgstr "" +msgstr "Kachari" #. name for xad msgid "Adai" -msgstr "" +msgstr "Adai" #. name for xae msgid "Aequian" -msgstr "" +msgstr "Aequià" #. name for xag msgid "Aghwan" -msgstr "" +msgstr "Aghwan" #. name for xai msgid "Kaimbé" -msgstr "" +msgstr "Kaimbé" #. name for xal msgid "Kalmyk" -msgstr "" +msgstr "Calmuc-Oirat" #. name for xam msgid "/Xam" @@ -28252,31 +28252,31 @@ msgstr "Xamtanga" #. name for xao msgid "Khao" -msgstr "" +msgstr "Khao" #. name for xap msgid "Apalachee" -msgstr "" +msgstr "Apalatxe" #. name for xaq msgid "Aquitanian" -msgstr "" +msgstr "Aquitani" #. name for xar msgid "Karami" -msgstr "" +msgstr "Karami" #. name for xas msgid "Kamas" -msgstr "" +msgstr "Camassià" #. name for xat msgid "Katawixi" -msgstr "" +msgstr "Katawixi" #. name for xau msgid "Kauwera" -msgstr "" +msgstr "Kauwera" #. name for xav msgid "Xavánte" @@ -28284,7 +28284,7 @@ msgstr "Xavante" #. name for xaw msgid "Kawaiisu" -msgstr "" +msgstr "Kawaiisu" #. name for xay msgid "Kayan Mahakam" @@ -28292,7 +28292,7 @@ msgstr "Kayan; Mahakam" #. name for xba msgid "Kamba (Brazil)" -msgstr "" +msgstr "Kamba (Brasil)" #. name for xbb msgid "Burdekin; Lower" @@ -28300,11 +28300,11 @@ msgstr "" #. name for xbc msgid "Bactrian" -msgstr "" +msgstr "Bactrià" #. name for xbi msgid "Kombio" -msgstr "" +msgstr "Kombio" #. name for xbm msgid "Breton; Middle" @@ -28312,39 +28312,39 @@ msgstr "Bretó; mitjà" #. name for xbn msgid "Kenaboi" -msgstr "" +msgstr "Kenaboi" #. name for xbo msgid "Bolgarian" -msgstr "" +msgstr "Búlgar del Volga" #. name for xbr msgid "Kambera" -msgstr "" +msgstr "Wunambal; Gambera" #. name for xbw msgid "Kambiwá" -msgstr "" +msgstr "Kambiwà" #. name for xbx msgid "Kabixí" -msgstr "" +msgstr "Kabixí" #. name for xcb msgid "Cumbric" -msgstr "" +msgstr "Cumbric" #. name for xcc msgid "Camunic" -msgstr "" +msgstr "Camúnic" #. name for xce msgid "Celtiberian" -msgstr "" +msgstr "Celtibèric" #. name for xcg msgid "Gaulish; Cisalpine" -msgstr "" +msgstr "Gal·lic; Cisalpí" #. name for xch msgid "Chemakum" @@ -28352,23 +28352,23 @@ msgstr "" #. name for xcl msgid "Armenian; Classical" -msgstr "" +msgstr "Armeni Clàssic" #. name for xcm msgid "Comecrudo" -msgstr "" +msgstr "Comecrudo" #. name for xcn msgid "Cotoname" -msgstr "" +msgstr "Cotoname" #. name for xco msgid "Chorasmian" -msgstr "" +msgstr "Xorasmià" #. name for xcr msgid "Carian" -msgstr "" +msgstr "Carià" #. name for xct msgid "Tibetan; Classical" @@ -28376,27 +28376,27 @@ msgstr "Tibetà clàssic" #. name for xcu msgid "Curonian" -msgstr "" +msgstr "Curonià" #. name for xcv msgid "Chuvantsy" -msgstr "" +msgstr "Iukaguir; Txuvants" #. name for xcw msgid "Coahuilteco" -msgstr "" +msgstr "Coahuiltec" #. name for xcy msgid "Cayuse" -msgstr "" +msgstr "Cayuse" #. name for xdc msgid "Dacian" -msgstr "" +msgstr "Dacià" #. name for xdm msgid "Edomite" -msgstr "" +msgstr "Edomita" #. name for xdy msgid "Dayak; Malayic" @@ -28404,27 +28404,27 @@ msgstr "" #. name for xeb msgid "Eblan" -msgstr "" +msgstr "Eblaïta" #. name for xed msgid "Hdi" -msgstr "" +msgstr "Xedi" #. name for xeg msgid "//Xegwi" -msgstr "" +msgstr "Boroa" #. name for xel msgid "Kelo" -msgstr "" +msgstr "Kelo" #. name for xem msgid "Kembayan" -msgstr "" +msgstr "Kembayan" #. name for xep msgid "Epi-Olmec" -msgstr "" +msgstr "Epi-Olmec" #. name for xer msgid "Xerénte" @@ -28432,7 +28432,7 @@ msgstr "Xerente" #. name for xes msgid "Kesawai" -msgstr "" +msgstr "Kesawai" #. name for xet msgid "Xetá" @@ -28440,43 +28440,43 @@ msgstr "Xetà" #. name for xeu msgid "Keoru-Ahia" -msgstr "" +msgstr "Keuru" #. name for xfa msgid "Faliscan" -msgstr "" +msgstr "Faliscà" #. name for xga msgid "Galatian" -msgstr "" +msgstr "Galatià" #. name for xgf msgid "Gabrielino-Fernandeño" -msgstr "" +msgstr "Tongva" #. name for xgl msgid "Galindan" -msgstr "" +msgstr "Galindà" #. name for xgr msgid "Garza" -msgstr "" +msgstr "Garza" #. name for xha msgid "Harami" -msgstr "" +msgstr "Hadrami Antic" #. name for xhc msgid "Hunnic" -msgstr "" +msgstr "Hunnic" #. name for xhd msgid "Hadrami" -msgstr "" +msgstr "Hadrami Antic" #. name for xhe msgid "Khetrani" -msgstr "" +msgstr "Khetrani" #. name for xho msgid "Xhosa" @@ -28484,19 +28484,19 @@ msgstr "xosa" #. name for xhr msgid "Hernican" -msgstr "" +msgstr "Hernicà" #. name for xht msgid "Hattic" -msgstr "" +msgstr "Hatti" #. name for xhu msgid "Hurrian" -msgstr "" +msgstr "Hurri" #. name for xhv msgid "Khua" -msgstr "" +msgstr "Khua" #. name for xia msgid "Xiandao" @@ -28504,7 +28504,7 @@ msgstr "Xiandao" #. name for xib msgid "Iberian" -msgstr "" +msgstr "Íber" #. name for xii msgid "Xiri" @@ -28512,7 +28512,7 @@ msgstr "Griqua" #. name for xil msgid "Illyrian" -msgstr "" +msgstr "Il·liri" #. name for xin msgid "Xinca" @@ -28536,15 +28536,15 @@ msgstr "Xipaia" #. name for xka msgid "Kalkoti" -msgstr "" +msgstr "Kalkoti" #. name for xkb msgid "Nago; Northern" -msgstr "" +msgstr "Ede; Kambolé" #. name for xkc msgid "Kho'ini" -msgstr "" +msgstr "Khoini" #. name for xkd msgid "Kayan; Mendalam" @@ -28552,19 +28552,19 @@ msgstr "Kayan; Mendalam" #. name for xke msgid "Kereho" -msgstr "" +msgstr "Kereho" #. name for xkf msgid "Khengkha" -msgstr "" +msgstr "Khengkha" #. name for xkg msgid "Kagoro" -msgstr "" +msgstr "Kagoro" #. name for xkh msgid "Karahawyana" -msgstr "" +msgstr "Karahawyana" #. name for xki msgid "Kenyan Sign Language" @@ -28572,15 +28572,15 @@ msgstr "Llenguatge de signes kenyà" #. name for xkj msgid "Kajali" -msgstr "" +msgstr "Kajali" #. name for xkk msgid "Kaco'" -msgstr "" +msgstr "Kaco" #. name for xkl msgid "Mainstream Kenyah" -msgstr "" +msgstr "Kenyah; Mainstream" #. name for xkn msgid "Kayan; Kayan River" @@ -28588,15 +28588,15 @@ msgstr "Kayan; Kayan" #. name for xko msgid "Kiorr" -msgstr "" +msgstr "Kiorr" #. name for xkp msgid "Kabatei" -msgstr "" +msgstr "Kabatei" #. name for xkq msgid "Koroni" -msgstr "" +msgstr "Koroni" #. name for xkr msgid "Xakriabá" @@ -28604,27 +28604,27 @@ msgstr "Xakriabà" #. name for xks msgid "Kumbewaha" -msgstr "" +msgstr "Kumbewaha" #. name for xkt msgid "Kantosi" -msgstr "" +msgstr "Kantosi" #. name for xku msgid "Kaamba" -msgstr "" +msgstr "Kaamba" #. name for xkv msgid "Kgalagadi" -msgstr "" +msgstr "Kgalagadi" #. name for xkw msgid "Kembra" -msgstr "" +msgstr "Kembra" #. name for xkx msgid "Karore" -msgstr "" +msgstr "Karore" #. name for xky msgid "Uma' Lasan" @@ -28632,51 +28632,51 @@ msgstr "" #. name for xkz msgid "Kurtokha" -msgstr "" +msgstr "Kurtokha" #. name for xla msgid "Kamula" -msgstr "" +msgstr "Kamula" #. name for xlb msgid "Loup B" -msgstr "" +msgstr "Loup B" #. name for xlc msgid "Lycian" -msgstr "" +msgstr "Lici" #. name for xld msgid "Lydian" -msgstr "" +msgstr "Lidi" #. name for xle msgid "Lemnian" -msgstr "" +msgstr "Lemnià" #. name for xlg msgid "Ligurian (Ancient)" -msgstr "" +msgstr "Ligurià" #. name for xli msgid "Liburnian" -msgstr "" +msgstr "Liburnià" #. name for xln msgid "Alanic" -msgstr "" +msgstr "Alànic" #. name for xlo msgid "Loup A" -msgstr "" +msgstr "Loup A" #. name for xlp msgid "Lepontic" -msgstr "" +msgstr "Lepontic" #. name for xls msgid "Lusitanian" -msgstr "" +msgstr "Lusità" #. name for xlu msgid "Luwian; Cuneiform" @@ -28684,15 +28684,15 @@ msgstr "Luvi; cuneïforme" #. name for xly msgid "Elymian" -msgstr "" +msgstr "Elymià" #. name for xma msgid "Mushungulu" -msgstr "" +msgstr "Mushungulu" #. name for xmb msgid "Mbonga" -msgstr "" +msgstr "Mbonga" #. name for xmc msgid "Makhuwa-Marrevone" @@ -28700,19 +28700,19 @@ msgstr "Makua; Marrevone" #. name for xmd msgid "Mbudum" -msgstr "" +msgstr "Mbedam" #. name for xme msgid "Median" -msgstr "" +msgstr "Meda" #. name for xmf msgid "Mingrelian" -msgstr "" +msgstr "Mingrelià" #. name for xmg msgid "Mengaka" -msgstr "" +msgstr "Mengaka" #. name for xmh msgid "Kuku-Muminh" @@ -28720,11 +28720,11 @@ msgstr "Kuku: Muminh" #. name for xmj msgid "Majera" -msgstr "" +msgstr "Majera" #. name for xmk msgid "Macedonian; Ancient" -msgstr "" +msgstr "Grec Antic; Macedoni" #. name for xml msgid "Malaysian Sign Language" @@ -28740,7 +28740,7 @@ msgstr "" #. name for xmo msgid "Morerebi" -msgstr "" +msgstr "Morerebi" #. name for xmp msgid "Kuku-Mu'inh" @@ -28752,7 +28752,7 @@ msgstr "Kuku; Mangk" #. name for xmr msgid "Meroitic" -msgstr "" +msgstr "Meroitic" #. name for xms msgid "Moroccan Sign Language" @@ -28760,11 +28760,11 @@ msgstr "Llenguatge de signes marroquí" #. name for xmt msgid "Matbat" -msgstr "" +msgstr "Matbat" #. name for xmu msgid "Kamu" -msgstr "" +msgstr "Kamu" #. name for xmv msgid "Malagasy; Tankarana" @@ -28776,11 +28776,11 @@ msgstr "Malgaix; Tsimihety" #. name for xmx msgid "Maden" -msgstr "" +msgstr "Maden" #. name for xmy msgid "Mayaguduna" -msgstr "" +msgstr "Mayaguduna" #. name for xmz msgid "Mori Bawah" @@ -28792,7 +28792,7 @@ msgstr "Aràbic septentrional; antic" #. name for xnb msgid "Kanakanabu" -msgstr "" +msgstr "Kanakanabu" #. name for xng msgid "Mongolian; Middle" @@ -28800,27 +28800,27 @@ msgstr "Mongol; Pre-clàssic" #. name for xnh msgid "Kuanhua" -msgstr "" +msgstr "Kuanhua" #. name for xnn msgid "Kankanay; Northern" -msgstr "" +msgstr "Kankanay" #. name for xno msgid "Anglo-Norman" -msgstr "" +msgstr "Anglonormand" #. name for xnr msgid "Kangri" -msgstr "" +msgstr "Kangri" #. name for xns msgid "Kanashi" -msgstr "" +msgstr "Kinnauri; Kanashi" #. name for xnt msgid "Narragansett" -msgstr "" +msgstr "Mohegà; Narrangansett" #. name for xoc msgid "O'chi'chi'" @@ -28828,15 +28828,15 @@ msgstr "" #. name for xod msgid "Kokoda" -msgstr "" +msgstr "Kokoda" #. name for xog msgid "Soga" -msgstr "" +msgstr "Soga" #. name for xoi msgid "Kominimung" -msgstr "" +msgstr "Kominimung" #. name for xok msgid "Xokleng" @@ -28844,11 +28844,11 @@ msgstr "Xokleng" #. name for xom msgid "Komo (Sudan)" -msgstr "" +msgstr "Komo (Sudan)" #. name for xon msgid "Konkomba" -msgstr "" +msgstr "Konkomba" #. name for xoo msgid "Xukurú" @@ -28856,19 +28856,19 @@ msgstr "Xukurú" #. name for xop msgid "Kopar" -msgstr "" +msgstr "Kopar" #. name for xor msgid "Korubo" -msgstr "" +msgstr "Korubo" #. name for xow msgid "Kowaki" -msgstr "" +msgstr "Kowaki" #. name for xpc msgid "Pecheneg" -msgstr "" +msgstr "Petxeneg" #. name for xpe msgid "Kpelle; Liberia" @@ -28876,11 +28876,11 @@ msgstr "Kpele; Liberia" #. name for xpg msgid "Phrygian" -msgstr "" +msgstr "Frigi" #. name for xpi msgid "Pictish" -msgstr "" +msgstr "Pictish" #. name for xpk msgid "Pano; Kulina" @@ -28888,51 +28888,51 @@ msgstr "" #. name for xpm msgid "Pumpokol" -msgstr "" +msgstr "Pumpokol" #. name for xpn msgid "Kapinawá" -msgstr "" +msgstr "Kapìnawà" #. name for xpo msgid "Pochutec" -msgstr "" +msgstr "Pochutec" #. name for xpp msgid "Puyo-Paekche" -msgstr "" +msgstr "Paekche" #. name for xpq msgid "Mohegan-Pequot" -msgstr "" +msgstr "Mohegà; Pequot" #. name for xpr msgid "Parthian" -msgstr "" +msgstr "Parthià" #. name for xps msgid "Pisidian" -msgstr "" +msgstr "Pisidià" #. name for xpu msgid "Punic" -msgstr "" +msgstr "Fenici; Púnic" #. name for xpy msgid "Puyo" -msgstr "" +msgstr "Puyo" #. name for xqa msgid "Karakhanid" -msgstr "" +msgstr "Uzbek; Qarluq" #. name for xqt msgid "Qatabanian" -msgstr "" +msgstr "Qatabanià" #. name for xra msgid "Krahô" -msgstr "" +msgstr "Krao" #. name for xrb msgid "Karaboro; Eastern" @@ -28940,39 +28940,39 @@ msgstr "Karaboro; Oriental" #. name for xre msgid "Kreye" -msgstr "" +msgstr "Krenje" #. name for xri msgid "Krikati-Timbira" -msgstr "" +msgstr "Krikati-Timbira" #. name for xrm msgid "Armazic" -msgstr "" +msgstr "Armazic" #. name for xrn msgid "Arin" -msgstr "" +msgstr "Arin" #. name for xrr msgid "Raetic" -msgstr "" +msgstr "Rètic" #. name for xrt msgid "Aranama-Tamique" -msgstr "" +msgstr "Aranama-Tamique" #. name for xru msgid "Marriammu" -msgstr "" +msgstr "Marithiel; Mare-Ammu" #. name for xrw msgid "Karawa" -msgstr "" +msgstr "Karawa" #. name for xsa msgid "Sabaean" -msgstr "" +msgstr "Sabaeà" #. name for xsb msgid "Sambal; Tinà" @@ -28980,27 +28980,27 @@ msgstr "Sambal; Tinà" #. name for xsc msgid "Scythian" -msgstr "" +msgstr "Escita" #. name for xsd msgid "Sidetic" -msgstr "" +msgstr "Sidètic" #. name for xse msgid "Sempan" -msgstr "" +msgstr "Sempan" #. name for xsh msgid "Shamang" -msgstr "" +msgstr "Shamang" #. name for xsi msgid "Sio" -msgstr "" +msgstr "Sio" #. name for xsj msgid "Subi" -msgstr "" +msgstr "Subi" #. name for xsl msgid "Slavey; South" @@ -29008,7 +29008,7 @@ msgstr "Slavey; meridional" #. name for xsm msgid "Kasem" -msgstr "" +msgstr "Kasem" #. name for xsn msgid "Sanga (Nigeria)" @@ -29016,11 +29016,11 @@ msgstr "Sanga (Nigèria)" #. name for xso msgid "Solano" -msgstr "" +msgstr "Solano" #. name for xsp msgid "Silopi" -msgstr "" +msgstr "Silopi" #. name for xsq msgid "Makhuwa-Saka" @@ -29028,23 +29028,23 @@ msgstr "Makua; Saka" #. name for xsr msgid "Sherpa" -msgstr "" +msgstr "Xerpa" #. name for xss msgid "Assan" -msgstr "" +msgstr "Assan" #. name for xsu msgid "Sanumá" -msgstr "" +msgstr "Sanumà" #. name for xsv msgid "Sudovian" -msgstr "" +msgstr "Sudovià" #. name for xsy msgid "Saisiyat" -msgstr "" +msgstr "Saisiyat" #. name for xta msgid "Mixtec; Alcozauca" @@ -29056,7 +29056,7 @@ msgstr "Mixtec; Chazumba" #. name for xtc msgid "Katcha-Kadugli-Miri" -msgstr "" +msgstr "Katcha-Kadugli-Miri" #. name for xtd msgid "Mixtec; Diuxi-Tilantongo" @@ -29064,11 +29064,11 @@ msgstr "Mixtec; Diuxi-Tilantongo" #. name for xte msgid "Ketengban" -msgstr "" +msgstr "Ketengban" #. name for xtg msgid "Gaulish; Transalpine" -msgstr "" +msgstr "Gal·lic; Transalpí" #. name for xti msgid "Mixtec; Sinicahua" @@ -29104,7 +29104,7 @@ msgstr "" #. name for xtr msgid "Tripuri; Early" -msgstr "" +msgstr "Tripurí Antic" #. name for xts msgid "Mixtec; Sindihui" @@ -29120,7 +29120,7 @@ msgstr "Mixtec; Cuyamecalco" #. name for xtw msgid "Tawandê" -msgstr "" +msgstr "Nambikwara; Tawanxte" #. name for xty msgid "Mixtec; Yoloxochitl" @@ -29128,7 +29128,7 @@ msgstr "Mixtec; Yoloxochitl" #. name for xtz msgid "Tasmanian" -msgstr "" +msgstr "Tasmanià" #. name for xua msgid "Kurumba; Alu" @@ -29140,7 +29140,7 @@ msgstr "Kurumba; Betta" #. name for xug msgid "Kunigami" -msgstr "" +msgstr "Kunigami" #. name for xuj msgid "Kurumba; Jennu" @@ -29148,55 +29148,55 @@ msgstr "Kurumba; Jennu" #. name for xum msgid "Umbrian" -msgstr "" +msgstr "Umbre" #. name for xuo msgid "Kuo" -msgstr "" +msgstr "Kuo" #. name for xup msgid "Umpqua; Upper" -msgstr "" +msgstr "Umpqua" #. name for xur msgid "Urartian" -msgstr "" +msgstr "Urartià" #. name for xut msgid "Kuthant" -msgstr "" +msgstr "Kuthant" #. name for xuu msgid "Kxoe" -msgstr "" +msgstr "Kxoe" #. name for xve msgid "Venetic" -msgstr "" +msgstr "Venètic" #. name for xvi msgid "Kamviri" -msgstr "" +msgstr "Kamviri" #. name for xvn msgid "Vandalic" -msgstr "" +msgstr "Vandàlic" #. name for xvo msgid "Volscian" -msgstr "" +msgstr "Volscià" #. name for xvs msgid "Vestinian" -msgstr "" +msgstr "Vestinià" #. name for xwa msgid "Kwaza" -msgstr "" +msgstr "Koaià" #. name for xwc msgid "Woccon" -msgstr "" +msgstr "Woccon" #. name for xwe msgid "Gbe; Xwela" @@ -29204,7 +29204,7 @@ msgstr "Gbe; Xwela" #. name for xwg msgid "Kwegu" -msgstr "" +msgstr "Kwegu" #. name for xwl msgid "Gbe; Western Xwla" @@ -29216,7 +29216,7 @@ msgstr "" #. name for xwr msgid "Kwerba Mamberamo" -msgstr "" +msgstr "Kwerba; Mamberamo" #. name for xxb msgid "Boro (Ghana)" @@ -29224,7 +29224,7 @@ msgstr "" #. name for xxk msgid "Ke'o" -msgstr "" +msgstr "Keo" #. name for xxr msgid "Koropó" @@ -29232,7 +29232,7 @@ msgstr "" #. name for xxt msgid "Tambora" -msgstr "" +msgstr "Tambora" #. name for xyl msgid "Yalakalore" @@ -29240,11 +29240,11 @@ msgstr "" #. name for xzh msgid "Zhang-Zhung" -msgstr "" +msgstr "Zhang Zhung" #. name for xzm msgid "Zemgalian" -msgstr "" +msgstr "Zemgalià" #. name for xzp msgid "Zapotec; Ancient" @@ -29264,11 +29264,11 @@ msgstr "Yali; Pass Valley" #. name for yad msgid "Yagua" -msgstr "" +msgstr "Iagua" #. name for yae msgid "Pumé" -msgstr "" +msgstr "Iaruro" #. name for yaf msgid "Yaka (Democratic Republic of Congo)" @@ -29324,7 +29324,7 @@ msgstr "Yabarana" #. name for yas msgid "Nugunu (Cameroon)" -msgstr "" +msgstr "Gunu" #. name for yat msgid "Yambeta" @@ -29348,11 +29348,11 @@ msgstr "Yauma" #. name for yay msgid "Agwagwune" -msgstr "" +msgstr "Agwagwune" #. name for yaz msgid "Lokaa" -msgstr "" +msgstr "Lokaa" #. name for yba msgid "Yala" @@ -29380,11 +29380,11 @@ msgstr "Yamphu" #. name for ybj msgid "Hasha" -msgstr "" +msgstr "Hasha" #. name for ybk msgid "Bokha" -msgstr "" +msgstr "Muji; Bokha" #. name for ybl msgid "Yukuben" @@ -29412,11 +29412,11 @@ msgstr "Yaweyuha" #. name for ych msgid "Chesu" -msgstr "" +msgstr "Yi; Chesu" #. name for ycl msgid "Lolopo" -msgstr "" +msgstr "Yi; central" #. name for ycn msgid "Yucuna" @@ -29424,7 +29424,7 @@ msgstr "Yucuna" #. name for ycp msgid "Chepya" -msgstr "" +msgstr "Chepya" #. name for ydd msgid "Yiddish; Eastern" @@ -29448,7 +29448,7 @@ msgstr "Llenguatge de signes Jiddish" #. name for yea msgid "Ravula" -msgstr "" +msgstr "Ravula" #. name for yec msgid "Yeniche" @@ -29476,7 +29476,7 @@ msgstr "Yendang" #. name for yer msgid "Tarok" -msgstr "" +msgstr "Tarok" #. name for yes msgid "Yeskwa" @@ -29540,11 +29540,11 @@ msgstr "Jiddisch" #. name for yif msgid "Ache" -msgstr "" +msgstr "Yi; Ache" #. name for yig msgid "Nasu; Wusa" -msgstr "" +msgstr "Yi; Guizhou" #. name for yih msgid "Yiddish; Western" @@ -29560,7 +29560,7 @@ msgstr "Yindjbarndi" #. name for yik msgid "Lalo; Dongshanba" -msgstr "" +msgstr "Yi; Xishan Lalu" #. name for yil msgid "Yindjilandji" @@ -29576,11 +29576,11 @@ msgstr "Yinchia" #. name for yip msgid "Pholo" -msgstr "" +msgstr "Yi; Poluo" #. name for yiq msgid "Miqie" -msgstr "" +msgstr "Yi; Miqie" #. name for yir msgid "Awyu; North" @@ -29592,11 +29592,11 @@ msgstr "Yis" #. name for yit msgid "Lalu; Eastern" -msgstr "" +msgstr "Yi; Lalu" #. name for yiu msgid "Awu" -msgstr "" +msgstr "Yi; Awu" #. name for yiv msgid "Nisu; Northern" @@ -29612,7 +29612,7 @@ msgstr "Yir Yoront" #. name for yiz msgid "Azhe" -msgstr "" +msgstr "Yi; Azhe" #. name for yka msgid "Yakan" @@ -29636,7 +29636,7 @@ msgstr "" #. name for ykm msgid "Kap" -msgstr "" +msgstr "Yakamul" #. name for yko msgid "Yasa" @@ -29680,11 +29680,11 @@ msgstr "Yil" #. name for ylm msgid "Limi" -msgstr "" +msgstr "Yi; Limi" #. name for yln msgid "Buyang; Langnian" -msgstr "" +msgstr "Buyang; Langjia" #. name for ylo msgid "Yi; Naluo" @@ -29696,11 +29696,11 @@ msgstr "Yalarnga" #. name for ylu msgid "Aribwaung" -msgstr "" +msgstr "Aribwaung" #. name for yly msgid "Nyâlayu" -msgstr "" +msgstr "Nyalayu" #. name for yma msgid "Yamphe" @@ -29712,11 +29712,11 @@ msgstr "Yambes" #. name for ymc msgid "Muji; Southern" -msgstr "" +msgstr "Muji; meridional" #. name for ymd msgid "Muda" -msgstr "" +msgstr "Muda" #. name for yme msgid "Yameo" @@ -29728,23 +29728,23 @@ msgstr "Yamongeri" #. name for ymh msgid "Mili" -msgstr "" +msgstr "Mili" #. name for ymi msgid "Moji" -msgstr "" +msgstr "Muji; Moji" #. name for ymk msgid "Makwe" -msgstr "" +msgstr "Makwe" #. name for yml msgid "Iamalele" -msgstr "" +msgstr "Iamalele" #. name for ymm msgid "Maay" -msgstr "" +msgstr "Maay" #. name for ymn msgid "Yamna" @@ -29760,7 +29760,7 @@ msgstr "Yamap" #. name for ymq msgid "Muji; Qila" -msgstr "" +msgstr "Muji; Qila" #. name for ymr msgid "Malasar" @@ -29768,19 +29768,19 @@ msgstr "Malasar" #. name for yms msgid "Mysian" -msgstr "" +msgstr "Misi" #. name for ymt msgid "Mator-Taygi-Karagas" -msgstr "" +msgstr "Mator; Taygi-Karagas" #. name for ymx msgid "Muji; Northern" -msgstr "" +msgstr "Muji; septentrional" #. name for ymz msgid "Muzi" -msgstr "" +msgstr "Muji; Muzi" #. name for yna msgid "Aluo" @@ -29852,7 +29852,7 @@ msgstr "Yombe" #. name for yon msgid "Yongkom" -msgstr "" +msgstr "Muyu; Yonggom" #. name for yor msgid "Yoruba" @@ -29924,11 +29924,11 @@ msgstr "Yarí" #. name for yrk msgid "Nenets" -msgstr "" +msgstr "Nènets" #. name for yrl msgid "Nhengatu" -msgstr "" +msgstr "Yeral" #. name for yrn msgid "Yerong" @@ -29948,7 +29948,7 @@ msgstr "Yassic" #. name for ysd msgid "Samatao" -msgstr "" +msgstr "Samatau" #. name for ysl msgid "Yugoslavian Sign Language" @@ -29956,7 +29956,7 @@ msgstr "Llenguatge de signes iugoslau" #. name for ysn msgid "Sani" -msgstr "" +msgstr "Yi; Sani" #. name for yso msgid "Nisi (China)" @@ -29984,7 +29984,7 @@ msgstr "" #. name for ytl msgid "Tanglang" -msgstr "" +msgstr "Tanglang" #. name for ytp msgid "Thopho" @@ -29996,7 +29996,7 @@ msgstr "" #. name for yua msgid "Maya; Yucatec" -msgstr "" +msgstr "Maia; Yucatan" #. name for yub msgid "Yugambal" @@ -30040,11 +30040,11 @@ msgstr "Yulu" #. name for yum msgid "Quechan" -msgstr "" +msgstr "Yuma" #. name for yun msgid "Bena (Nigeria)" -msgstr "" +msgstr "Bena (Nigèria)" #. name for yup msgid "Yukpa" @@ -30092,11 +30092,11 @@ msgstr "Yavitero" #. name for ywa msgid "Kalou" -msgstr "" +msgstr "Kalou" #. name for ywl msgid "Lalu; Western" -msgstr "" +msgstr "Yi; Lalu occidental" #. name for ywn msgid "Yawanawa" @@ -30112,11 +30112,11 @@ msgstr "Yawuru" #. name for ywt msgid "Lalo; Xishanba" -msgstr "" +msgstr "Yi; occidental" #. name for ywu msgid "Nasu; Wumeng" -msgstr "" +msgstr "Yi; Wusa" #. name for yww msgid "Yawarawarga" @@ -30128,7 +30128,7 @@ msgstr "Yau (Província de Sandaun)" #. name for yyz msgid "Ayizi" -msgstr "" +msgstr "Ayizi" #. name for yzg msgid "Buyang; E'ma" @@ -30240,23 +30240,23 @@ msgstr "Zari" #. name for zbc msgid "Berawan; Central" -msgstr "" +msgstr "Berawan; Batu Bla" #. name for zbe msgid "Berawan; East" -msgstr "" +msgstr "Berawan; Jegan Long" #. name for zbl msgid "Blissymbols" -msgstr "" +msgstr "Blissymbols" #. name for zbt msgid "Batui" -msgstr "" +msgstr "Pamona; Batui" #. name for zbw msgid "Berawan; West" -msgstr "" +msgstr "Berawan; occidental" #. name for zca msgid "Zapotec; Coatecas Altas" @@ -30268,7 +30268,7 @@ msgstr "Zhuang; Hongshuihe" #. name for zdj msgid "Comorian; Ngazidja" -msgstr "" +msgstr "Comorià; Ngazidja" #. name for zea msgid "Zeeuws" @@ -30284,11 +30284,11 @@ msgstr "" #. name for zen msgid "Zenaga" -msgstr "" +msgstr "Tamazight; Sanhaga" #. name for zga msgid "Kinga" -msgstr "" +msgstr "Kinga" #. name for zgb msgid "Zhuang; Guibei" @@ -30304,7 +30304,7 @@ msgstr "Zhuang; Guibià" #. name for zgr msgid "Magori" -msgstr "" +msgstr "Magori" #. name for zha msgid "Zhuang" @@ -30352,7 +30352,7 @@ msgstr "" #. name for zim msgid "Mesme" -msgstr "" +msgstr "Mesme" #. name for zin msgid "Zinza" @@ -30372,31 +30372,31 @@ msgstr "Zizilivakan" #. name for zka msgid "Kaimbulawa" -msgstr "" +msgstr "Kaimbulawa" #. name for zkb msgid "Koibal" -msgstr "" +msgstr "Camassià; Koibal" #. name for zkg msgid "Koguryo" -msgstr "" +msgstr "Koguryo" #. name for zkh msgid "Khorezmian" -msgstr "" +msgstr "Corasmià" #. name for zkk msgid "Karankawa" -msgstr "" +msgstr "Karankawa" #. name for zko msgid "Kott" -msgstr "" +msgstr "Kot" #. name for zkp msgid "Kaingáng; São Paulo" -msgstr "" +msgstr "Kaigan; Sao Paulo" #. name for zkr msgid "Zakhring" @@ -30404,19 +30404,19 @@ msgstr "Zakhring" #. name for zkt msgid "Kitan" -msgstr "" +msgstr "Kitan" #. name for zku msgid "Kaurna" -msgstr "" +msgstr "Kaurna" #. name for zkv msgid "Krevinian" -msgstr "" +msgstr "Vòtic; Krevinià" #. name for zkz msgid "Khazar" -msgstr "" +msgstr "Khazar" #. name for zlj msgid "Zhuang; Liujiang" @@ -30444,27 +30444,27 @@ msgstr "Zimba" #. name for zmc msgid "Margany" -msgstr "" +msgstr "Margany" #. name for zmd msgid "Maridan" -msgstr "" +msgstr "Maridan" #. name for zme msgid "Mangerr" -msgstr "" +msgstr "Mangerr" #. name for zmf msgid "Mfinu" -msgstr "" +msgstr "Mfinu" #. name for zmg msgid "Marti Ke" -msgstr "" +msgstr "Magadige" #. name for zmh msgid "Makolkol" -msgstr "" +msgstr "Makolkol" #. name for zmi msgid "Negeri Sembilan Malay" @@ -30472,71 +30472,71 @@ msgstr "Malai; Negeri Sembilan" #. name for zmj msgid "Maridjabin" -msgstr "" +msgstr "Maridjabin" #. name for zmk msgid "Mandandanyi" -msgstr "" +msgstr "Mandandanyi" #. name for zml msgid "Madngele" -msgstr "" +msgstr "Madngele" #. name for zmm msgid "Marimanindji" -msgstr "" +msgstr "Marimanindji" #. name for zmn msgid "Mbangwe" -msgstr "" +msgstr "Mbangwe" #. name for zmo msgid "Molo" -msgstr "" +msgstr "Molo" #. name for zmp msgid "Mpuono" -msgstr "" +msgstr "Mpuono" #. name for zmq msgid "Mituku" -msgstr "" +msgstr "Mituku" #. name for zmr msgid "Maranunggu" -msgstr "" +msgstr "Maranungku" #. name for zms msgid "Mbesa" -msgstr "" +msgstr "Mbesa" #. name for zmt msgid "Maringarr" -msgstr "" +msgstr "Maringarr" #. name for zmu msgid "Muruwari" -msgstr "" +msgstr "Muruwari" #. name for zmv msgid "Mbariman-Gudhinma" -msgstr "" +msgstr "Mbariman-Gudhinma" #. name for zmw msgid "Mbo (Democratic Republic of Congo)" -msgstr "" +msgstr "Mbo (República Democràtica del Congo)" #. name for zmx msgid "Bomitaba" -msgstr "" +msgstr "Bomitaba" #. name for zmy msgid "Mariyedi" -msgstr "" +msgstr "Mariyedi" #. name for zmz msgid "Mbandja" -msgstr "" +msgstr "Mbandja" #. name for zna msgid "Zan Gula" @@ -30548,15 +30548,15 @@ msgstr "Zande (llengua individual)" #. name for zng msgid "Mang" -msgstr "" +msgstr "Mang" #. name for znk msgid "Manangkari" -msgstr "" +msgstr "Manangkari" #. name for zns msgid "Mangas" -msgstr "" +msgstr "Mangas" #. name for zoc msgid "Zoque; Copainalá" @@ -30700,7 +30700,7 @@ msgstr "Kara (Corea)" #. name for zrg msgid "Mirgan" -msgstr "" +msgstr "Mirgan" #. name for zrn msgid "Zerenkel" @@ -30716,15 +30716,15 @@ msgstr "Zarphatic" #. name for zrs msgid "Mairasi" -msgstr "" +msgstr "Mairasi" #. name for zsa msgid "Sarasira" -msgstr "" +msgstr "Adzera; Sarasira" #. name for zsk msgid "Kaskean" -msgstr "" +msgstr "Kaskeà" #. name for zsl msgid "Zambian Sign Language" diff --git a/setup/iso_639/cs.po b/setup/iso_639/cs.po index 82f0a7d603..26cde97d21 100644 --- a/setup/iso_639/cs.po +++ b/setup/iso_639/cs.po @@ -10,79 +10,79 @@ msgstr "" "Report-Msgid-Bugs-To: Debian iso-codes team \n" "POT-Creation-Date: 2011-11-25 14:01+0000\n" -"PO-Revision-Date: 2011-09-27 17:51+0000\n" -"Last-Translator: Miroslav Kure \n" +"PO-Revision-Date: 2013-04-29 11:25+0000\n" +"Last-Translator: Tadeáš Pařík \n" "Language-Team: Czech \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-11-26 05:11+0000\n" -"X-Generator: Launchpad (build 14381)\n" +"X-Launchpad-Export-Date: 2013-04-30 05:16+0000\n" +"X-Generator: Launchpad (build 16580)\n" "Language: cs\n" #. name for aaa msgid "Ghotuo" -msgstr "" +msgstr "Ghotuo" #. name for aab msgid "Alumu-Tesu" -msgstr "" +msgstr "Alumu-Tesu" #. name for aac msgid "Ari" -msgstr "" +msgstr "Ari" #. name for aad msgid "Amal" -msgstr "" +msgstr "Amal" #. name for aae msgid "Albanian; Arbëreshë" -msgstr "" +msgstr "albánština; Arbëreshë" #. name for aaf msgid "Aranadan" -msgstr "" +msgstr "Aranadan" #. name for aag msgid "Ambrak" -msgstr "" +msgstr "Ambrak" #. name for aah msgid "Arapesh; Abu'" -msgstr "" +msgstr "arapeština; Abu'" #. name for aai msgid "Arifama-Miniafia" -msgstr "" +msgstr "Arifama-Miniafia" #. name for aak msgid "Ankave" -msgstr "" +msgstr "ankave" #. name for aal msgid "Afade" -msgstr "" +msgstr "afade" #. name for aam msgid "Aramanik" -msgstr "" +msgstr "aramanik" #. name for aan msgid "Anambé" -msgstr "" +msgstr "anambé" #. name for aao msgid "Arabic; Algerian Saharan" -msgstr "" +msgstr "arabština; alžírská Sahara" #. name for aap msgid "Arára; Pará" -msgstr "" +msgstr "arára; Pará" #. name for aaq msgid "Abnaki; Eastern" -msgstr "" +msgstr "abnaki; východní" #. name for aar msgid "Afar" @@ -90,67 +90,67 @@ msgstr "afarština" #. name for aas msgid "Aasáx" -msgstr "" +msgstr "aasáx" #. name for aat msgid "Albanian; Arvanitika" -msgstr "" +msgstr "albánština; Arvanitika" #. name for aau msgid "Abau" -msgstr "" +msgstr "abau" #. name for aaw msgid "Solong" -msgstr "" +msgstr "solong" #. name for aax msgid "Mandobo Atas" -msgstr "" +msgstr "mandobo atas" #. name for aaz msgid "Amarasi" -msgstr "" +msgstr "amarasi" #. name for aba msgid "Abé" -msgstr "" +msgstr "abé" #. name for abb msgid "Bankon" -msgstr "" +msgstr "bankon" #. name for abc msgid "Ayta; Ambala" -msgstr "" +msgstr "ayta; ambala" #. name for abd msgid "Manide" -msgstr "" +msgstr "manide" #. name for abe msgid "Abnaki; Western" -msgstr "" +msgstr "abnaki; západní" #. name for abf msgid "Abai Sungai" -msgstr "" +msgstr "abai sungai" #. name for abg msgid "Abaga" -msgstr "" +msgstr "abaga" #. name for abh msgid "Arabic; Tajiki" -msgstr "" +msgstr "arabština; Tajiki" #. name for abi msgid "Abidji" -msgstr "" +msgstr "abidji" #. name for abj msgid "Aka-Bea" -msgstr "" +msgstr "aka-bea" #. name for abk msgid "Abkhazian" @@ -158,75 +158,75 @@ msgstr "abchazajština" #. name for abl msgid "Lampung Nyo" -msgstr "" +msgstr "lampung nyo" #. name for abm msgid "Abanyom" -msgstr "" +msgstr "abanyom" #. name for abn msgid "Abua" -msgstr "" +msgstr "abua" #. name for abo msgid "Abon" -msgstr "" +msgstr "abon" #. name for abp msgid "Ayta; Abellen" -msgstr "" +msgstr "ayta; abellen" #. name for abq msgid "Abaza" -msgstr "" +msgstr "abaza" #. name for abr msgid "Abron" -msgstr "" +msgstr "abron" #. name for abs msgid "Malay; Ambonese" -msgstr "" +msgstr "malajština; Ambonese" #. name for abt msgid "Ambulas" -msgstr "" +msgstr "ambulas" #. name for abu msgid "Abure" -msgstr "" +msgstr "abure" #. name for abv msgid "Arabic; Baharna" -msgstr "" +msgstr "arabština; Baharna" #. name for abw msgid "Pal" -msgstr "" +msgstr "pal" #. name for abx msgid "Inabaknon" -msgstr "" +msgstr "inabaknon" #. name for aby msgid "Aneme Wake" -msgstr "" +msgstr "aneme wake" #. name for abz msgid "Abui" -msgstr "" +msgstr "abui" #. name for aca msgid "Achagua" -msgstr "" +msgstr "achangua" #. name for acb msgid "Áncá" -msgstr "" +msgstr "áncá" #. name for acd msgid "Gikyode" -msgstr "" +msgstr "gikyode" #. name for ace msgid "Achinese" @@ -234,7 +234,7 @@ msgstr "atěžština" #. name for acf msgid "Creole French; Saint Lucian" -msgstr "" +msgstr "kreolizovaná francouzština; Saint Lucian" #. name for ach msgid "Acoli" @@ -242,67 +242,67 @@ msgstr "ačoli (luoština)" #. name for aci msgid "Aka-Cari" -msgstr "" +msgstr "aka-cari" #. name for ack msgid "Aka-Kora" -msgstr "" +msgstr "aka-kora" #. name for acl msgid "Akar-Bale" -msgstr "" +msgstr "akar-bale" #. name for acm msgid "Arabic; Mesopotamian" -msgstr "" +msgstr "arabština; Mezopotámie" #. name for acn msgid "Achang" -msgstr "" +msgstr "achang" #. name for acp msgid "Acipa; Eastern" -msgstr "" +msgstr "acipa; východní" #. name for acq msgid "Arabic; Ta'izzi-Adeni" -msgstr "" +msgstr "arabština; Ta'izzi-Adeni" #. name for acr msgid "Achi" -msgstr "" +msgstr "achi" #. name for acs msgid "Acroá" -msgstr "" +msgstr "acroá" #. name for act msgid "Achterhoeks" -msgstr "" +msgstr "achterhoeks" #. name for acu msgid "Achuar-Shiwiar" -msgstr "" +msgstr "achuar-shiwiar" #. name for acv msgid "Achumawi" -msgstr "" +msgstr "achumawi" #. name for acw msgid "Arabic; Hijazi" -msgstr "" +msgstr "arabština; Hijazi" #. name for acx msgid "Arabic; Omani" -msgstr "" +msgstr "arabština; Omán" #. name for acy msgid "Arabic; Cypriot" -msgstr "" +msgstr "arabština; kyperská" #. name for acz msgid "Acheron" -msgstr "" +msgstr "acheron" #. name for ada msgid "Adangme" @@ -310,167 +310,167 @@ msgstr "adangmeština" #. name for adb msgid "Adabe" -msgstr "" +msgstr "adabe" #. name for add msgid "Dzodinka" -msgstr "" +msgstr "dzodinka" #. name for ade msgid "Adele" -msgstr "" +msgstr "adele" #. name for adf msgid "Arabic; Dhofari" -msgstr "" +msgstr "arabština; dhofari" #. name for adg msgid "Andegerebinha" -msgstr "" +msgstr "andegerebinha" #. name for adh msgid "Adhola" -msgstr "" +msgstr "adhola" #. name for adi msgid "Adi" -msgstr "" +msgstr "adi" #. name for adj msgid "Adioukrou" -msgstr "" +msgstr "adioukrou" #. name for adl msgid "Galo" -msgstr "" +msgstr "galo" #. name for adn msgid "Adang" -msgstr "" +msgstr "adang" #. name for ado msgid "Abu" -msgstr "" +msgstr "abu" #. name for adp msgid "Adap" -msgstr "" +msgstr "adap" #. name for adq msgid "Adangbe" -msgstr "" +msgstr "adangbe" #. name for adr msgid "Adonara" -msgstr "" +msgstr "adonara" #. name for ads msgid "Adamorobe Sign Language" -msgstr "" +msgstr "znakový jazyk adamorobe" #. name for adt msgid "Adnyamathanha" -msgstr "" +msgstr "adnyamathanha" #. name for adu msgid "Aduge" -msgstr "" +msgstr "aduge" #. name for adw msgid "Amundava" -msgstr "" +msgstr "amundava" #. name for adx msgid "Tibetan; Amdo" -msgstr "" +msgstr "tibetština; Amdo" #. name for ady msgid "Adyghe" -msgstr "" +msgstr "adyghe" #. name for adz msgid "Adzera" -msgstr "" +msgstr "adzera" #. name for aea msgid "Areba" -msgstr "" +msgstr "areba" #. name for aeb msgid "Arabic; Tunisian" -msgstr "" +msgstr "arabština; tuniská" #. name for aec msgid "Arabic; Saidi" -msgstr "" +msgstr "arabština; Saidi" #. name for aed msgid "Argentine Sign Language" -msgstr "" +msgstr "argentinský znakový jazyk" #. name for aee msgid "Pashayi; Northeast" -msgstr "" +msgstr "pashayi; severo-východ" #. name for aek msgid "Haeke" -msgstr "" +msgstr "haeke" #. name for ael msgid "Ambele" -msgstr "" +msgstr "ambele" #. name for aem msgid "Arem" -msgstr "" +msgstr "arem" #. name for aen msgid "Armenian Sign Language" -msgstr "" +msgstr "arménský znakový jazyk" #. name for aeq msgid "Aer" -msgstr "" +msgstr "aer" #. name for aer msgid "Arrernte; Eastern" -msgstr "" +msgstr "arrernte; východní" #. name for aes msgid "Alsea" -msgstr "" +msgstr "alsea" #. name for aeu msgid "Akeu" -msgstr "" +msgstr "akeu" #. name for aew msgid "Ambakich" -msgstr "" +msgstr "ambakich" #. name for aey msgid "Amele" -msgstr "" +msgstr "amele" #. name for aez msgid "Aeka" -msgstr "" +msgstr "aeka" #. name for afb msgid "Arabic; Gulf" -msgstr "" +msgstr "arabština; záliv" #. name for afd msgid "Andai" -msgstr "" +msgstr "andai" #. name for afe msgid "Putukwam" -msgstr "" +msgstr "putukwam" #. name for afg msgid "Afghan Sign Language" -msgstr "" +msgstr "afghánský znakový jazyk" #. name for afh msgid "Afrihili" @@ -478,23 +478,23 @@ msgstr "afrihilijština" #. name for afi msgid "Akrukay" -msgstr "" +msgstr "akrukay" #. name for afk msgid "Nanubae" -msgstr "" +msgstr "nanubae" #. name for afn msgid "Defaka" -msgstr "" +msgstr "defaka" #. name for afo msgid "Eloyi" -msgstr "" +msgstr "eloyi" #. name for afp msgid "Tapei" -msgstr "" +msgstr "tapei" #. name for afr msgid "Afrikaans" @@ -502,299 +502,299 @@ msgstr "afrikánština" #. name for afs msgid "Creole; Afro-Seminole" -msgstr "" +msgstr "kreolština; Afro-Seminole" #. name for aft msgid "Afitti" -msgstr "" +msgstr "afitti" #. name for afu msgid "Awutu" -msgstr "" +msgstr "awutu" #. name for afz msgid "Obokuitai" -msgstr "" +msgstr "obokuitai" #. name for aga msgid "Aguano" -msgstr "" +msgstr "aguano" #. name for agb msgid "Legbo" -msgstr "" +msgstr "legbo" #. name for agc msgid "Agatu" -msgstr "" +msgstr "agatu" #. name for agd msgid "Agarabi" -msgstr "" +msgstr "agarabi" #. name for age msgid "Angal" -msgstr "" +msgstr "angal" #. name for agf msgid "Arguni" -msgstr "" +msgstr "arguni" #. name for agg msgid "Angor" -msgstr "" +msgstr "angor" #. name for agh msgid "Ngelima" -msgstr "" +msgstr "ngelima" #. name for agi msgid "Agariya" -msgstr "" +msgstr "agariya" #. name for agj msgid "Argobba" -msgstr "" +msgstr "argobba" #. name for agk msgid "Agta; Isarog" -msgstr "" +msgstr "agta; Isarog" #. name for agl msgid "Fembe" -msgstr "" +msgstr "fembe" #. name for agm msgid "Angaataha" -msgstr "" +msgstr "angaataha" #. name for agn msgid "Agutaynen" -msgstr "" +msgstr "agutaynen" #. name for ago msgid "Tainae" -msgstr "" +msgstr "tainae" #. name for agq msgid "Aghem" -msgstr "" +msgstr "aghem" #. name for agr msgid "Aguaruna" -msgstr "" +msgstr "aguaruna" #. name for ags msgid "Esimbi" -msgstr "" +msgstr "esimbi" #. name for agt msgid "Agta; Central Cagayan" -msgstr "" +msgstr "agta; centrální Cagayan" #. name for agu msgid "Aguacateco" -msgstr "" +msgstr "aguacateco" #. name for agv msgid "Dumagat; Remontado" -msgstr "" +msgstr "dumagat; Remontado" #. name for agw msgid "Kahua" -msgstr "" +msgstr "kahua" #. name for agx msgid "Aghul" -msgstr "" +msgstr "aghul" #. name for agy msgid "Alta; Southern" -msgstr "" +msgstr "alta; jižní" #. name for agz msgid "Agta; Mt. Iriga" -msgstr "" +msgstr "agta; hora Iriga" #. name for aha msgid "Ahanta" -msgstr "" +msgstr "ahanta" #. name for ahb msgid "Axamb" -msgstr "" +msgstr "axamb" #. name for ahg msgid "Qimant" -msgstr "" +msgstr "qimant" #. name for ahh msgid "Aghu" -msgstr "" +msgstr "aghu" #. name for ahi msgid "Aizi; Tiagbamrin" -msgstr "" +msgstr "aizi; Tiagbamrin" #. name for ahk msgid "Akha" -msgstr "" +msgstr "akha" #. name for ahl msgid "Igo" -msgstr "" +msgstr "igo" #. name for ahm msgid "Aizi; Mobumrin" -msgstr "" +msgstr "aizi; Mobumrin" #. name for ahn msgid "Àhàn" -msgstr "" +msgstr "àhàn" #. name for aho msgid "Ahom" -msgstr "" +msgstr "ahom" #. name for ahp msgid "Aizi; Aproumu" -msgstr "" +msgstr "aizi; Aproumu" #. name for ahr msgid "Ahirani" -msgstr "" +msgstr "ahirani" #. name for ahs msgid "Ashe" -msgstr "" +msgstr "ashe" #. name for aht msgid "Ahtena" -msgstr "" +msgstr "ahtena" #. name for aia msgid "Arosi" -msgstr "" +msgstr "arosi" #. name for aib msgid "Ainu (China)" -msgstr "" +msgstr "ainu (Čína)" #. name for aic msgid "Ainbai" -msgstr "" +msgstr "ainbai" #. name for aid msgid "Alngith" -msgstr "" +msgstr "alngith" #. name for aie msgid "Amara" -msgstr "" +msgstr "amara" #. name for aif msgid "Agi" -msgstr "" +msgstr "agi" #. name for aig msgid "Creole English; Antigua and Barbuda" -msgstr "" +msgstr "kreolská angličtina; Antigua a Barbuda" #. name for aih msgid "Ai-Cham" -msgstr "" +msgstr "ai-cham" #. name for aii msgid "Neo-Aramaic; Assyrian" -msgstr "" +msgstr "nová aramejština; asyřská" #. name for aij msgid "Lishanid Noshan" -msgstr "" +msgstr "lishanid noshan" #. name for aik msgid "Ake" -msgstr "" +msgstr "ake" #. name for ail msgid "Aimele" -msgstr "" +msgstr "aimele" #. name for aim msgid "Aimol" -msgstr "" +msgstr "aimol" #. name for ain msgid "Ainu (Japan)" -msgstr "" +msgstr "ainu (Japonsko)" #. name for aio msgid "Aiton" -msgstr "" +msgstr "aiton" #. name for aip msgid "Burumakok" -msgstr "" +msgstr "burumakok" #. name for aiq msgid "Aimaq" -msgstr "" +msgstr "aimaq" #. name for air msgid "Airoran" -msgstr "" +msgstr "airoran" #. name for ais msgid "Amis; Nataoran" -msgstr "" +msgstr "amis; Nataoran" #. name for ait msgid "Arikem" -msgstr "" +msgstr "arikem" #. name for aiw msgid "Aari" -msgstr "" +msgstr "aari" #. name for aix msgid "Aighon" -msgstr "" +msgstr "aighon" #. name for aiy msgid "Ali" -msgstr "" +msgstr "ali" #. name for aja msgid "Aja (Sudan)" -msgstr "" +msgstr "aja (Súdán)" #. name for ajg msgid "Aja (Benin)" -msgstr "" +msgstr "aja (Benin)" #. name for aji msgid "Ajië" -msgstr "" +msgstr "ajië" #. name for ajp msgid "Arabic; South Levantine" -msgstr "" +msgstr "arabština; jižní Levantine" #. name for ajt msgid "Arabic; Judeo-Tunisian" -msgstr "" +msgstr "arabština; židovsko-tuniská" #. name for aju msgid "Arabic; Judeo-Moroccan" -msgstr "" +msgstr "arabština; židovsko-marocká" #. name for ajw msgid "Ajawa" -msgstr "" +msgstr "ajawa" #. name for ajz msgid "Karbi; Amri" -msgstr "" +msgstr "karbi; amri" #. name for aka msgid "Akan" @@ -802,39 +802,39 @@ msgstr "akanština" #. name for akb msgid "Batak Angkola" -msgstr "" +msgstr "batak angkola" #. name for akc msgid "Mpur" -msgstr "" +msgstr "mpur" #. name for akd msgid "Ukpet-Ehom" -msgstr "" +msgstr "Ukpet-Ehom" #. name for ake msgid "Akawaio" -msgstr "" +msgstr "akawaio" #. name for akf msgid "Akpa" -msgstr "" +msgstr "akpa" #. name for akg msgid "Anakalangu" -msgstr "" +msgstr "anakalangu" #. name for akh msgid "Angal Heneng" -msgstr "" +msgstr "angal heneng" #. name for aki msgid "Aiome" -msgstr "" +msgstr "aiome" #. name for akj msgid "Aka-Jeru" -msgstr "" +msgstr "aka-jeru" #. name for akk msgid "Akkadian" @@ -842,71 +842,71 @@ msgstr "akkadština" #. name for akl msgid "Aklanon" -msgstr "" +msgstr "aklanon" #. name for akm msgid "Aka-Bo" -msgstr "" +msgstr "aka-bo" #. name for ako msgid "Akurio" -msgstr "" +msgstr "akurio" #. name for akp msgid "Siwu" -msgstr "" +msgstr "siwu" #. name for akq msgid "Ak" -msgstr "" +msgstr "ak" #. name for akr msgid "Araki" -msgstr "" +msgstr "araki" #. name for aks msgid "Akaselem" -msgstr "" +msgstr "akaselem" #. name for akt msgid "Akolet" -msgstr "" +msgstr "akolet" #. name for aku msgid "Akum" -msgstr "" +msgstr "akum" #. name for akv msgid "Akhvakh" -msgstr "" +msgstr "akhvakh" #. name for akw msgid "Akwa" -msgstr "" +msgstr "akwa" #. name for akx msgid "Aka-Kede" -msgstr "" +msgstr "aka-kede" #. name for aky msgid "Aka-Kol" -msgstr "" +msgstr "aka-kol" #. name for akz msgid "Alabama" -msgstr "" +msgstr "alabama" #. name for ala msgid "Alago" -msgstr "" +msgstr "alago" #. name for alc msgid "Qawasqar" -msgstr "" +msgstr "qawasqar" #. name for ald msgid "Alladian" -msgstr "" +msgstr "alladian" #. name for ale msgid "Aleut" @@ -914,103 +914,103 @@ msgstr "aleutština" #. name for alf msgid "Alege" -msgstr "" +msgstr "alege" #. name for alh msgid "Alawa" -msgstr "" +msgstr "alawa" #. name for ali msgid "Amaimon" -msgstr "" +msgstr "amaimon" #. name for alj msgid "Alangan" -msgstr "" +msgstr "alangan" #. name for alk msgid "Alak" -msgstr "" +msgstr "alak" #. name for all msgid "Allar" -msgstr "" +msgstr "allar" #. name for alm msgid "Amblong" -msgstr "" +msgstr "amblong" #. name for aln msgid "Albanian; Gheg" -msgstr "" +msgstr "albánština; Cheg" #. name for alo msgid "Larike-Wakasihu" -msgstr "" +msgstr "larike-wakasihu" #. name for alp msgid "Alune" -msgstr "" +msgstr "alune" #. name for alq msgid "Algonquin" -msgstr "" +msgstr "algonquin" #. name for alr msgid "Alutor" -msgstr "" +msgstr "alutor" #. name for als msgid "Albanian; Tosk" -msgstr "" +msgstr "albánština; Tosk" #. name for alt msgid "Altai; Southern" -msgstr "" +msgstr "altajština; jižní" #. name for alu msgid "'Are'are" -msgstr "" +msgstr "'are'are" #. name for alw msgid "Alaba-K’abeena" -msgstr "" +msgstr "alaba-K’abeena" #. name for alx msgid "Amol" -msgstr "" +msgstr "amol" #. name for aly msgid "Alyawarr" -msgstr "" +msgstr "alyawarr" #. name for alz msgid "Alur" -msgstr "" +msgstr "alur" #. name for ama msgid "Amanayé" -msgstr "" +msgstr "amanayé" #. name for amb msgid "Ambo" -msgstr "" +msgstr "ambo" #. name for amc msgid "Amahuaca" -msgstr "" +msgstr "amahuaca" #. name for ame msgid "Yanesha'" -msgstr "" +msgstr "yanesha'" #. name for amf msgid "Hamer-Banna" -msgstr "" +msgstr "hamer-banna" #. name for amg msgid "Amarag" -msgstr "" +msgstr "amarag" #. name for amh msgid "Amharic" @@ -1018,135 +1018,135 @@ msgstr "Amharština" #. name for ami msgid "Amis" -msgstr "" +msgstr "amis" #. name for amj msgid "Amdang" -msgstr "" +msgstr "amdang" #. name for amk msgid "Ambai" -msgstr "" +msgstr "ambai" #. name for aml msgid "War-Jaintia" -msgstr "" +msgstr "war-jaintia" #. name for amm msgid "Ama (Papua New Guinea)" -msgstr "" +msgstr "ama (Papua Nová Guinea)" #. name for amn msgid "Amanab" -msgstr "" +msgstr "amanab" #. name for amo msgid "Amo" -msgstr "" +msgstr "amo" #. name for amp msgid "Alamblak" -msgstr "" +msgstr "alamblak" #. name for amq msgid "Amahai" -msgstr "" +msgstr "amahai" #. name for amr msgid "Amarakaeri" -msgstr "" +msgstr "amarakaeri" #. name for ams msgid "Amami-Oshima; Southern" -msgstr "" +msgstr "amami-oshima; jižní" #. name for amt msgid "Amto" -msgstr "" +msgstr "amto" #. name for amu msgid "Amuzgo; Guerrero" -msgstr "" +msgstr "amuzgo; Guerrero" #. name for amv msgid "Ambelau" -msgstr "" +msgstr "ambelau" #. name for amw msgid "Neo-Aramaic; Western" -msgstr "" +msgstr "nová aramejština; západní" #. name for amx msgid "Anmatyerre" -msgstr "" +msgstr "anmatyerre" #. name for amy msgid "Ami" -msgstr "" +msgstr "ami" #. name for amz msgid "Atampaya" -msgstr "" +msgstr "atampaya" #. name for ana msgid "Andaqui" -msgstr "" +msgstr "andaqui" #. name for anb msgid "Andoa" -msgstr "" +msgstr "andoa" #. name for anc msgid "Ngas" -msgstr "" +msgstr "ngas" #. name for and msgid "Ansus" -msgstr "" +msgstr "ansus" #. name for ane msgid "Xârâcùù" -msgstr "" +msgstr "xârâcùù" #. name for anf msgid "Animere" -msgstr "" +msgstr "animere" #. name for ang msgid "English; Old (ca. 450-1100)" -msgstr "" +msgstr "angličtina; stará (asi 450 - 1100)" #. name for anh msgid "Nend" -msgstr "" +msgstr "nend" #. name for ani msgid "Andi" -msgstr "" +msgstr "andi" #. name for anj msgid "Anor" -msgstr "" +msgstr "anor" #. name for ank msgid "Goemai" -msgstr "" +msgstr "goemai" #. name for anl msgid "Anu" -msgstr "" +msgstr "anu" #. name for anm msgid "Anal" -msgstr "" +msgstr "anal" #. name for ann msgid "Obolo" -msgstr "" +msgstr "obolo" #. name for ano msgid "Andoque" -msgstr "" +msgstr "andoque" #. name for anp msgid "Angika" @@ -1154,251 +1154,251 @@ msgstr "angika" #. name for anq msgid "Jarawa (India)" -msgstr "" +msgstr "jarawa (Indie)" #. name for anr msgid "Andh" -msgstr "" +msgstr "andh" #. name for ans msgid "Anserma" -msgstr "" +msgstr "anserma" #. name for ant msgid "Antakarinya" -msgstr "" +msgstr "antakarinya" #. name for anu msgid "Anuak" -msgstr "" +msgstr "anuak" #. name for anv msgid "Denya" -msgstr "" +msgstr "denya" #. name for anw msgid "Anaang" -msgstr "" +msgstr "anaang" #. name for anx msgid "Andra-Hus" -msgstr "" +msgstr "andra-hus" #. name for any msgid "Anyin" -msgstr "" +msgstr "anyin" #. name for anz msgid "Anem" -msgstr "" +msgstr "anem" #. name for aoa msgid "Angolar" -msgstr "" +msgstr "angolar" #. name for aob msgid "Abom" -msgstr "" +msgstr "abom" #. name for aoc msgid "Pemon" -msgstr "" +msgstr "pemon" #. name for aod msgid "Andarum" -msgstr "" +msgstr "andarum" #. name for aoe msgid "Angal Enen" -msgstr "" +msgstr "angal enen" #. name for aof msgid "Bragat" -msgstr "" +msgstr "bragat" #. name for aog msgid "Angoram" -msgstr "" +msgstr "angoram" #. name for aoh msgid "Arma" -msgstr "" +msgstr "arma" #. name for aoi msgid "Anindilyakwa" -msgstr "" +msgstr "anindilyakwa" #. name for aoj msgid "Mufian" -msgstr "" +msgstr "mufian" #. name for aok msgid "Arhö" -msgstr "" +msgstr "arhö" #. name for aol msgid "Alor" -msgstr "" +msgstr "alor" #. name for aom msgid "Ömie" -msgstr "" +msgstr "ömie" #. name for aon msgid "Arapesh; Bumbita" -msgstr "" +msgstr "arapeština; Bumbita" #. name for aor msgid "Aore" -msgstr "" +msgstr "aore" #. name for aos msgid "Taikat" -msgstr "" +msgstr "taikat" #. name for aot msgid "A'tong" -msgstr "" +msgstr "a'tong" #. name for aox msgid "Atorada" -msgstr "" +msgstr "atorada" #. name for aoz msgid "Uab Meto" -msgstr "" +msgstr "uab meto" #. name for apb msgid "Sa'a" -msgstr "" +msgstr "sa'a" #. name for apc msgid "Arabic; North Levantine" -msgstr "" +msgstr "arabština; severní Levantine" #. name for apd msgid "Arabic; Sudanese" -msgstr "" +msgstr "arabština; súdánská" #. name for ape msgid "Bukiyip" -msgstr "" +msgstr "bukiyip" #. name for apf msgid "Agta; Pahanan" -msgstr "" +msgstr "agta; Pahanan" #. name for apg msgid "Ampanang" -msgstr "" +msgstr "ampanang" #. name for aph msgid "Athpariya" -msgstr "" +msgstr "athapariya" #. name for api msgid "Apiaká" -msgstr "" +msgstr "apiaká" #. name for apj msgid "Apache; Jicarilla" -msgstr "" +msgstr "apačština; Jicarilla" #. name for apk msgid "Apache; Kiowa" -msgstr "" +msgstr "apačština; Kiowa" #. name for apl msgid "Apache; Lipan" -msgstr "" +msgstr "apačština; Lipan" #. name for apm msgid "Apache; Mescalero-Chiricahua" -msgstr "" +msgstr "apačština; Mescalero-Chiricahua" #. name for apn msgid "Apinayé" -msgstr "" +msgstr "apinayé" #. name for apo msgid "Ambul" -msgstr "" +msgstr "ambul" #. name for app msgid "Apma" -msgstr "" +msgstr "apma" #. name for apq msgid "A-Pucikwar" -msgstr "" +msgstr "a-pucikwar" #. name for apr msgid "Arop-Lokep" -msgstr "" +msgstr "arop-lokep" #. name for aps msgid "Arop-Sissano" -msgstr "" +msgstr "arop-sissano" #. name for apt msgid "Apatani" -msgstr "" +msgstr "apatani" #. name for apu msgid "Apurinã" -msgstr "" +msgstr "apurinã" #. name for apv msgid "Alapmunte" -msgstr "" +msgstr "alapmunte" #. name for apw msgid "Apache; Western" -msgstr "" +msgstr "apačština; západní" #. name for apx msgid "Aputai" -msgstr "" +msgstr "aputai" #. name for apy msgid "Apalaí" -msgstr "" +msgstr "apalaí" #. name for apz msgid "Safeyoka" -msgstr "" +msgstr "safeyoka" #. name for aqc msgid "Archi" -msgstr "" +msgstr "archi" #. name for aqd msgid "Dogon; Ampari" -msgstr "" +msgstr "dogon; Ampari" #. name for aqg msgid "Arigidi" -msgstr "" +msgstr "arigidi" #. name for aqm msgid "Atohwaim" -msgstr "" +msgstr "atohwaim" #. name for aqn msgid "Alta; Northern" -msgstr "" +msgstr "alta; severní" #. name for aqp msgid "Atakapa" -msgstr "" +msgstr "atakapa" #. name for aqr msgid "Arhâ" -msgstr "" +msgstr "arhâ" #. name for aqz msgid "Akuntsu" -msgstr "" +msgstr "akuntsu" #. name for ara msgid "Arabic" @@ -1406,19 +1406,19 @@ msgstr "arabština" #. name for arb msgid "Arabic; Standard" -msgstr "" +msgstr "arabština; standardní" #. name for arc msgid "Aramaic; Official (700-300 BCE)" -msgstr "" +msgstr "aramejština; oficiální (700-300 př. n. l.)" #. name for ard msgid "Arabana" -msgstr "" +msgstr "arabana" #. name for are msgid "Arrarnta; Western" -msgstr "" +msgstr "arrarnta; západní" #. name for arg msgid "Aragonese" @@ -1426,31 +1426,31 @@ msgstr "aragonská španělština" #. name for arh msgid "Arhuaco" -msgstr "" +msgstr "arhuaco" #. name for ari msgid "Arikara" -msgstr "" +msgstr "arikara" #. name for arj msgid "Arapaso" -msgstr "" +msgstr "arapaso" #. name for ark msgid "Arikapú" -msgstr "" +msgstr "arikapú" #. name for arl msgid "Arabela" -msgstr "" +msgstr "arabela" #. name for arn msgid "Mapudungun" -msgstr "" +msgstr "mapudungun" #. name for aro msgid "Araona" -msgstr "" +msgstr "araona" #. name for arp msgid "Arapaho" @@ -1458,23 +1458,23 @@ msgstr "arapaho" #. name for arq msgid "Arabic; Algerian" -msgstr "" +msgstr "arabština; alžírská" #. name for arr msgid "Karo (Brazil)" -msgstr "" +msgstr "karo (Brazílie)" #. name for ars msgid "Arabic; Najdi" -msgstr "" +msgstr "arabština; Najdi" #. name for aru msgid "Aruá (Amazonas State)" -msgstr "" +msgstr "aruá (amazonské státy)" #. name for arv msgid "Arbore" -msgstr "" +msgstr "arbore" #. name for arw msgid "Arawak" @@ -1482,63 +1482,63 @@ msgstr "arawacké jazyky" #. name for arx msgid "Aruá (Rodonia State)" -msgstr "" +msgstr "aruá (Rodonie)" #. name for ary msgid "Arabic; Moroccan" -msgstr "" +msgstr "arabština; marocká" #. name for arz msgid "Arabic; Egyptian" -msgstr "" +msgstr "arabština; egyptská" #. name for asa msgid "Asu (Tanzania)" -msgstr "" +msgstr "asu (Tanzánie)" #. name for asb msgid "Assiniboine" -msgstr "" +msgstr "assiniboine" #. name for asc msgid "Asmat; Casuarina Coast" -msgstr "" +msgstr "asmat; pobřeží Casuarina" #. name for asd msgid "Asas" -msgstr "" +msgstr "asas" #. name for ase msgid "American Sign Language" -msgstr "" +msgstr "americký znakový jazyk" #. name for asf msgid "Australian Sign Language" -msgstr "" +msgstr "australský znakový jazyk" #. name for asg msgid "Cishingini" -msgstr "" +msgstr "cishingini" #. name for ash msgid "Abishira" -msgstr "" +msgstr "abishira" #. name for asi msgid "Buruwai" -msgstr "" +msgstr "buruwai" #. name for asj msgid "Nsari" -msgstr "" +msgstr "nsari" #. name for ask msgid "Ashkun" -msgstr "" +msgstr "ashkun" #. name for asl msgid "Asilulu" -msgstr "" +msgstr "asilulu" #. name for asm msgid "Assamese" @@ -1546,167 +1546,167 @@ msgstr "ásámština" #. name for asn msgid "Asuriní; Xingú" -msgstr "" +msgstr "asuriní; Xingú" #. name for aso msgid "Dano" -msgstr "" +msgstr "dano" #. name for asp msgid "Algerian Sign Language" -msgstr "" +msgstr "alžírský znakový jazyk" #. name for asq msgid "Austrian Sign Language" -msgstr "" +msgstr "rakouský znakový jazyk" #. name for asr msgid "Asuri" -msgstr "" +msgstr "asuri" #. name for ass msgid "Ipulo" -msgstr "" +msgstr "ipulo" #. name for ast msgid "Asturian" -msgstr "" +msgstr "asturština" #. name for asu msgid "Asurini; Tocantins" -msgstr "" +msgstr "asurini; Tocantins" #. name for asv msgid "Asoa" -msgstr "" +msgstr "asoa" #. name for asw msgid "Australian Aborigines Sign Language" -msgstr "" +msgstr "australský aboridžinský znakový jazyk" #. name for asx msgid "Muratayak" -msgstr "" +msgstr "muratayak" #. name for asy msgid "Asmat; Yaosakor" -msgstr "" +msgstr "asmat; Yaosakor" #. name for asz msgid "As" -msgstr "" +msgstr "as" #. name for ata msgid "Pele-Ata" -msgstr "" +msgstr "pele-ata" #. name for atb msgid "Zaiwa" -msgstr "" +msgstr "zaiwa" #. name for atc msgid "Atsahuaca" -msgstr "" +msgstr "atsahuaca" #. name for atd msgid "Manobo; Ata" -msgstr "" +msgstr "manobo; Ata" #. name for ate msgid "Atemble" -msgstr "" +msgstr "atemble" #. name for atg msgid "Ivbie North-Okpela-Arhe" -msgstr "" +msgstr "ivbie north-okpela-arhe" #. name for ati msgid "Attié" -msgstr "" +msgstr "attié" #. name for atj msgid "Atikamekw" -msgstr "" +msgstr "atikamekw" #. name for atk msgid "Ati" -msgstr "" +msgstr "ati" #. name for atl msgid "Agta; Mt. Iraya" -msgstr "" +msgstr "agta; hora Iraya" #. name for atm msgid "Ata" -msgstr "" +msgstr "ata" #. name for atn msgid "Ashtiani" -msgstr "" +msgstr "ashtiana" #. name for ato msgid "Atong" -msgstr "" +msgstr "atong" #. name for atp msgid "Atta; Pudtol" -msgstr "" +msgstr "atta; Pudtol" #. name for atq msgid "Aralle-Tabulahan" -msgstr "" +msgstr "aralle-tabulahan" #. name for atr msgid "Waimiri-Atroari" -msgstr "" +msgstr "waimiri-atroari" #. name for ats msgid "Gros Ventre" -msgstr "" +msgstr "gros ventre" #. name for att msgid "Atta; Pamplona" -msgstr "" +msgstr "atta; Pamplona" #. name for atu msgid "Reel" -msgstr "" +msgstr "reel" #. name for atv msgid "Altai; Northern" -msgstr "" +msgstr "altai; severní" #. name for atw msgid "Atsugewi" -msgstr "" +msgstr "atsugewi" #. name for atx msgid "Arutani" -msgstr "" +msgstr "arutani" #. name for aty msgid "Aneityum" -msgstr "" +msgstr "aneityum" #. name for atz msgid "Arta" -msgstr "" +msgstr "arta" #. name for aua msgid "Asumboa" -msgstr "" +msgstr "asumboa" #. name for aub msgid "Alugu" -msgstr "" +msgstr "alugu" #. name for auc msgid "Waorani" -msgstr "" +msgstr "waorani" #. name for aud msgid "Anuta" -msgstr "" +msgstr "anuta" #. name for aue msgid "=/Kx'au//'ein" @@ -1714,75 +1714,75 @@ msgstr "" #. name for aug msgid "Aguna" -msgstr "" +msgstr "Aguna" #. name for auh msgid "Aushi" -msgstr "" +msgstr "Aushi" #. name for aui msgid "Anuki" -msgstr "" +msgstr "anuki" #. name for auj msgid "Awjilah" -msgstr "" +msgstr "awjilah" #. name for auk msgid "Heyo" -msgstr "" +msgstr "heyo" #. name for aul msgid "Aulua" -msgstr "" +msgstr "aulua" #. name for aum msgid "Asu (Nigeria)" -msgstr "" +msgstr "asu (Nigérie)" #. name for aun msgid "One; Molmo" -msgstr "" +msgstr "one; Molmo" #. name for auo msgid "Auyokawa" -msgstr "" +msgstr "auyokawa" #. name for aup msgid "Makayam" -msgstr "" +msgstr "makayam" #. name for auq msgid "Anus" -msgstr "" +msgstr "anus" #. name for aur msgid "Aruek" -msgstr "" +msgstr "aruek" #. name for aut msgid "Austral" -msgstr "" +msgstr "austral" #. name for auu msgid "Auye" -msgstr "" +msgstr "auye" #. name for auw msgid "Awyi" -msgstr "" +msgstr "awyi" #. name for aux msgid "Aurá" -msgstr "" +msgstr "aurá" #. name for auy msgid "Awiyaana" -msgstr "" +msgstr "awiyaana" #. name for auz msgid "Arabic; Uzbeki" -msgstr "" +msgstr "arabština; Uzbeki" #. name for ava msgid "Avaric" @@ -1790,11 +1790,11 @@ msgstr "avarština" #. name for avb msgid "Avau" -msgstr "" +msgstr "avau" #. name for avd msgid "Alviri-Vidari" -msgstr "" +msgstr "alviri-vidari" #. name for ave msgid "Avestan" @@ -1802,39 +1802,39 @@ msgstr "avestština" #. name for avi msgid "Avikam" -msgstr "" +msgstr "avikam" #. name for avk msgid "Kotava" -msgstr "" +msgstr "kotava" #. name for avl msgid "Arabic; Eastern Egyptian Bedawi" -msgstr "" +msgstr "arabština; východní Egypt Bedawi" #. name for avn msgid "Avatime" -msgstr "" +msgstr "avatime" #. name for avo msgid "Agavotaguerra" -msgstr "" +msgstr "agavotaguerra" #. name for avs msgid "Aushiri" -msgstr "" +msgstr "Aushiri" #. name for avt msgid "Au" -msgstr "" +msgstr "au" #. name for avu msgid "Avokaya" -msgstr "" +msgstr "avokaya" #. name for avv msgid "Avá-Canoeiro" -msgstr "" +msgstr "avá-canoeiro" #. name for awa msgid "Awadhi" @@ -1842,183 +1842,183 @@ msgstr "avadhština (avadhí)" #. name for awb msgid "Awa (Papua New Guinea)" -msgstr "" +msgstr "awa (Papua Nová Guinea)" #. name for awc msgid "Cicipu" -msgstr "" +msgstr "cicipu" #. name for awe msgid "Awetí" -msgstr "" +msgstr "awetí" #. name for awh msgid "Awbono" -msgstr "" +msgstr "awbono" #. name for awi msgid "Aekyom" -msgstr "" +msgstr "aekyom" #. name for awk msgid "Awabakal" -msgstr "" +msgstr "awabakal" #. name for awm msgid "Arawum" -msgstr "" +msgstr "arawum" #. name for awn msgid "Awngi" -msgstr "" +msgstr "awngi" #. name for awo msgid "Awak" -msgstr "" +msgstr "awak" #. name for awr msgid "Awera" -msgstr "" +msgstr "awera" #. name for aws msgid "Awyu; South" -msgstr "" +msgstr "awyu; jižní" #. name for awt msgid "Araweté" -msgstr "" +msgstr "araweté" #. name for awu msgid "Awyu; Central" -msgstr "" +msgstr "awyu; centrální" #. name for awv msgid "Awyu; Jair" -msgstr "" +msgstr "awyu; Jair" #. name for aww msgid "Awun" -msgstr "" +msgstr "awun" #. name for awx msgid "Awara" -msgstr "" +msgstr "awara" #. name for awy msgid "Awyu; Edera" -msgstr "" +msgstr "awyu; Edera" #. name for axb msgid "Abipon" -msgstr "" +msgstr "abipon" #. name for axg msgid "Arára; Mato Grosso" -msgstr "" +msgstr "arára; Mato Grosso" #. name for axk msgid "Yaka (Central African Republic)" -msgstr "" +msgstr "Yaka (centrální Afrika)" #. name for axm msgid "Armenian; Middle" -msgstr "" +msgstr "arménština; středověk" #. name for axx msgid "Xaragure" -msgstr "" +msgstr "xaragure" #. name for aya msgid "Awar" -msgstr "" +msgstr "awar" #. name for ayb msgid "Gbe; Ayizo" -msgstr "" +msgstr "gbe; Ayizo" #. name for ayc msgid "Aymara; Southern" -msgstr "" +msgstr "aymarština; severní" #. name for ayd msgid "Ayabadhu" -msgstr "" +msgstr "ayabadhu" #. name for aye msgid "Ayere" -msgstr "" +msgstr "ayere" #. name for ayg msgid "Ginyanga" -msgstr "" +msgstr "Ginyanga" #. name for ayh msgid "Arabic; Hadrami" -msgstr "" +msgstr "arabština; Hadrami" #. name for ayi msgid "Leyigha" -msgstr "" +msgstr "leyigha" #. name for ayk msgid "Akuku" -msgstr "" +msgstr "akuku" #. name for ayl msgid "Arabic; Libyan" -msgstr "" +msgstr "arabština; Libye" #. name for aym msgid "Aymara" -msgstr "Aymárština" +msgstr "aymarština" #. name for ayn msgid "Arabic; Sanaani" -msgstr "" +msgstr "arabština; Sanaani" #. name for ayo msgid "Ayoreo" -msgstr "" +msgstr "ayoreo" #. name for ayp msgid "Arabic; North Mesopotamian" -msgstr "" +msgstr "arabština; severní Mezopotámie" #. name for ayq msgid "Ayi (Papua New Guinea)" -msgstr "" +msgstr "ayi (Papua Nová Guinea)" #. name for ayr msgid "Aymara; Central" -msgstr "" +msgstr "aymarština; centrální" #. name for ays msgid "Ayta; Sorsogon" -msgstr "" +msgstr "ayta; Sorsogon" #. name for ayt msgid "Ayta; Magbukun" -msgstr "" +msgstr "ayta; Magbukun" #. name for ayu msgid "Ayu" -msgstr "" +msgstr "ayu" #. name for ayy msgid "Ayta; Tayabas" -msgstr "" +msgstr "ayta; Tayabas" #. name for ayz msgid "Mai Brat" -msgstr "" +msgstr "Mai Brat" #. name for aza msgid "Azha" -msgstr "" +msgstr "azha" #. name for azb msgid "Azerbaijani; South" -msgstr "" +msgstr "ázerbájdžánština; jih" #. name for aze msgid "Azerbaijani" @@ -2026,59 +2026,59 @@ msgstr "azerbajdžánština" #. name for azg msgid "Amuzgo; San Pedro Amuzgos" -msgstr "" +msgstr "amuzgo; San Pedro Amuzgos" #. name for azj msgid "Azerbaijani; North" -msgstr "" +msgstr "ázerbájdžánština; sever" #. name for azm msgid "Amuzgo; Ipalapa" -msgstr "" +msgstr "amuzgo; Ipalapa" #. name for azo msgid "Awing" -msgstr "" +msgstr "awing" #. name for azt msgid "Atta; Faire" -msgstr "" +msgstr "atta; Faire" #. name for azz msgid "Nahuatl; Highland Puebla" -msgstr "" +msgstr "nahuatl; vysočina Puebla" #. name for baa msgid "Babatana" -msgstr "" +msgstr "babatana" #. name for bab msgid "Bainouk-Gunyuño" -msgstr "" +msgstr "bainouk-gunyuño" #. name for bac msgid "Badui" -msgstr "" +msgstr "badui" #. name for bae msgid "Baré" -msgstr "" +msgstr "baré" #. name for baf msgid "Nubaca" -msgstr "" +msgstr "nubaca" #. name for bag msgid "Tuki" -msgstr "" +msgstr "tuki" #. name for bah msgid "Creole English; Bahamas" -msgstr "" +msgstr "kreolská angličtina; Bahamy" #. name for baj msgid "Barakai" -msgstr "" +msgstr "barakai" #. name for bak msgid "Bashkir" @@ -2098,387 +2098,387 @@ msgstr "balijština" #. name for bao msgid "Waimaha" -msgstr "" +msgstr "waimaha" #. name for bap msgid "Bantawa" -msgstr "" +msgstr "bantawa" #. name for bar msgid "Bavarian" -msgstr "" +msgstr "bavarian" #. name for bas msgid "Basa (Cameroon)" -msgstr "" +msgstr "basa (Kamerun)" #. name for bau msgid "Bada (Nigeria)" -msgstr "" +msgstr "bada (Nigérie)" #. name for bav msgid "Vengo" -msgstr "" +msgstr "vengo" #. name for baw msgid "Bambili-Bambui" -msgstr "" +msgstr "bambili-bambui" #. name for bax msgid "Bamun" -msgstr "" +msgstr "bamun" #. name for bay msgid "Batuley" -msgstr "" +msgstr "batuley" #. name for baz msgid "Tunen" -msgstr "" +msgstr "tunen" #. name for bba msgid "Baatonum" -msgstr "" +msgstr "baatonum" #. name for bbb msgid "Barai" -msgstr "" +msgstr "barai" #. name for bbc msgid "Batak Toba" -msgstr "" +msgstr "batak toba" #. name for bbd msgid "Bau" -msgstr "" +msgstr "bau" #. name for bbe msgid "Bangba" -msgstr "" +msgstr "bangba" #. name for bbf msgid "Baibai" -msgstr "" +msgstr "baibai" #. name for bbg msgid "Barama" -msgstr "" +msgstr "barama" #. name for bbh msgid "Bugan" -msgstr "" +msgstr "bugan" #. name for bbi msgid "Barombi" -msgstr "" +msgstr "barombi" #. name for bbj msgid "Ghomálá'" -msgstr "" +msgstr "ghomálá'" #. name for bbk msgid "Babanki" -msgstr "" +msgstr "babanki" #. name for bbl msgid "Bats" -msgstr "" +msgstr "bats" #. name for bbm msgid "Babango" -msgstr "" +msgstr "babango" #. name for bbn msgid "Uneapa" -msgstr "" +msgstr "uneapa" #. name for bbo msgid "Bobo Madaré; Northern" -msgstr "" +msgstr "bobo madaré; severní" #. name for bbp msgid "Banda; West Central" -msgstr "" +msgstr "banda; centrální západ" #. name for bbq msgid "Bamali" -msgstr "" +msgstr "bamali" #. name for bbr msgid "Girawa" -msgstr "" +msgstr "girawa" #. name for bbs msgid "Bakpinka" -msgstr "" +msgstr "bakpinka" #. name for bbt msgid "Mburku" -msgstr "" +msgstr "mburku" #. name for bbu msgid "Kulung (Nigeria)" -msgstr "" +msgstr "kulung (Nigérie)" #. name for bbv msgid "Karnai" -msgstr "" +msgstr "karnai" #. name for bbw msgid "Baba" -msgstr "" +msgstr "baba" #. name for bbx msgid "Bubia" -msgstr "" +msgstr "bubia" #. name for bby msgid "Befang" -msgstr "" +msgstr "befang" #. name for bbz msgid "Creole Arabic; Babalia" -msgstr "" +msgstr "kreolská arabština; Babalia" #. name for bca msgid "Bai; Central" -msgstr "" +msgstr "bai; centrální" #. name for bcb msgid "Bainouk-Samik" -msgstr "" +msgstr "bainouk-samik" #. name for bcc msgid "Balochi; Southern" -msgstr "" +msgstr "balochi; jižní" #. name for bcd msgid "Babar; North" -msgstr "" +msgstr "babar; sever" #. name for bce msgid "Bamenyam" -msgstr "" +msgstr "bamenyam" #. name for bcf msgid "Bamu" -msgstr "" +msgstr "bamu" #. name for bcg msgid "Baga Binari" -msgstr "" +msgstr "baga binari" #. name for bch msgid "Bariai" -msgstr "" +msgstr "bariai" #. name for bci msgid "Baoulé" -msgstr "" +msgstr "baoulé" #. name for bcj msgid "Bardi" -msgstr "" +msgstr "bardi" #. name for bck msgid "Bunaba" -msgstr "" +msgstr "bunaba" #. name for bcl msgid "Bicolano; Central" -msgstr "" +msgstr "bicolano; centrální" #. name for bcm msgid "Bannoni" -msgstr "" +msgstr "bannoni" #. name for bcn msgid "Bali (Nigeria)" -msgstr "" +msgstr "bali (Nigérie)" #. name for bco msgid "Kaluli" -msgstr "" +msgstr "kaluli" #. name for bcp msgid "Bali (Democratic Republic of Congo)" -msgstr "" +msgstr "bali (Demokratická republika Kongo)" #. name for bcq msgid "Bench" -msgstr "" +msgstr "bench" #. name for bcr msgid "Babine" -msgstr "" +msgstr "babine" #. name for bcs msgid "Kohumono" -msgstr "" +msgstr "kohumono" #. name for bct msgid "Bendi" -msgstr "" +msgstr "bendi" #. name for bcu msgid "Awad Bing" -msgstr "" +msgstr "awad bing" #. name for bcv msgid "Shoo-Minda-Nye" -msgstr "" +msgstr "shoo-minda-nye" #. name for bcw msgid "Bana" -msgstr "" +msgstr "bana" #. name for bcy msgid "Bacama" -msgstr "" +msgstr "bacama" #. name for bcz msgid "Bainouk-Gunyaamolo" -msgstr "" +msgstr "bainouk-gunyaamolo" #. name for bda msgid "Bayot" -msgstr "" +msgstr "bayot" #. name for bdb msgid "Basap" -msgstr "" +msgstr "basap" #. name for bdc msgid "Emberá-Baudó" -msgstr "" +msgstr "emberá-baudó" #. name for bdd msgid "Bunama" -msgstr "" +msgstr "bunama" #. name for bde msgid "Bade" -msgstr "" +msgstr "bade" #. name for bdf msgid "Biage" -msgstr "" +msgstr "biage" #. name for bdg msgid "Bonggi" -msgstr "" +msgstr "bonggi" #. name for bdh msgid "Baka (Sudan)" -msgstr "" +msgstr "baka (Súdán)" #. name for bdi msgid "Burun" -msgstr "" +msgstr "burun" #. name for bdj msgid "Bai" -msgstr "" +msgstr "bai" #. name for bdk msgid "Budukh" -msgstr "" +msgstr "budukh" #. name for bdl msgid "Bajau; Indonesian" -msgstr "" +msgstr "bajau; Indonéská" #. name for bdm msgid "Buduma" -msgstr "" +msgstr "buduma" #. name for bdn msgid "Baldemu" -msgstr "" +msgstr "baldemu" #. name for bdo msgid "Morom" -msgstr "" +msgstr "morom" #. name for bdp msgid "Bende" -msgstr "" +msgstr "bende" #. name for bdq msgid "Bahnar" -msgstr "" +msgstr "bahnar" #. name for bdr msgid "Bajau; West Coast" -msgstr "" +msgstr "bajau; západní pobřeží" #. name for bds msgid "Burunge" -msgstr "" +msgstr "burunge" #. name for bdt msgid "Bokoto" -msgstr "" +msgstr "bokoto" #. name for bdu msgid "Oroko" -msgstr "" +msgstr "oroko" #. name for bdv msgid "Bodo Parja" -msgstr "" +msgstr "bodo parja" #. name for bdw msgid "Baham" -msgstr "" +msgstr "baham" #. name for bdx msgid "Budong-Budong" -msgstr "" +msgstr "budong-budong" #. name for bdy msgid "Bandjalang" -msgstr "" +msgstr "bandjalang" #. name for bdz msgid "Badeshi" -msgstr "" +msgstr "badeshi" #. name for bea msgid "Beaver" -msgstr "" +msgstr "beaver" #. name for beb msgid "Bebele" -msgstr "" +msgstr "bebele" #. name for bec msgid "Iceve-Maci" -msgstr "" +msgstr "iceve-maci" #. name for bed msgid "Bedoanas" -msgstr "" +msgstr "bedoanas" #. name for bee msgid "Byangsi" -msgstr "" +msgstr "byangsi" #. name for bef msgid "Benabena" -msgstr "" +msgstr "benabena" #. name for beg msgid "Belait" -msgstr "" +msgstr "belait" #. name for beh msgid "Biali" -msgstr "" +msgstr "biali" #. name for bei msgid "Bekati'" -msgstr "" +msgstr "bekati'" #. name for bej msgid "Beja" @@ -2486,7 +2486,7 @@ msgstr "bedža" #. name for bek msgid "Bebeli" -msgstr "" +msgstr "bebeli" #. name for bel msgid "Belarusian" @@ -2494,7 +2494,7 @@ msgstr "běloruština" #. name for bem msgid "Bemba (Zambia)" -msgstr "" +msgstr "bemba (Zambie)" #. name for ben msgid "Bengali" @@ -2502,299 +2502,299 @@ msgstr "bengálština" #. name for beo msgid "Beami" -msgstr "" +msgstr "beami" #. name for bep msgid "Besoa" -msgstr "" +msgstr "besoa" #. name for beq msgid "Beembe" -msgstr "" +msgstr "beembe" #. name for bes msgid "Besme" -msgstr "" +msgstr "besme" #. name for bet msgid "Béte; Guiberoua" -msgstr "" +msgstr "béte; Guiberoua" #. name for beu msgid "Blagar" -msgstr "" +msgstr "blagar" #. name for bev msgid "Bété; Daloa" -msgstr "" +msgstr "bété; Daloa" #. name for bew msgid "Betawi" -msgstr "" +msgstr "betawi" #. name for bex msgid "Jur Modo" -msgstr "" +msgstr "jur modo" #. name for bey msgid "Beli (Papua New Guinea)" -msgstr "" +msgstr "beli (Papua Nová Giunea)" #. name for bez msgid "Bena (Tanzania)" -msgstr "" +msgstr "bena (Tanzánie)" #. name for bfa msgid "Bari" -msgstr "" +msgstr "bari" #. name for bfb msgid "Bareli; Pauri" -msgstr "" +msgstr "bareli; Pauri" #. name for bfc msgid "Bai; Northern" -msgstr "" +msgstr "bai; severní" #. name for bfd msgid "Bafut" -msgstr "" +msgstr "bafut" #. name for bfe msgid "Betaf" -msgstr "" +msgstr "betaf" #. name for bff msgid "Bofi" -msgstr "" +msgstr "bofi" #. name for bfg msgid "Kayan; Busang" -msgstr "" +msgstr "kayan; Busang" #. name for bfh msgid "Blafe" -msgstr "" +msgstr "blafe" #. name for bfi msgid "British Sign Language" -msgstr "" +msgstr "britský znakový jazyk" #. name for bfj msgid "Bafanji" -msgstr "" +msgstr "bafanji" #. name for bfk msgid "Ban Khor Sign Language" -msgstr "" +msgstr "znakový jazyk ban khor" #. name for bfl msgid "Banda-Ndélé" -msgstr "" +msgstr "banda-ndélé" #. name for bfm msgid "Mmen" -msgstr "" +msgstr "mmen" #. name for bfn msgid "Bunak" -msgstr "" +msgstr "bunak" #. name for bfo msgid "Birifor; Malba" -msgstr "" +msgstr "birifor; Malba" #. name for bfp msgid "Beba" -msgstr "" +msgstr "beba" #. name for bfq msgid "Badaga" -msgstr "" +msgstr "badaga" #. name for bfr msgid "Bazigar" -msgstr "" +msgstr "bazigar" #. name for bfs msgid "Bai; Southern" -msgstr "" +msgstr "bai; jižní" #. name for bft msgid "Balti" -msgstr "" +msgstr "balti" #. name for bfu msgid "Gahri" -msgstr "" +msgstr "gahri" #. name for bfw msgid "Bondo" -msgstr "" +msgstr "bondo" #. name for bfx msgid "Bantayanon" -msgstr "" +msgstr "bantayanon" #. name for bfy msgid "Bagheli" -msgstr "" +msgstr "bagheli" #. name for bfz msgid "Pahari; Mahasu" -msgstr "" +msgstr "pahari; Mahasu" #. name for bga msgid "Gwamhi-Wuri" -msgstr "" +msgstr "gwamhi-wuri" #. name for bgb msgid "Bobongko" -msgstr "" +msgstr "bobongko" #. name for bgc msgid "Haryanvi" -msgstr "" +msgstr "haryanvi" #. name for bgd msgid "Bareli; Rathwi" -msgstr "" +msgstr "bareli; Rathwi" #. name for bge msgid "Bauria" -msgstr "" +msgstr "bauria" #. name for bgf msgid "Bangandu" -msgstr "" +msgstr "bangandu" #. name for bgg msgid "Bugun" -msgstr "" +msgstr "bugun" #. name for bgi msgid "Giangan" -msgstr "" +msgstr "giangan" #. name for bgj msgid "Bangolan" -msgstr "" +msgstr "bangolan" #. name for bgk msgid "Bit" -msgstr "" +msgstr "bit" #. name for bgl msgid "Bo (Laos)" -msgstr "" +msgstr "bo (Laos)" #. name for bgm msgid "Baga Mboteni" -msgstr "" +msgstr "baga mboteni" #. name for bgn msgid "Balochi; Western" -msgstr "" +msgstr "balochi; západní" #. name for bgo msgid "Baga Koga" -msgstr "" +msgstr "baga koga" #. name for bgp msgid "Balochi; Eastern" -msgstr "" +msgstr "balochi; východní" #. name for bgq msgid "Bagri" -msgstr "" +msgstr "bagri" #. name for bgr msgid "Chin; Bawm" -msgstr "" +msgstr "chin; Bawm" #. name for bgs msgid "Tagabawa" -msgstr "" +msgstr "tagabawa" #. name for bgt msgid "Bughotu" -msgstr "" +msgstr "bughotu" #. name for bgu msgid "Mbongno" -msgstr "" +msgstr "mbongno" #. name for bgv msgid "Warkay-Bipim" -msgstr "" +msgstr "warkay-bipim" #. name for bgw msgid "Bhatri" -msgstr "" +msgstr "bhatri" #. name for bgx msgid "Turkish; Balkan Gagauz" -msgstr "" +msgstr "turečtina; balkánská" #. name for bgy msgid "Benggoi" -msgstr "" +msgstr "benggoi" #. name for bgz msgid "Banggai" -msgstr "" +msgstr "banggai" #. name for bha msgid "Bharia" -msgstr "" +msgstr "bharia" #. name for bhb msgid "Bhili" -msgstr "" +msgstr "bhili" #. name for bhc msgid "Biga" -msgstr "" +msgstr "biga" #. name for bhd msgid "Bhadrawahi" -msgstr "" +msgstr "bhadrawahi" #. name for bhe msgid "Bhaya" -msgstr "" +msgstr "bhaya" #. name for bhf msgid "Odiai" -msgstr "" +msgstr "odiai" #. name for bhg msgid "Binandere" -msgstr "" +msgstr "binandere" #. name for bhh msgid "Bukharic" -msgstr "" +msgstr "bukharic" #. name for bhi msgid "Bhilali" -msgstr "" +msgstr "bhilali" #. name for bhj msgid "Bahing" -msgstr "" +msgstr "bahing" #. name for bhl msgid "Bimin" -msgstr "" +msgstr "bimin" #. name for bhm msgid "Bathari" -msgstr "" +msgstr "bathari" #. name for bhn msgid "Neo-Aramaic; Bohtan" -msgstr "" +msgstr "nová aramejština; Bohtan" #. name for bho msgid "Bhojpuri" @@ -2802,79 +2802,79 @@ msgstr "bhódžpurština" #. name for bhp msgid "Bima" -msgstr "" +msgstr "bima" #. name for bhq msgid "Tukang Besi South" -msgstr "" +msgstr "tukang besi south" #. name for bhr msgid "Malagasy; Bara" -msgstr "" +msgstr "malagasy; bara" #. name for bhs msgid "Buwal" -msgstr "" +msgstr "buwal" #. name for bht msgid "Bhattiyali" -msgstr "" +msgstr "bhattiyali" #. name for bhu msgid "Bhunjia" -msgstr "" +msgstr "bhunjia" #. name for bhv msgid "Bahau" -msgstr "" +msgstr "bahau" #. name for bhw msgid "Biak" -msgstr "" +msgstr "biak" #. name for bhx msgid "Bhalay" -msgstr "" +msgstr "bhalay" #. name for bhy msgid "Bhele" -msgstr "" +msgstr "bhele" #. name for bhz msgid "Bada (Indonesia)" -msgstr "" +msgstr "bada (Indonésie)" #. name for bia msgid "Badimaya" -msgstr "" +msgstr "badimaya" #. name for bib msgid "Bissa" -msgstr "" +msgstr "bissa" #. name for bic msgid "Bikaru" -msgstr "" +msgstr "bikaru" #. name for bid msgid "Bidiyo" -msgstr "" +msgstr "bidiyo" #. name for bie msgid "Bepour" -msgstr "" +msgstr "bepour" #. name for bif msgid "Biafada" -msgstr "" +msgstr "biafada" #. name for big msgid "Biangai" -msgstr "" +msgstr "biangai" #. name for bij msgid "Vaghat-Ya-Bijim-Legeri" -msgstr "" +msgstr "vaghat-ya-bijim-legeri" #. name for bik msgid "Bikol" @@ -2882,255 +2882,255 @@ msgstr "bikolština" #. name for bil msgid "Bile" -msgstr "" +msgstr "bile" #. name for bim msgid "Bimoba" -msgstr "" +msgstr "bimoba" #. name for bin msgid "Bini" -msgstr "" +msgstr "bini" #. name for bio msgid "Nai" -msgstr "" +msgstr "nai" #. name for bip msgid "Bila" -msgstr "" +msgstr "bila" #. name for biq msgid "Bipi" -msgstr "" +msgstr "bipi" #. name for bir msgid "Bisorio" -msgstr "" +msgstr "bisorio" #. name for bis msgid "Bislama" -msgstr "Bislámština" +msgstr "bislamština" #. name for bit msgid "Berinomo" -msgstr "" +msgstr "berinomo" #. name for biu msgid "Biete" -msgstr "" +msgstr "biete" #. name for biv msgid "Birifor; Southern" -msgstr "" +msgstr "birifor; jižní" #. name for biw msgid "Kol (Cameroon)" -msgstr "" +msgstr "kol (Kamerun)" #. name for bix msgid "Bijori" -msgstr "" +msgstr "bijori" #. name for biy msgid "Birhor" -msgstr "" +msgstr "birhor" #. name for biz msgid "Baloi" -msgstr "" +msgstr "baloi" #. name for bja msgid "Budza" -msgstr "" +msgstr "budza" #. name for bjb msgid "Banggarla" -msgstr "" +msgstr "banggarla" #. name for bjc msgid "Bariji" -msgstr "" +msgstr "bariji" #. name for bjd msgid "Bandjigali" -msgstr "" +msgstr "bandjigali" #. name for bje msgid "Mien; Biao-Jiao" -msgstr "" +msgstr "mien; Biao-Jiao" #. name for bjf msgid "Neo-Aramaic; Barzani Jewish" -msgstr "" +msgstr "nová aramejština; jidiš barzani" #. name for bjg msgid "Bidyogo" -msgstr "" +msgstr "bidyogo" #. name for bjh msgid "Bahinemo" -msgstr "" +msgstr "bahinemo" #. name for bji msgid "Burji" -msgstr "" +msgstr "burji" #. name for bjj msgid "Kanauji" -msgstr "" +msgstr "kanauji" #. name for bjk msgid "Barok" -msgstr "" +msgstr "barok" #. name for bjl msgid "Bulu (Papua New Guinea)" -msgstr "" +msgstr "bulu (Papua Nová Guinea)" #. name for bjm msgid "Bajelani" -msgstr "" +msgstr "bajelani" #. name for bjn msgid "Banjar" -msgstr "" +msgstr "banjar" #. name for bjo msgid "Banda; Mid-Southern" -msgstr "" +msgstr "banda; Mid-Southern" #. name for bjr msgid "Binumarien" -msgstr "" +msgstr "binumarien" #. name for bjs msgid "Bajan" -msgstr "" +msgstr "bajan" #. name for bjt msgid "Balanta-Ganja" -msgstr "" +msgstr "balanta-ganja" #. name for bju msgid "Busuu" -msgstr "" +msgstr "busuu" #. name for bjv msgid "Bedjond" -msgstr "" +msgstr "bedjond" #. name for bjw msgid "Bakwé" -msgstr "" +msgstr "bakwé" #. name for bjx msgid "Itneg; Banao" -msgstr "" +msgstr "itneg; Banao" #. name for bjy msgid "Bayali" -msgstr "" +msgstr "bayali" #. name for bjz msgid "Baruga" -msgstr "" +msgstr "baruga" #. name for bka msgid "Kyak" -msgstr "" +msgstr "kyak" #. name for bkc msgid "Baka (Cameroon)" -msgstr "" +msgstr "baka (Kamerun)" #. name for bkd msgid "Binukid" -msgstr "" +msgstr "binukid" #. name for bkf msgid "Beeke" -msgstr "" +msgstr "beeke" #. name for bkg msgid "Buraka" -msgstr "" +msgstr "buraka" #. name for bkh msgid "Bakoko" -msgstr "" +msgstr "bakoko" #. name for bki msgid "Baki" -msgstr "" +msgstr "baki" #. name for bkj msgid "Pande" -msgstr "" +msgstr "pande" #. name for bkk msgid "Brokskat" -msgstr "" +msgstr "brokskat" #. name for bkl msgid "Berik" -msgstr "" +msgstr "berik" #. name for bkm msgid "Kom (Cameroon)" -msgstr "" +msgstr "kom (Kamerun)" #. name for bkn msgid "Bukitan" -msgstr "" +msgstr "bukitan" #. name for bko msgid "Kwa'" -msgstr "" +msgstr "kwa'" #. name for bkp msgid "Boko (Democratic Republic of Congo)" -msgstr "" +msgstr "boko (Demokratická republika Kongo)" #. name for bkq msgid "Bakairí" -msgstr "" +msgstr "bakairí" #. name for bkr msgid "Bakumpai" -msgstr "" +msgstr "bakumpai" #. name for bks msgid "Sorsoganon; Northern" -msgstr "" +msgstr "sorsoganon; severní" #. name for bkt msgid "Boloki" -msgstr "" +msgstr "boloki" #. name for bku msgid "Buhid" -msgstr "" +msgstr "buhid" #. name for bkv msgid "Bekwarra" -msgstr "" +msgstr "bekwarra" #. name for bkw msgid "Bekwel" -msgstr "" +msgstr "bekwel" #. name for bkx msgid "Baikeno" -msgstr "" +msgstr "baikeno" #. name for bky msgid "Bokyi" -msgstr "" +msgstr "bokyi" #. name for bkz msgid "Bungku" -msgstr "" +msgstr "bungku" #. name for bla msgid "Siksika" @@ -3138,307 +3138,307 @@ msgstr "siksika" #. name for blb msgid "Bilua" -msgstr "" +msgstr "bilua" #. name for blc msgid "Bella Coola" -msgstr "" +msgstr "bella coola" #. name for bld msgid "Bolango" -msgstr "" +msgstr "bolango" #. name for ble msgid "Balanta-Kentohe" -msgstr "" +msgstr "balanta-kentohe" #. name for blf msgid "Buol" -msgstr "" +msgstr "buol" #. name for blg msgid "Balau" -msgstr "" +msgstr "balau" #. name for blh msgid "Kuwaa" -msgstr "" +msgstr "kuwaa" #. name for bli msgid "Bolia" -msgstr "" +msgstr "bolia" #. name for blj msgid "Bolongan" -msgstr "" +msgstr "bolongan" #. name for blk msgid "Karen; Pa'o" -msgstr "" +msgstr "karen; Pa'o" #. name for bll msgid "Biloxi" -msgstr "" +msgstr "biloxi" #. name for blm msgid "Beli (Sudan)" -msgstr "" +msgstr "beli (Súdán)" #. name for bln msgid "Bicolano; Southern Catanduanes" -msgstr "" +msgstr "bicolano; jižní Catanduanes" #. name for blo msgid "Anii" -msgstr "" +msgstr "anii" #. name for blp msgid "Blablanga" -msgstr "" +msgstr "blablanga" #. name for blq msgid "Baluan-Pam" -msgstr "" +msgstr "baluan-pam" #. name for blr msgid "Blang" -msgstr "" +msgstr "blang" #. name for bls msgid "Balaesang" -msgstr "" +msgstr "balaesang" #. name for blt msgid "Tai Dam" -msgstr "" +msgstr "tai dam" #. name for blv msgid "Bolo" -msgstr "" +msgstr "bolo" #. name for blw msgid "Balangao" -msgstr "" +msgstr "balangao" #. name for blx msgid "Ayta; Mag-Indi" -msgstr "" +msgstr "ayta; Mag-Indi" #. name for bly msgid "Notre" -msgstr "" +msgstr "notre" #. name for blz msgid "Balantak" -msgstr "" +msgstr "balantak" #. name for bma msgid "Lame" -msgstr "" +msgstr "lame" #. name for bmb msgid "Bembe" -msgstr "" +msgstr "bembe" #. name for bmc msgid "Biem" -msgstr "" +msgstr "biem" #. name for bmd msgid "Manduri; Baga" -msgstr "" +msgstr "manduri; Baga" #. name for bme msgid "Limassa" -msgstr "" +msgstr "limassa" #. name for bmf msgid "Bom" -msgstr "" +msgstr "bom" #. name for bmg msgid "Bamwe" -msgstr "" +msgstr "bamwe" #. name for bmh msgid "Kein" -msgstr "" +msgstr "kein" #. name for bmi msgid "Bagirmi" -msgstr "" +msgstr "bagirmi" #. name for bmj msgid "Bote-Majhi" -msgstr "" +msgstr "bote-majhi" #. name for bmk msgid "Ghayavi" -msgstr "" +msgstr "ghayavi" #. name for bml msgid "Bomboli" -msgstr "" +msgstr "bomboli" #. name for bmm msgid "Malagasy; Northern Betsimisaraka" -msgstr "" +msgstr "malagasy; severní Betsimisaraka" #. name for bmn msgid "Bina (Papua New Guinea)" -msgstr "" +msgstr "bina (Papua Nová Guinea)" #. name for bmo msgid "Bambalang" -msgstr "" +msgstr "bambalang" #. name for bmp msgid "Bulgebi" -msgstr "" +msgstr "bulgebi" #. name for bmq msgid "Bomu" -msgstr "" +msgstr "bomu" #. name for bmr msgid "Muinane" -msgstr "" +msgstr "muinane" #. name for bms msgid "Kanuri; Bilma" -msgstr "" +msgstr "kanuri; Bilma" #. name for bmt msgid "Biao Mon" -msgstr "" +msgstr "biao mon" #. name for bmu msgid "Somba-Siawari" -msgstr "" +msgstr "somba-siawari" #. name for bmv msgid "Bum" -msgstr "" +msgstr "bum" #. name for bmw msgid "Bomwali" -msgstr "" +msgstr "bomwali" #. name for bmx msgid "Baimak" -msgstr "" +msgstr "baimak" #. name for bmy msgid "Bemba (Democratic Republic of Congo)" -msgstr "" +msgstr "bemba (Demokratická republika Kongo)" #. name for bmz msgid "Baramu" -msgstr "" +msgstr "baramu" #. name for bna msgid "Bonerate" -msgstr "" +msgstr "bonerate" #. name for bnb msgid "Bookan" -msgstr "" +msgstr "bookan" #. name for bnc msgid "Bontok" -msgstr "" +msgstr "bontok" #. name for bnd msgid "Banda (Indonesia)" -msgstr "" +msgstr "banda (Indonésie)" #. name for bne msgid "Bintauna" -msgstr "" +msgstr "bintauna" #. name for bnf msgid "Masiwang" -msgstr "" +msgstr "masiwang" #. name for bng msgid "Benga" -msgstr "" +msgstr "benga" #. name for bni msgid "Bangi" -msgstr "" +msgstr "bangi" #. name for bnj msgid "Tawbuid; Eastern" -msgstr "" +msgstr "tawbuid; východní" #. name for bnk msgid "Bierebo" -msgstr "" +msgstr "bierebo" #. name for bnl msgid "Boon" -msgstr "" +msgstr "boon" #. name for bnm msgid "Batanga" -msgstr "" +msgstr "batanga" #. name for bnn msgid "Bunun" -msgstr "" +msgstr "bunun" #. name for bno msgid "Bantoanon" -msgstr "" +msgstr "bantoanon" #. name for bnp msgid "Bola" -msgstr "" +msgstr "bola" #. name for bnq msgid "Bantik" -msgstr "" +msgstr "bantik" #. name for bnr msgid "Butmas-Tur" -msgstr "" +msgstr "butmas-tur" #. name for bns msgid "Bundeli" -msgstr "" +msgstr "bundeli" #. name for bnu msgid "Bentong" -msgstr "" +msgstr "bentong" #. name for bnv msgid "Bonerif" -msgstr "" +msgstr "bonerif" #. name for bnw msgid "Bisis" -msgstr "" +msgstr "bisis" #. name for bnx msgid "Bangubangu" -msgstr "" +msgstr "bangubangu" #. name for bny msgid "Bintulu" -msgstr "" +msgstr "bintulu" #. name for bnz msgid "Beezen" -msgstr "" +msgstr "beezen" #. name for boa msgid "Bora" -msgstr "" +msgstr "bora" #. name for bob msgid "Aweer" -msgstr "" +msgstr "aweer" #. name for bod msgid "Tibetan" @@ -3446,59 +3446,59 @@ msgstr "tibetština" #. name for boe msgid "Mundabli" -msgstr "" +msgstr "mundabli" #. name for bof msgid "Bolon" -msgstr "" +msgstr "bolon" #. name for bog msgid "Bamako Sign Language" -msgstr "" +msgstr "znakový jazyk bamako" #. name for boh msgid "Boma" -msgstr "" +msgstr "boma" #. name for boi msgid "Barbareño" -msgstr "" +msgstr "barbareño" #. name for boj msgid "Anjam" -msgstr "" +msgstr "anjam" #. name for bok msgid "Bonjo" -msgstr "" +msgstr "bonjo" #. name for bol msgid "Bole" -msgstr "" +msgstr "bole" #. name for bom msgid "Berom" -msgstr "" +msgstr "berom" #. name for bon msgid "Bine" -msgstr "" +msgstr "bine" #. name for boo msgid "Bozo; Tiemacèwè" -msgstr "" +msgstr "bozo; Tiemacèwè" #. name for bop msgid "Bonkiman" -msgstr "" +msgstr "bonkiman" #. name for boq msgid "Bogaya" -msgstr "" +msgstr "bogaya" #. name for bor msgid "Borôro" -msgstr "" +msgstr "borôro" #. name for bos msgid "Bosnian" @@ -3506,223 +3506,223 @@ msgstr "bosenština" #. name for bot msgid "Bongo" -msgstr "" +msgstr "bongo" #. name for bou msgid "Bondei" -msgstr "" +msgstr "bondei" #. name for bov msgid "Tuwuli" -msgstr "" +msgstr "tuwuli" #. name for bow msgid "Rema" -msgstr "" +msgstr "rema" #. name for box msgid "Buamu" -msgstr "" +msgstr "buamu" #. name for boy msgid "Bodo (Central African Republic)" -msgstr "" +msgstr "bodo (centrální Afrika)" #. name for boz msgid "Bozo; Tiéyaxo" -msgstr "" +msgstr "bozo; Tiéyaxo" #. name for bpa msgid "Dakaka" -msgstr "" +msgstr "dakaka" #. name for bpb msgid "Barbacoas" -msgstr "" +msgstr "barbacoas" #. name for bpd msgid "Banda-Banda" -msgstr "" +msgstr "banda-banda" #. name for bpg msgid "Bonggo" -msgstr "" +msgstr "bonggo" #. name for bph msgid "Botlikh" -msgstr "" +msgstr "botlikh" #. name for bpi msgid "Bagupi" -msgstr "" +msgstr "bagupi" #. name for bpj msgid "Binji" -msgstr "" +msgstr "binji" #. name for bpk msgid "Orowe" -msgstr "" +msgstr "orowe" #. name for bpl msgid "Broome Pearling Lugger Pidgin" -msgstr "" +msgstr "broome pearling lugger pidgin" #. name for bpm msgid "Biyom" -msgstr "" +msgstr "biyom" #. name for bpn msgid "Dzao Min" -msgstr "" +msgstr "dzao min" #. name for bpo msgid "Anasi" -msgstr "" +msgstr "anasi" #. name for bpp msgid "Kaure" -msgstr "" +msgstr "kaure" #. name for bpq msgid "Malay; Banda" -msgstr "" +msgstr "malajština; Banda" #. name for bpr msgid "Blaan; Koronadal" -msgstr "" +msgstr "blaan; Koronadal" #. name for bps msgid "Blaan; Sarangani" -msgstr "" +msgstr "blaan; Sarangani" #. name for bpt msgid "Barrow Point" -msgstr "" +msgstr "barrow point" #. name for bpu msgid "Bongu" -msgstr "" +msgstr "bongu" #. name for bpv msgid "Marind; Bian" -msgstr "" +msgstr "marind; Bian" #. name for bpw msgid "Bo (Papua New Guinea)" -msgstr "" +msgstr "bo (Papua Nová Guinea)" #. name for bpx msgid "Bareli; Palya" -msgstr "" +msgstr "bareli; Palya" #. name for bpy msgid "Bishnupriya" -msgstr "" +msgstr "bishnupriya" #. name for bpz msgid "Bilba" -msgstr "" +msgstr "bilba" #. name for bqa msgid "Tchumbuli" -msgstr "" +msgstr "tchumbuli" #. name for bqb msgid "Bagusa" -msgstr "" +msgstr "bagusa" #. name for bqc msgid "Boko (Benin)" -msgstr "" +msgstr "boko (Benin)" #. name for bqd msgid "Bung" -msgstr "" +msgstr "bung" #. name for bqf msgid "Baga Kaloum" -msgstr "" +msgstr "baga kaloum" #. name for bqg msgid "Bago-Kusuntu" -msgstr "" +msgstr "bago-kusuntu" #. name for bqh msgid "Baima" -msgstr "" +msgstr "baima" #. name for bqi msgid "Bakhtiari" -msgstr "" +msgstr "bakhtiari" #. name for bqj msgid "Bandial" -msgstr "" +msgstr "bandial" #. name for bqk msgid "Banda-Mbrès" -msgstr "" +msgstr "banda-mbrès" #. name for bql msgid "Bilakura" -msgstr "" +msgstr "bilakura" #. name for bqm msgid "Wumboko" -msgstr "" +msgstr "wumboko" #. name for bqn msgid "Bulgarian Sign Language" -msgstr "" +msgstr "bulharský znakový jazyk" #. name for bqo msgid "Balo" -msgstr "" +msgstr "balo" #. name for bqp msgid "Busa" -msgstr "" +msgstr "busa" #. name for bqq msgid "Biritai" -msgstr "" +msgstr "biritai" #. name for bqr msgid "Burusu" -msgstr "" +msgstr "burusu" #. name for bqs msgid "Bosngun" -msgstr "" +msgstr "bosngun" #. name for bqt msgid "Bamukumbit" -msgstr "" +msgstr "bamukumbit" #. name for bqu msgid "Boguru" -msgstr "" +msgstr "boguru" #. name for bqv msgid "Begbere-Ejar" -msgstr "" +msgstr "begbere-ejar" #. name for bqw msgid "Buru (Nigeria)" -msgstr "" +msgstr "buru (Nigérie)" #. name for bqx msgid "Baangi" -msgstr "" +msgstr "baangi" #. name for bqy msgid "Bengkala Sign Language" -msgstr "" +msgstr "znakový jazyk bengkala" #. name for bqz msgid "Bakaka" -msgstr "" +msgstr "bakaka" #. name for bra msgid "Braj" @@ -3730,15 +3730,15 @@ msgstr "bradžština" #. name for brb msgid "Lave" -msgstr "" +msgstr "lave" #. name for brc msgid "Creole Dutch; Berbice" -msgstr "" +msgstr "kreolská holandština; Berbice" #. name for brd msgid "Baraamu" -msgstr "" +msgstr "baraamu" #. name for bre msgid "Breton" @@ -3746,279 +3746,279 @@ msgstr "bretonština" #. name for brf msgid "Bera" -msgstr "" +msgstr "bera" #. name for brg msgid "Baure" -msgstr "" +msgstr "baure" #. name for brh msgid "Brahui" -msgstr "" +msgstr "brahui" #. name for bri msgid "Mokpwe" -msgstr "" +msgstr "mokpwe" #. name for brj msgid "Bieria" -msgstr "" +msgstr "bieria" #. name for brk msgid "Birked" -msgstr "" +msgstr "birked" #. name for brl msgid "Birwa" -msgstr "" +msgstr "birwa" #. name for brm msgid "Barambu" -msgstr "" +msgstr "barambu" #. name for brn msgid "Boruca" -msgstr "" +msgstr "boruca" #. name for bro msgid "Brokkat" -msgstr "" +msgstr "brokkat" #. name for brp msgid "Barapasi" -msgstr "" +msgstr "barapasi" #. name for brq msgid "Breri" -msgstr "" +msgstr "breri" #. name for brr msgid "Birao" -msgstr "" +msgstr "birao" #. name for brs msgid "Baras" -msgstr "" +msgstr "baras" #. name for brt msgid "Bitare" -msgstr "" +msgstr "bitare" #. name for bru msgid "Bru; Eastern" -msgstr "" +msgstr "bru; východní" #. name for brv msgid "Bru; Western" -msgstr "" +msgstr "bru; západní" #. name for brw msgid "Bellari" -msgstr "" +msgstr "bellari" #. name for brx msgid "Bodo (India)" -msgstr "" +msgstr "bodo (Indie)" #. name for bry msgid "Burui" -msgstr "" +msgstr "burui" #. name for brz msgid "Bilbil" -msgstr "" +msgstr "bilbil" #. name for bsa msgid "Abinomn" -msgstr "" +msgstr "abinomn" #. name for bsb msgid "Bisaya; Brunei" -msgstr "" +msgstr "bisaya; Brunej" #. name for bsc msgid "Bassari" -msgstr "" +msgstr "bassari" #. name for bse msgid "Wushi" -msgstr "" +msgstr "wushi" #. name for bsf msgid "Bauchi" -msgstr "" +msgstr "bauchi" #. name for bsg msgid "Bashkardi" -msgstr "" +msgstr "bashkardi" #. name for bsh msgid "Kati" -msgstr "" +msgstr "kati" #. name for bsi msgid "Bassossi" -msgstr "" +msgstr "bassossi" #. name for bsj msgid "Bangwinji" -msgstr "" +msgstr "bangwinji" #. name for bsk msgid "Burushaski" -msgstr "" +msgstr "burushaski" #. name for bsl msgid "Basa-Gumna" -msgstr "" +msgstr "basa-gumna" #. name for bsm msgid "Busami" -msgstr "" +msgstr "busami" #. name for bsn msgid "Barasana-Eduria" -msgstr "" +msgstr "barasana-eduria" #. name for bso msgid "Buso" -msgstr "" +msgstr "buso" #. name for bsp msgid "Baga Sitemu" -msgstr "" +msgstr "baga sitemu" #. name for bsq msgid "Bassa" -msgstr "" +msgstr "bassa" #. name for bsr msgid "Bassa-Kontagora" -msgstr "" +msgstr "bassa-kontagora" #. name for bss msgid "Akoose" -msgstr "" +msgstr "akoose" #. name for bst msgid "Basketo" -msgstr "" +msgstr "basketo" #. name for bsu msgid "Bahonsuai" -msgstr "" +msgstr "bahonsuai" #. name for bsv msgid "Baga Sobané" -msgstr "" +msgstr "baga sobané" #. name for bsw msgid "Baiso" -msgstr "" +msgstr "baiso" #. name for bsx msgid "Yangkam" -msgstr "" +msgstr "yangkam" #. name for bsy msgid "Bisaya; Sabah" -msgstr "" +msgstr "bisaya; Sabah" #. name for bta msgid "Bata" -msgstr "" +msgstr "bata" #. name for btc msgid "Bati (Cameroon)" -msgstr "" +msgstr "bati (Kamerun)" #. name for btd msgid "Batak Dairi" -msgstr "" +msgstr "batak dairi" #. name for bte msgid "Gamo-Ningi" -msgstr "" +msgstr "gamo-ningi" #. name for btf msgid "Birgit" -msgstr "" +msgstr "birgit" #. name for btg msgid "Bété; Gagnoa" -msgstr "" +msgstr "bété; Gagnoa" #. name for bth msgid "Bidayuh; Biatah" -msgstr "" +msgstr "bidayuh; Biatah" #. name for bti msgid "Burate" -msgstr "" +msgstr "burate" #. name for btj msgid "Malay; Bacanese" -msgstr "" +msgstr "malajština; Bacanese" #. name for btl msgid "Bhatola" -msgstr "" +msgstr "bhatola" #. name for btm msgid "Batak Mandailing" -msgstr "" +msgstr "batak mandailing" #. name for btn msgid "Ratagnon" -msgstr "" +msgstr "ratagnon" #. name for bto msgid "Bikol; Rinconada" -msgstr "" +msgstr "bikol; Rinconada" #. name for btp msgid "Budibud" -msgstr "" +msgstr "budibud" #. name for btq msgid "Batek" -msgstr "" +msgstr "batek" #. name for btr msgid "Baetora" -msgstr "" +msgstr "baetora" #. name for bts msgid "Batak Simalungun" -msgstr "" +msgstr "batak simalungun" #. name for btt msgid "Bete-Bendi" -msgstr "" +msgstr "bete-bendi" #. name for btu msgid "Batu" -msgstr "" +msgstr "batu" #. name for btv msgid "Bateri" -msgstr "" +msgstr "bateri" #. name for btw msgid "Butuanon" -msgstr "" +msgstr "butuanon" #. name for btx msgid "Batak Karo" -msgstr "" +msgstr "batak karo" #. name for bty msgid "Bobot" -msgstr "" +msgstr "bobot" #. name for btz msgid "Batak Alas-Kluet" -msgstr "" +msgstr "batak alas-kluet" #. name for bua msgid "Buriat" @@ -4026,23 +4026,23 @@ msgstr "burjatština" #. name for bub msgid "Bua" -msgstr "" +msgstr "bua" #. name for buc msgid "Bushi" -msgstr "" +msgstr "bushi" #. name for bud msgid "Ntcham" -msgstr "" +msgstr "ntcham" #. name for bue msgid "Beothuk" -msgstr "" +msgstr "beothuk" #. name for buf msgid "Bushoong" -msgstr "" +msgstr "bushoong" #. name for bug msgid "Buginese" @@ -4050,19 +4050,19 @@ msgstr "bugiština" #. name for buh msgid "Bunu; Younuo" -msgstr "" +msgstr "bunu; Younuo" #. name for bui msgid "Bongili" -msgstr "" +msgstr "bongili" #. name for buj msgid "Basa-Gurmana" -msgstr "" +msgstr "basa-gurmana" #. name for buk msgid "Bugawac" -msgstr "" +msgstr "bugawac" #. name for bul msgid "Bulgarian" @@ -4070,455 +4070,455 @@ msgstr "bulharština" #. name for bum msgid "Bulu (Cameroon)" -msgstr "" +msgstr "bulu (Kamerun)" #. name for bun msgid "Sherbro" -msgstr "" +msgstr "sherbro" #. name for buo msgid "Terei" -msgstr "" +msgstr "terei" #. name for bup msgid "Busoa" -msgstr "" +msgstr "busoa" #. name for buq msgid "Brem" -msgstr "" +msgstr "brem" #. name for bus msgid "Bokobaru" -msgstr "" +msgstr "bokobaru" #. name for but msgid "Bungain" -msgstr "" +msgstr "bungain" #. name for buu msgid "Budu" -msgstr "" +msgstr "budu" #. name for buv msgid "Bun" -msgstr "" +msgstr "bun" #. name for buw msgid "Bubi" -msgstr "" +msgstr "bubi" #. name for bux msgid "Boghom" -msgstr "" +msgstr "boghom" #. name for buy msgid "Bullom So" -msgstr "" +msgstr "bullom so" #. name for buz msgid "Bukwen" -msgstr "" +msgstr "bukwen" #. name for bva msgid "Barein" -msgstr "" +msgstr "barein" #. name for bvb msgid "Bube" -msgstr "" +msgstr "bube" #. name for bvc msgid "Baelelea" -msgstr "" +msgstr "baelelea" #. name for bvd msgid "Baeggu" -msgstr "" +msgstr "baeggu" #. name for bve msgid "Malay; Berau" -msgstr "" +msgstr "malajština; Berau" #. name for bvf msgid "Boor" -msgstr "" +msgstr "boor" #. name for bvg msgid "Bonkeng" -msgstr "" +msgstr "bonkeng" #. name for bvh msgid "Bure" -msgstr "" +msgstr "bure" #. name for bvi msgid "Belanda Viri" -msgstr "" +msgstr "belanda viri" #. name for bvj msgid "Baan" -msgstr "" +msgstr "baan" #. name for bvk msgid "Bukat" -msgstr "" +msgstr "bukat" #. name for bvl msgid "Bolivian Sign Language" -msgstr "" +msgstr "bolivijský znakový jazyk" #. name for bvm msgid "Bamunka" -msgstr "" +msgstr "bamunka" #. name for bvn msgid "Buna" -msgstr "" +msgstr "buna" #. name for bvo msgid "Bolgo" -msgstr "" +msgstr "bolgo" #. name for bvq msgid "Birri" -msgstr "" +msgstr "birri" #. name for bvr msgid "Burarra" -msgstr "" +msgstr "burarra" #. name for bvt msgid "Bati (Indonesia)" -msgstr "" +msgstr "bati (Indonésie)" #. name for bvu msgid "Malay; Bukit" -msgstr "" +msgstr "malajština; Bukit" #. name for bvv msgid "Baniva" -msgstr "" +msgstr "baniva" #. name for bvw msgid "Boga" -msgstr "" +msgstr "boga" #. name for bvx msgid "Dibole" -msgstr "" +msgstr "dibole" #. name for bvy msgid "Baybayanon" -msgstr "" +msgstr "baybayanon" #. name for bvz msgid "Bauzi" -msgstr "" +msgstr "bauzi" #. name for bwa msgid "Bwatoo" -msgstr "" +msgstr "bwatoo" #. name for bwb msgid "Namosi-Naitasiri-Serua" -msgstr "" +msgstr "namosi-naitasiri-serua" #. name for bwc msgid "Bwile" -msgstr "" +msgstr "bwile" #. name for bwd msgid "Bwaidoka" -msgstr "" +msgstr "bwaidoka" #. name for bwe msgid "Karen; Bwe" -msgstr "" +msgstr "karen; Bwe" #. name for bwf msgid "Boselewa" -msgstr "" +msgstr "boselewa" #. name for bwg msgid "Barwe" -msgstr "" +msgstr "barwe" #. name for bwh msgid "Bishuo" -msgstr "" +msgstr "bishuo" #. name for bwi msgid "Baniwa" -msgstr "" +msgstr "baniwa" #. name for bwj msgid "Bwamu; Láá Láá" -msgstr "" +msgstr "bwamu; Láá Láá" #. name for bwk msgid "Bauwaki" -msgstr "" +msgstr "bauwaki" #. name for bwl msgid "Bwela" -msgstr "" +msgstr "bwela" #. name for bwm msgid "Biwat" -msgstr "" +msgstr "biwat" #. name for bwn msgid "Bunu; Wunai" -msgstr "" +msgstr "bunu; Wunai" #. name for bwo msgid "Boro (Ethiopia)" -msgstr "" +msgstr "boro (Etiopie)" #. name for bwp msgid "Mandobo Bawah" -msgstr "" +msgstr "mandobo bawah" #. name for bwq msgid "Bobo Madaré; Southern" -msgstr "" +msgstr "bobo mandaré; jižní" #. name for bwr msgid "Bura-Pabir" -msgstr "" +msgstr "bura-pabir" #. name for bws msgid "Bomboma" -msgstr "" +msgstr "bomboma" #. name for bwt msgid "Bafaw-Balong" -msgstr "" +msgstr "bafaw-balong" #. name for bwu msgid "Buli (Ghana)" -msgstr "" +msgstr "buli (Ghana)" #. name for bww msgid "Bwa" -msgstr "" +msgstr "bwa" #. name for bwx msgid "Bunu; Bu-Nao" -msgstr "" +msgstr "bunu; Bu-Nao" #. name for bwy msgid "Bwamu; Cwi" -msgstr "" +msgstr "bwamu; Cwi" #. name for bwz msgid "Bwisi" -msgstr "" +msgstr "bwisi" #. name for bxa msgid "Bauro" -msgstr "" +msgstr "bauro" #. name for bxb msgid "Bor; Belanda" -msgstr "" +msgstr "bor; Belanda" #. name for bxc msgid "Molengue" -msgstr "" +msgstr "molengue" #. name for bxd msgid "Pela" -msgstr "" +msgstr "pela" #. name for bxe msgid "Birale" -msgstr "" +msgstr "birale" #. name for bxf msgid "Bilur" -msgstr "" +msgstr "bilur" #. name for bxg msgid "Bangala" -msgstr "" +msgstr "bangala" #. name for bxh msgid "Buhutu" -msgstr "" +msgstr "buhutu" #. name for bxi msgid "Pirlatapa" -msgstr "" +msgstr "pirlatapa" #. name for bxj msgid "Bayungu" -msgstr "" +msgstr "bayungu" #. name for bxk msgid "Bukusu" -msgstr "" +msgstr "bukusu" #. name for bxl msgid "Jalkunan" -msgstr "" +msgstr "jalkunan" #. name for bxm msgid "Buriat; Mongolia" -msgstr "" +msgstr "buriat; Mongolsko" #. name for bxn msgid "Burduna" -msgstr "" +msgstr "burduna" #. name for bxo msgid "Barikanchi" -msgstr "" +msgstr "barikanchi" #. name for bxp msgid "Bebil" -msgstr "" +msgstr "bebil" #. name for bxq msgid "Beele" -msgstr "" +msgstr "beele" #. name for bxr msgid "Buriat; Russia" -msgstr "" +msgstr "buriat; Rusko" #. name for bxs msgid "Busam" -msgstr "" +msgstr "busam" #. name for bxu msgid "Buriat; China" -msgstr "" +msgstr "buriat; Čína" #. name for bxv msgid "Berakou" -msgstr "" +msgstr "berakou" #. name for bxw msgid "Bankagooma" -msgstr "" +msgstr "bankagooma" #. name for bxx msgid "Borna (Democratic Republic of Congo)" -msgstr "" +msgstr "borna (Demokratická republika Kongo)" #. name for bxz msgid "Binahari" -msgstr "" +msgstr "binahari" #. name for bya msgid "Batak" -msgstr "" +msgstr "batak" #. name for byb msgid "Bikya" -msgstr "" +msgstr "bikya" #. name for byc msgid "Ubaghara" -msgstr "" +msgstr "ubaghara" #. name for byd msgid "Benyadu'" -msgstr "" +msgstr "benyadu'" #. name for bye msgid "Pouye" -msgstr "" +msgstr "pouye" #. name for byf msgid "Bete" -msgstr "" +msgstr "bete" #. name for byg msgid "Baygo" -msgstr "" +msgstr "baygo" #. name for byh msgid "Bhujel" -msgstr "" +msgstr "bhujel" #. name for byi msgid "Buyu" -msgstr "" +msgstr "buyu" #. name for byj msgid "Bina (Nigeria)" -msgstr "" +msgstr "bina (Nigérie)" #. name for byk msgid "Biao" -msgstr "" +msgstr "biao" #. name for byl msgid "Bayono" -msgstr "" +msgstr "bayono" #. name for bym msgid "Bidyara" -msgstr "" +msgstr "bidyara" #. name for byn msgid "Bilin" -msgstr "" +msgstr "bilin" #. name for byo msgid "Biyo" -msgstr "" +msgstr "biyo" #. name for byp msgid "Bumaji" -msgstr "" +msgstr "bumaji" #. name for byq msgid "Basay" -msgstr "" +msgstr "basay" #. name for byr msgid "Baruya" -msgstr "" +msgstr "baruya" #. name for bys msgid "Burak" -msgstr "" +msgstr "burak" #. name for byt msgid "Berti" -msgstr "" +msgstr "berti" #. name for byv msgid "Medumba" -msgstr "" +msgstr "medumba" #. name for byw msgid "Belhariya" -msgstr "" +msgstr "belhariya" #. name for byx msgid "Qaqet" -msgstr "" +msgstr "qaqet" #. name for byy msgid "Buya" -msgstr "" +msgstr "buya" #. name for byz msgid "Banaro" -msgstr "" +msgstr "banaro" #. name for bza msgid "Bandi" -msgstr "" +msgstr "bandi" #. name for bzb msgid "Andio" -msgstr "" +msgstr "andio" #. name for bzc msgid "Malagasy; Southern Betsimisaraka" @@ -4526,27 +4526,27 @@ msgstr "" #. name for bzd msgid "Bribri" -msgstr "" +msgstr "bribri" #. name for bze msgid "Bozo; Jenaama" -msgstr "" +msgstr "bozo; Jenaama" #. name for bzf msgid "Boikin" -msgstr "" +msgstr "Boikin" #. name for bzg msgid "Babuza" -msgstr "" +msgstr "babuza" #. name for bzh msgid "Buang; Mapos" -msgstr "" +msgstr "buang; mapos" #. name for bzi msgid "Bisu" -msgstr "" +msgstr "bisu" #. name for bzj msgid "Kriol English; Belize" @@ -4554,7 +4554,7 @@ msgstr "" #. name for bzk msgid "Creole English; Nicaragua" -msgstr "" +msgstr "kreolská angličtina; Nikaragua" #. name for bzl msgid "Boano (Sulawesi)" @@ -4562,71 +4562,71 @@ msgstr "" #. name for bzm msgid "Bolondo" -msgstr "" +msgstr "bolondo" #. name for bzn msgid "Boano (Maluku)" -msgstr "" +msgstr "boano (Maluku)" #. name for bzo msgid "Bozaba" -msgstr "" +msgstr "bozaba" #. name for bzp msgid "Kemberano" -msgstr "" +msgstr "kemberano" #. name for bzq msgid "Buli (Indonesia)" -msgstr "" +msgstr "buli (Indonésie)" #. name for bzr msgid "Biri" -msgstr "" +msgstr "biri" #. name for bzs msgid "Brazilian Sign Language" -msgstr "" +msgstr "brazilský znakový jazyk" #. name for bzt msgid "Brithenig" -msgstr "" +msgstr "brithenig" #. name for bzu msgid "Burmeso" -msgstr "" +msgstr "burmeso" #. name for bzv msgid "Bebe" -msgstr "" +msgstr "bebe" #. name for bzw msgid "Basa (Nigeria)" -msgstr "" +msgstr "basa (Nigérie)" #. name for bzx msgid "Bozo; Kɛlɛngaxo" -msgstr "" +msgstr "bozo; Kɛlɛngaxo" #. name for bzy msgid "Obanliku" -msgstr "" +msgstr "obanliku" #. name for bzz msgid "Evant" -msgstr "" +msgstr "evant" #. name for caa msgid "Chortí" -msgstr "" +msgstr "chortí" #. name for cab msgid "Garifuna" -msgstr "" +msgstr "garifuna" #. name for cac msgid "Chuj" -msgstr "" +msgstr "chuj" #. name for cad msgid "Caddo" @@ -4634,59 +4634,59 @@ msgstr "caddo" #. name for cae msgid "Lehar" -msgstr "" +msgstr "lehar" #. name for caf msgid "Carrier; Southern" -msgstr "" +msgstr "carrier; jižní" #. name for cag msgid "Nivaclé" -msgstr "" +msgstr "nivaclé" #. name for cah msgid "Cahuarano" -msgstr "" +msgstr "cahuarano" #. name for caj msgid "Chané" -msgstr "" +msgstr "chané" #. name for cak msgid "Kaqchikel" -msgstr "" +msgstr "kaqchikel" #. name for cal msgid "Carolinian" -msgstr "" +msgstr "carolinian" #. name for cam msgid "Cemuhî" -msgstr "" +msgstr "cemuhî" #. name for can msgid "Chambri" -msgstr "" +msgstr "chambri" #. name for cao msgid "Chácobo" -msgstr "" +msgstr "chácobo" #. name for cap msgid "Chipaya" -msgstr "" +msgstr "chipaya" #. name for caq msgid "Nicobarese; Car" -msgstr "" +msgstr "nicobarese; Car" #. name for car msgid "Carib; Galibi" -msgstr "" +msgstr "carib; Galibi" #. name for cas msgid "Tsimané" -msgstr "" +msgstr "tsimané" #. name for cat msgid "Catalan" @@ -4694,71 +4694,71 @@ msgstr "katalánština" #. name for cav msgid "Cavineña" -msgstr "" +msgstr "cavineña" #. name for caw msgid "Callawalla" -msgstr "" +msgstr "callawalla" #. name for cax msgid "Chiquitano" -msgstr "" +msgstr "chiquitano" #. name for cay msgid "Cayuga" -msgstr "" +msgstr "cayuga" #. name for caz msgid "Canichana" -msgstr "" +msgstr "canichana" #. name for cbb msgid "Cabiyarí" -msgstr "" +msgstr "cabiyarí" #. name for cbc msgid "Carapana" -msgstr "" +msgstr "carapana" #. name for cbd msgid "Carijona" -msgstr "" +msgstr "carijona" #. name for cbe msgid "Chipiajes" -msgstr "" +msgstr "chipiajes" #. name for cbg msgid "Chimila" -msgstr "" +msgstr "chimila" #. name for cbh msgid "Cagua" -msgstr "" +msgstr "cagua" #. name for cbi msgid "Chachi" -msgstr "" +msgstr "chachi" #. name for cbj msgid "Ede Cabe" -msgstr "" +msgstr "ede cabe" #. name for cbk msgid "Chavacano" -msgstr "" +msgstr "chavacano" #. name for cbl msgid "Chin; Bualkhaw" -msgstr "" +msgstr "chin; Bualkhaw" #. name for cbn msgid "Nyahkur" -msgstr "" +msgstr "nyahkur" #. name for cbo msgid "Izora" -msgstr "" +msgstr "izora" #. name for cbr msgid "Cashibo-Cacataibo" @@ -4782,15 +4782,15 @@ msgstr "" #. name for cbw msgid "Kinabalian" -msgstr "" +msgstr "kinabalian" #. name for cby msgid "Carabayo" -msgstr "" +msgstr "carabayo" #. name for cca msgid "Cauca" -msgstr "" +msgstr "cauca" #. name for ccc msgid "Chamicuro" @@ -4802,19 +4802,19 @@ msgstr "" #. name for cce msgid "Chopi" -msgstr "" +msgstr "chopi" #. name for ccg msgid "Daka; Samba" -msgstr "" +msgstr "daka; Samba" #. name for cch msgid "Atsam" -msgstr "" +msgstr "atsam" #. name for ccj msgid "Kasanga" -msgstr "" +msgstr "kasanga" #. name for ccl msgid "Cutchi-Swahili" @@ -4822,7 +4822,7 @@ msgstr "" #. name for ccm msgid "Creole Malay; Malaccan" -msgstr "" +msgstr "kreolská malajština; Malaccan" #. name for cco msgid "Chinantec; Comaltepec" @@ -4834,11 +4834,11 @@ msgstr "" #. name for ccq msgid "Chaungtha" -msgstr "" +msgstr "chaungtha" #. name for ccr msgid "Cacaopera" -msgstr "" +msgstr "cacaopera" #. name for cda msgid "Choni" @@ -5154,7 +5154,7 @@ msgstr "" #. name for ckb msgid "Kurdish; Central" -msgstr "" +msgstr "kurdština; centrální" #. name for ckh msgid "Chak" @@ -5282,7 +5282,7 @@ msgstr "" #. name for cmn msgid "Chinese; Mandarin" -msgstr "" +msgstr "čínština; mandarínština" #. name for cmo msgid "Mnong; Central" @@ -5402,7 +5402,7 @@ msgstr "" #. name for com msgid "Comanche" -msgstr "" +msgstr "komančština" #. name for con msgid "Cofán" @@ -5502,7 +5502,7 @@ msgstr "" #. name for cqu msgid "Quechua; Chilean" -msgstr "" +msgstr "kečuánština; chilská" #. name for cra msgid "Chara" @@ -5610,7 +5610,7 @@ msgstr "kašubština" #. name for csc msgid "Catalan Sign Language" -msgstr "" +msgstr "katalánský znakový jazyk" #. name for csd msgid "Chiangmai Sign Language" @@ -5618,15 +5618,15 @@ msgstr "" #. name for cse msgid "Czech Sign Language" -msgstr "" +msgstr "český znakový jazyk" #. name for csf msgid "Cuba Sign Language" -msgstr "" +msgstr "kubánský znakový jazyk" #. name for csg msgid "Chilean Sign Language" -msgstr "" +msgstr "čilský znakový jazyk" #. name for csh msgid "Chin; Asho" @@ -5642,7 +5642,7 @@ msgstr "" #. name for csl msgid "Chinese Sign Language" -msgstr "" +msgstr "čínský znakový jazyk" #. name for csm msgid "Miwok; Central Sierra" @@ -5650,7 +5650,7 @@ msgstr "" #. name for csn msgid "Colombian Sign Language" -msgstr "" +msgstr "kolumbijský znakový jazyk" #. name for cso msgid "Chinantec; Sochiapan" @@ -5658,11 +5658,11 @@ msgstr "" #. name for csq msgid "Croatia Sign Language" -msgstr "" +msgstr "chorvatský znakový jazyk" #. name for csr msgid "Costa Rican Sign Language" -msgstr "" +msgstr "kostarický znakový jazyk" #. name for css msgid "Ohlone; Southern" @@ -6626,7 +6626,7 @@ msgstr "" #. name for doq msgid "Dominican Sign Language" -msgstr "" +msgstr "dominikánský znakový jazyk" #. name for dor msgid "Dori'o" @@ -6730,7 +6730,7 @@ msgstr "" #. name for dse msgid "Dutch Sign Language" -msgstr "" +msgstr "holandský znakový jazyk" #. name for dsh msgid "Daasanach" @@ -6742,7 +6742,7 @@ msgstr "" #. name for dsl msgid "Danish Sign Language" -msgstr "" +msgstr "dánský znakový jazyk" #. name for dsn msgid "Dusner" @@ -7014,7 +7014,7 @@ msgstr "" #. name for ecs msgid "Ecuadorian Sign Language" -msgstr "" +msgstr "ekvádorský znakový jazyk" #. name for ecy msgid "Eteocypriot" @@ -7346,7 +7346,7 @@ msgstr "" #. name for esl msgid "Egypt Sign Language" -msgstr "" +msgstr "egyptský znakový jazyk" #. name for esm msgid "Esuma" @@ -7354,11 +7354,11 @@ msgstr "" #. name for esn msgid "Salvadoran Sign Language" -msgstr "" +msgstr "salvádorský znakový jazyk" #. name for eso msgid "Estonian Sign Language" -msgstr "" +msgstr "estonský znakový jazyk" #. name for esq msgid "Esselen" @@ -7386,7 +7386,7 @@ msgstr "" #. name for eth msgid "Ethiopian Sign Language" -msgstr "" +msgstr "etiopský znakový jazyk" #. name for etn msgid "Eton (Vanuatu)" @@ -7550,7 +7550,7 @@ msgstr "" #. name for fcs msgid "Quebec Sign Language" -msgstr "" +msgstr "quebecký znakový jazyk" #. name for fer msgid "Feroge" @@ -7734,15 +7734,15 @@ msgstr "" #. name for fse msgid "Finnish Sign Language" -msgstr "" +msgstr "finský znakový jazyk" #. name for fsl msgid "French Sign Language" -msgstr "" +msgstr "francouzský znakový jazyk" #. name for fss msgid "Finland-Swedish Sign Language" -msgstr "" +msgstr "finsko-švédský znakový jazyk" #. name for fub msgid "Fulfulde; Adamawa" @@ -8790,11 +8790,11 @@ msgstr "" #. name for gse msgid "Ghanaian Sign Language" -msgstr "" +msgstr "ghanský znakový jazyk" #. name for gsg msgid "German Sign Language" -msgstr "" +msgstr "německý znakový jazyk" #. name for gsl msgid "Gusilay" @@ -8802,7 +8802,7 @@ msgstr "" #. name for gsm msgid "Guatemalan Sign Language" -msgstr "" +msgstr "guatemalský znakový jazyk" #. name for gsn msgid "Gusan" @@ -8818,7 +8818,7 @@ msgstr "" #. name for gss msgid "Greek Sign Language" -msgstr "" +msgstr "řecký znakový jazyk" #. name for gsw msgid "German; Swiss" @@ -8870,7 +8870,7 @@ msgstr "" #. name for guj msgid "Gujarati" -msgstr "Gujaratština" +msgstr "Gudžarátština" #. name for guk msgid "Gumuz" @@ -8906,7 +8906,7 @@ msgstr "" #. name for gus msgid "Guinean Sign Language" -msgstr "" +msgstr "guinejský znakový jazyk" #. name for gut msgid "Maléku Jaíka" @@ -9114,7 +9114,7 @@ msgstr "" #. name for hab msgid "Hanoi Sign Language" -msgstr "" +msgstr "hanojský znakový jazyk" #. name for hac msgid "Gurani" @@ -9250,7 +9250,7 @@ msgstr "" #. name for hds msgid "Honduras Sign Language" -msgstr "" +msgstr "honduraský znakový jazyk" #. name for hdy msgid "Hadiyya" @@ -9390,7 +9390,7 @@ msgstr "" #. name for hks msgid "Hong Kong Sign Language" -msgstr "" +msgstr "hongkongský znakový jazyk" #. name for hla msgid "Halia" @@ -9610,7 +9610,7 @@ msgstr "" #. name for hos msgid "Ho Chi Minh City Sign Language" -msgstr "" +msgstr "znakový jazyk Ho Či Minova Města" #. name for hot msgid "Hote" @@ -9690,7 +9690,7 @@ msgstr "" #. name for hsh msgid "Hungarian Sign Language" -msgstr "" +msgstr "maďarský znakový jazyk" #. name for hsl msgid "Hausa Sign Language" @@ -9942,7 +9942,7 @@ msgstr "" #. name for icl msgid "Icelandic Sign Language" -msgstr "" +msgstr "islandský znakový jazyk" #. name for icr msgid "Creole English; Islander" @@ -10254,7 +10254,7 @@ msgstr "" #. name for inl msgid "Indonesian Sign Language" -msgstr "" +msgstr "indonéský znakový jazyk" #. name for inm msgid "Minaean" @@ -10274,7 +10274,7 @@ msgstr "" #. name for ins msgid "Indian Sign Language" -msgstr "" +msgstr "indický znakový jazyk" #. name for int msgid "Intha" @@ -10362,11 +10362,11 @@ msgstr "" #. name for ise msgid "Italian Sign Language" -msgstr "" +msgstr "italský znakový jazyk" #. name for isg msgid "Irish Sign Language" -msgstr "" +msgstr "irský znakový jazyk" #. name for ish msgid "Esan" @@ -10398,7 +10398,7 @@ msgstr "" #. name for isr msgid "Israeli Sign Language" -msgstr "" +msgstr "izraelský znakový jazyk" #. name for ist msgid "Istriot" @@ -10426,7 +10426,7 @@ msgstr "" #. name for itk msgid "Judeo-Italian" -msgstr "" +msgstr "židovská italština" #. name for itl msgid "Itelmen" @@ -10806,7 +10806,7 @@ msgstr "" #. name for jls msgid "Jamaican Sign Language" -msgstr "" +msgstr "jamaijcký znakový jazyk" #. name for jma msgid "Dima" @@ -10934,7 +10934,7 @@ msgstr "" #. name for jsl msgid "Japanese Sign Language" -msgstr "" +msgstr "japonský znakový jazyk" #. name for jua msgid "Júma" @@ -12314,7 +12314,7 @@ msgstr "" #. name for kmr msgid "Kurdish; Northern" -msgstr "" +msgstr "kurdština; severní" #. name for kms msgid "Kamasau" @@ -13202,7 +13202,7 @@ msgstr "" #. name for kvk msgid "Korean Sign Language" -msgstr "" +msgstr "korejský znakový jazyk" #. name for kvl msgid "Karen; Brek" @@ -13842,7 +13842,7 @@ msgstr "" #. name for lbs msgid "Libyan Sign Language" -msgstr "" +msgstr "libyjský znakový jazyk" #. name for lbt msgid "Lachi" @@ -14226,7 +14226,7 @@ msgstr "" #. name for lin msgid "Lingala" -msgstr "Lingalština" +msgstr "Ngalština" #. name for lio msgid "Liki" @@ -14346,7 +14346,7 @@ msgstr "" #. name for lkt msgid "Lakota" -msgstr "" +msgstr "lakotština" #. name for lky msgid "Lokoya" @@ -14782,7 +14782,7 @@ msgstr "" #. name for lsl msgid "Latvian Sign Language" -msgstr "" +msgstr "litevský znakový jazyk" #. name for lsm msgid "Saamia" @@ -14794,7 +14794,7 @@ msgstr "" #. name for lsp msgid "Panamanian Sign Language" -msgstr "" +msgstr "panamský znakový jazyk" #. name for lsr msgid "Aruop" @@ -14806,7 +14806,7 @@ msgstr "" #. name for lst msgid "Trinidad and Tobago Sign Language" -msgstr "" +msgstr "znakový jazyk Trinidadu a Tobaga" #. name for lsy msgid "Mauritian Sign Language" @@ -15358,7 +15358,7 @@ msgstr "" #. name for mdl msgid "Maltese Sign Language" -msgstr "" +msgstr "maltézský znakový jazyk" #. name for mdm msgid "Mayogo" @@ -15586,7 +15586,7 @@ msgstr "" #. name for mfs msgid "Mexican Sign Language" -msgstr "" +msgstr "mexický znakový jazyk" #. name for mft msgid "Mokerang" @@ -16878,7 +16878,7 @@ msgstr "" #. name for msr msgid "Mongolian Sign Language" -msgstr "" +msgstr "mongolský znakový jazyk" #. name for mss msgid "Masela; West" @@ -17510,7 +17510,7 @@ msgstr "" #. name for mzc msgid "Madagascar Sign Language" -msgstr "" +msgstr "madagaskarský znakový jazyk" #. name for mzd msgid "Malimba" @@ -17594,7 +17594,7 @@ msgstr "" #. name for mzy msgid "Mozambican Sign Language" -msgstr "" +msgstr "mozambický znakový jazyk" #. name for mzz msgid "Maiadomu" @@ -17678,7 +17678,7 @@ msgstr "naurština" #. name for nav msgid "Navajo" -msgstr "" +msgstr "navažština" #. name for naw msgid "Nawuri" @@ -17766,7 +17766,7 @@ msgstr "" #. name for nbs msgid "Namibian Sign Language" -msgstr "" +msgstr "namibijský znakový jazyk" #. name for nbt msgid "Na" @@ -17862,7 +17862,7 @@ msgstr "" #. name for ncs msgid "Nicaraguan Sign Language" -msgstr "" +msgstr "nikaragujský znakový jazyk" #. name for nct msgid "Naga; Chothe" @@ -19058,7 +19058,7 @@ msgstr "" #. name for nsi msgid "Nigerian Sign Language" -msgstr "" +msgstr "nigerijský znakový jazyk" #. name for nsk msgid "Naskapi" @@ -19066,7 +19066,7 @@ msgstr "" #. name for nsl msgid "Norwegian Sign Language" -msgstr "" +msgstr "norský znakový jazyk" #. name for nsm msgid "Naga; Sumi" @@ -19082,7 +19082,7 @@ msgstr "" #. name for nsp msgid "Nepalese Sign Language" -msgstr "" +msgstr "nepálský znakový jazyk" #. name for nsq msgid "Miwok; Northern Sierra" @@ -19490,7 +19490,7 @@ msgstr "" #. name for nzs msgid "New Zealand Sign Language" -msgstr "" +msgstr "znakový jazyk Nového Zélandu" #. name for nzu msgid "Teke-Nzikou" @@ -20314,11 +20314,11 @@ msgstr "" #. name for pbt msgid "Pashto; Southern" -msgstr "" +msgstr "paštština; jižní" #. name for pbu msgid "Pashto; Northern" -msgstr "" +msgstr "paštština; severní" #. name for pbv msgid "Pnar" @@ -20754,7 +20754,7 @@ msgstr "" #. name for pks msgid "Pakistan Sign Language" -msgstr "" +msgstr "pákistánský znakový jazyk" #. name for pkt msgid "Maleng" @@ -21214,7 +21214,7 @@ msgstr "" #. name for prl msgid "Peruvian Sign Language" -msgstr "" +msgstr "peruánský znakový jazyk" #. name for prm msgid "Kibiri" @@ -21274,7 +21274,7 @@ msgstr "" #. name for psc msgid "Persian Sign Language" -msgstr "" +msgstr "perský znakový jazyk" #. name for psd msgid "Plains Indian Sign Language" @@ -21298,7 +21298,7 @@ msgstr "" #. name for psl msgid "Puerto Rican Sign Language" -msgstr "" +msgstr "portorický znakový jazyk" #. name for psm msgid "Pauserna" @@ -21310,11 +21310,11 @@ msgstr "" #. name for pso msgid "Polish Sign Language" -msgstr "" +msgstr "polský znakový jazyk" #. name for psp msgid "Philippine Sign Language" -msgstr "" +msgstr "filipínský znakový jazyk" #. name for psq msgid "Pasi" @@ -21322,7 +21322,7 @@ msgstr "" #. name for psr msgid "Portuguese Sign Language" -msgstr "" +msgstr "portugalský znakový jazyk" #. name for pss msgid "Kaulong" @@ -21330,7 +21330,7 @@ msgstr "" #. name for pst msgid "Pashto; Central" -msgstr "" +msgstr "paštština; centrální" #. name for psu msgid "Prākrit; Sauraseni" @@ -21530,7 +21530,7 @@ msgstr "" #. name for pys msgid "Paraguayan Sign Language" -msgstr "" +msgstr "paraguajský znakový jazyk" #. name for pyu msgid "Puyuma" @@ -21554,7 +21554,7 @@ msgstr "" #. name for qub msgid "Quechua; Huallaga Huánuco" -msgstr "" +msgstr "kečuánština; Huallaga Huánuco" #. name for quc msgid "K'iche'" @@ -21566,11 +21566,11 @@ msgstr "" #. name for que msgid "Quechua" -msgstr "Kečuánština" +msgstr "kečuánština" #. name for quf msgid "Quechua; Lambayeque" -msgstr "" +msgstr "kečuánština; Lambayeque" #. name for qug msgid "Quichua; Chimborazo Highland" @@ -21578,7 +21578,7 @@ msgstr "" #. name for quh msgid "Quechua; South Bolivian" -msgstr "" +msgstr "kečuánština; jižní Bolívie" #. name for qui msgid "Quileute" @@ -21586,11 +21586,11 @@ msgstr "" #. name for quk msgid "Quechua; Chachapoyas" -msgstr "" +msgstr "kečuánština; Chachapoyas" #. name for qul msgid "Quechua; North Bolivian" -msgstr "" +msgstr "kečuánština; severní Bolívie" #. name for qum msgid "Sipacapense" @@ -21602,7 +21602,7 @@ msgstr "" #. name for qup msgid "Quechua; Southern Pastaza" -msgstr "" +msgstr "kečuánština; jižní Pastaza" #. name for quq msgid "Quinqui" @@ -21610,7 +21610,7 @@ msgstr "" #. name for qur msgid "Quechua; Yanahuanca Pasco" -msgstr "" +msgstr "kečuánština; Yanahuanca Pasco" #. name for qus msgid "Quichua; Santiago del Estero" @@ -21626,31 +21626,31 @@ msgstr "" #. name for qux msgid "Quechua; Yauyos" -msgstr "" +msgstr "kečuánština; Yauyos" #. name for quy msgid "Quechua; Ayacucho" -msgstr "" +msgstr "kečuánština; Ayacucho" #. name for quz msgid "Quechua; Cusco" -msgstr "" +msgstr "kečuánština; Cusco" #. name for qva msgid "Quechua; Ambo-Pasco" -msgstr "" +msgstr "kečuánština; Ambo-Pasco" #. name for qvc msgid "Quechua; Cajamarca" -msgstr "" +msgstr "kečuánština; Cajamarca" #. name for qve msgid "Quechua; Eastern Apurímac" -msgstr "" +msgstr "kečuánština; východní Apurímac" #. name for qvh msgid "Quechua; Huamalíes-Dos de Mayo Huánuco" -msgstr "" +msgstr "kečuánština; Huamalíes-Dos de Mayo Huánuco" #. name for qvi msgid "Quichua; Imbabura Highland" @@ -21662,31 +21662,31 @@ msgstr "" #. name for qvl msgid "Quechua; Cajatambo North Lima" -msgstr "" +msgstr "kečuánština; Cajatambo severní Lima" #. name for qvm msgid "Quechua; Margos-Yarowilca-Lauricocha" -msgstr "" +msgstr "kečuánština; Margos-Yarowilca-Lauricocha" #. name for qvn msgid "Quechua; North Junín" -msgstr "" +msgstr "kečuánština; severní Junín" #. name for qvo msgid "Quechua; Napo Lowland" -msgstr "" +msgstr "kečuánština; Napo Lowland" #. name for qvp msgid "Quechua; Pacaraos" -msgstr "" +msgstr "kečuánština; Pacaraos" #. name for qvs msgid "Quechua; San Martín" -msgstr "" +msgstr "kečuánština; San Martín" #. name for qvw msgid "Quechua; Huaylla Wanca" -msgstr "" +msgstr "kečuánština; Huaylla Wanca" #. name for qvy msgid "Queyu" @@ -21698,15 +21698,15 @@ msgstr "" #. name for qwa msgid "Quechua; Corongo Ancash" -msgstr "" +msgstr "kečuánština; Corongo Ancash" #. name for qwc msgid "Quechua; Classical" -msgstr "" +msgstr "kečuánština; klasická" #. name for qwh msgid "Quechua; Huaylas Ancash" -msgstr "" +msgstr "kečuánština; Huaylas Ancash" #. name for qwm msgid "Kuman (Russia)" @@ -21714,7 +21714,7 @@ msgstr "" #. name for qws msgid "Quechua; Sihuas Ancash" -msgstr "" +msgstr "kečuánština; Sihuas Ancash" #. name for qwt msgid "Kwalhioqua-Tlatskanai" @@ -21722,15 +21722,15 @@ msgstr "" #. name for qxa msgid "Quechua; Chiquián Ancash" -msgstr "" +msgstr "kečuánština; Chiquián Ancash" #. name for qxc msgid "Quechua; Chincha" -msgstr "" +msgstr "kečuánština; Chincha" #. name for qxh msgid "Quechua; Panao Huánuco" -msgstr "" +msgstr "kečuánština; Panao Huánuco" #. name for qxl msgid "Quichua; Salasaca Highland" @@ -21738,15 +21738,15 @@ msgstr "" #. name for qxn msgid "Quechua; Northern Conchucos Ancash" -msgstr "" +msgstr "kečuánština; severní Conchucos Ancash" #. name for qxo msgid "Quechua; Southern Conchucos Ancash" -msgstr "" +msgstr "kečuánština; jižní Conchucos Ancash" #. name for qxp msgid "Quechua; Puno" -msgstr "" +msgstr "kečuánština; Puno" #. name for qxq msgid "Qashqa'i" @@ -21762,19 +21762,19 @@ msgstr "" #. name for qxt msgid "Quechua; Santa Ana de Tusi Pasco" -msgstr "" +msgstr "kečuánština; Santa Ana de Tusi Pasco" #. name for qxu msgid "Quechua; Arequipa-La Unión" -msgstr "" +msgstr "kečuánština; Arequipa-La Unión" #. name for qxw msgid "Quechua; Jauja Wanca" -msgstr "" +msgstr "kečuánština; Jauja Wanca" #. name for qya msgid "Quenya" -msgstr "" +msgstr "quenijština" #. name for qyp msgid "Quiripi" @@ -22270,7 +22270,7 @@ msgstr "" #. name for rsl msgid "Russian Sign Language" -msgstr "" +msgstr "ruský znakový jazyk" #. name for rth msgid "Ratahan" @@ -22294,7 +22294,7 @@ msgstr "" #. name for rue msgid "Rusyn" -msgstr "" +msgstr "rusínština" #. name for ruf msgid "Luguru" @@ -22410,7 +22410,7 @@ msgstr "" #. name for sag msgid "Sango" -msgstr "Sangho" +msgstr "sangoština" #. name for sah msgid "Yakut" @@ -22682,7 +22682,7 @@ msgstr "" #. name for sdh msgid "Kurdish; Southern" -msgstr "" +msgstr "kurdština; jižní" #. name for sdj msgid "Suundi" @@ -22694,7 +22694,7 @@ msgstr "" #. name for sdl msgid "Saudi Arabian Sign Language" -msgstr "" +msgstr "saudskoarabský znakový jazyk" #. name for sdm msgid "Semandang" @@ -22842,7 +22842,7 @@ msgstr "" #. name for sfs msgid "South African Sign Language" -msgstr "" +msgstr "jihoafrický znakový jazyk" #. name for sfw msgid "Sehwi" @@ -22870,7 +22870,7 @@ msgstr "" #. name for sgg msgid "Swiss-German Sign Language" -msgstr "" +msgstr "švýcarsko-německý znakový jazyk" #. name for sgh msgid "Shughni" @@ -22918,7 +22918,7 @@ msgstr "" #. name for sgx msgid "Sierra Leone Sign Language" -msgstr "" +msgstr "znakový jazyk Sierra Leone" #. name for sgy msgid "Sanglechi" @@ -23298,7 +23298,7 @@ msgstr "" #. name for slf msgid "Swiss-Italian Sign Language" -msgstr "" +msgstr "švýcarsko-italský znakový jazyk" #. name for slg msgid "Selungai Murut" @@ -23346,7 +23346,7 @@ msgstr "" #. name for sls msgid "Singapore Sign Language" -msgstr "" +msgstr "singapurský znakový jazyk" #. name for slt msgid "Sila" @@ -23478,7 +23478,7 @@ msgstr "" #. name for sna msgid "Shona" -msgstr "Shona" +msgstr "šonština" #. name for snb msgid "Sebuyau" @@ -23646,7 +23646,7 @@ msgstr "" #. name for sot msgid "Sotho; Southern" -msgstr "Sesotho" +msgstr "sotština; jižní" #. name for sou msgid "Thai; Southern" @@ -23782,7 +23782,7 @@ msgstr "" #. name for sqs msgid "Sri Lankan Sign Language" -msgstr "" +msgstr "srílanský znakový jazyk" #. name for sqt msgid "Soqotri" @@ -23950,7 +23950,7 @@ msgstr "" #. name for ssp msgid "Spanish Sign Language" -msgstr "" +msgstr "španělský znakový jazyk" #. name for ssq msgid "So'a" @@ -23958,7 +23958,7 @@ msgstr "" #. name for ssr msgid "Swiss-French Sign Language" -msgstr "" +msgstr "švýcarsko-francouzský znakový jazyk" #. name for sss msgid "Sô" @@ -24170,7 +24170,7 @@ msgstr "" #. name for svk msgid "Slovakian Sign Language" -msgstr "" +msgstr "slovenský znakový jazyk" #. name for svr msgid "Savara" @@ -24186,7 +24186,7 @@ msgstr "" #. name for swa msgid "Swahili (macrolanguage)" -msgstr "" +msgstr "svahilština (makrojazyk)" #. name for swb msgid "Comorian; Maore" @@ -24194,7 +24194,7 @@ msgstr "" #. name for swc msgid "Swahili; Congo" -msgstr "" +msgstr "svahilština; Kongo" #. name for swe msgid "Swedish" @@ -24210,7 +24210,7 @@ msgstr "" #. name for swh msgid "Swahili (individual language)" -msgstr "" +msgstr "svahilština (samostatný jazyk)" #. name for swi msgid "Sui" @@ -24226,7 +24226,7 @@ msgstr "" #. name for swl msgid "Swedish Sign Language" -msgstr "" +msgstr "švédský znakový jazyk" #. name for swm msgid "Samosa" @@ -24850,7 +24850,7 @@ msgstr "" #. name for tel msgid "Telugu" -msgstr "Telugština" +msgstr "telugština" #. name for tem msgid "Timne" @@ -25938,7 +25938,7 @@ msgstr "" #. name for tse msgid "Tunisian Sign Language" -msgstr "" +msgstr "tuniský znakový jazyk" #. name for tsf msgid "Tamang; Southwestern" @@ -25970,7 +25970,7 @@ msgstr "" #. name for tsm msgid "Turkish Sign Language" -msgstr "" +msgstr "turecký znakový jazyk" #. name for tsn msgid "Tswana" @@ -25994,7 +25994,7 @@ msgstr "" #. name for tss msgid "Taiwan Sign Language" -msgstr "" +msgstr "taiwanský znakový jazyk" #. name for tst msgid "Songway Kiini; Tondi" @@ -26298,7 +26298,7 @@ msgstr "" #. name for twi msgid "Twi" -msgstr "Twi" +msgstr "ťwiština" #. name for twl msgid "Tawara" @@ -26478,7 +26478,7 @@ msgstr "" #. name for tza msgid "Tanzanian Sign Language" -msgstr "" +msgstr "tanzánský znakový jazyk" #. name for tzh msgid "Tzeltal" @@ -26594,7 +26594,7 @@ msgstr "" #. name for ugn msgid "Ugandan Sign Language" -msgstr "" +msgstr "ugandský znakový jazyk" #. name for ugo msgid "Ugong" @@ -26602,7 +26602,7 @@ msgstr "" #. name for ugy msgid "Uruguayan Sign Language" -msgstr "" +msgstr "uruguajský znakový jazyk" #. name for uha msgid "Uhami" @@ -26642,7 +26642,7 @@ msgstr "" #. name for ukl msgid "Ukrainian Sign Language" -msgstr "" +msgstr "ukrajinský znakový jazyk" #. name for ukp msgid "Ukpe-Bayobiri" @@ -27338,11 +27338,11 @@ msgstr "" #. name for vsi msgid "Moldova Sign Language" -msgstr "" +msgstr "moldavský znakový jazyk" #. name for vsl msgid "Venezuelan Sign Language" -msgstr "" +msgstr "venezuelský znakový jazyk" #. name for vsv msgid "Valencian Sign Language" @@ -27962,7 +27962,7 @@ msgstr "" #. name for wol msgid "Wolof" -msgstr "Wolof" +msgstr "volofština" #. name for wom msgid "Wom (Nigeria)" @@ -28478,7 +28478,7 @@ msgstr "" #. name for xho msgid "Xhosa" -msgstr "Xhosa" +msgstr "xhoština" #. name for xhr msgid "Hernican" @@ -28566,7 +28566,7 @@ msgstr "" #. name for xki msgid "Kenyan Sign Language" -msgstr "" +msgstr "keňský znakový jazyk" #. name for xkj msgid "Kajali" @@ -28726,7 +28726,7 @@ msgstr "" #. name for xml msgid "Malaysian Sign Language" -msgstr "" +msgstr "malajský znakový jazyk" #. name for xmm msgid "Malay; Manado" @@ -28754,7 +28754,7 @@ msgstr "" #. name for xms msgid "Moroccan Sign Language" -msgstr "" +msgstr "marocký znakový jazyk" #. name for xmt msgid "Matbat" @@ -29442,7 +29442,7 @@ msgstr "" #. name for yds msgid "Yiddish Sign Language" -msgstr "" +msgstr "znakový jazyk jidiš" #. name for yea msgid "Ravula" @@ -29854,7 +29854,7 @@ msgstr "" #. name for yor msgid "Yoruba" -msgstr "Yoruba" +msgstr "jorubština" #. name for yos msgid "Yos" @@ -29950,7 +29950,7 @@ msgstr "" #. name for ysl msgid "Yugoslavian Sign Language" -msgstr "" +msgstr "jugoslávský znakový jazyk" #. name for ysn msgid "Sani" @@ -30338,7 +30338,7 @@ msgstr "" #. name for zib msgid "Zimbabwe Sign Language" -msgstr "" +msgstr "zimbabwský znakový jazyk" #. name for zik msgid "Zimakani" @@ -30726,7 +30726,7 @@ msgstr "" #. name for zsl msgid "Zambian Sign Language" -msgstr "" +msgstr "zambijský znakový jazyk" #. name for zsm msgid "Malay; Standard" @@ -30790,11 +30790,11 @@ msgstr "" #. name for zua msgid "Zeem" -msgstr "" +msgstr "zeem" #. name for zuh msgid "Tokano" -msgstr "" +msgstr "tokano" #. name for zul msgid "Zulu" @@ -30802,7 +30802,7 @@ msgstr "Zulu" #. name for zum msgid "Kumzari" -msgstr "" +msgstr "kumzari" #. name for zun msgid "Zuni" @@ -30810,40 +30810,40 @@ msgstr "zunijština" #. name for zuy msgid "Zumaya" -msgstr "" +msgstr "zumaya" #. name for zwa msgid "Zay" -msgstr "" +msgstr "zay" #. name for zxx msgid "No linguistic content" -msgstr "" +msgstr "bez lingvistického obsahu" #. name for zyb msgid "Zhuang; Yongbei" -msgstr "" +msgstr "zhuang; Yongbei" #. name for zyg msgid "Zhuang; Yang" -msgstr "" +msgstr "zhuang; Yang" #. name for zyj msgid "Zhuang; Youjiang" -msgstr "" +msgstr "zhuang; Youjiang" #. name for zyn msgid "Zhuang; Yongnan" -msgstr "" +msgstr "zhuang; Youjiang" #. name for zyp msgid "Zyphe" -msgstr "" +msgstr "zyphe" #. name for zza msgid "Zaza" -msgstr "" +msgstr "zaza" #. name for zzj msgid "Zhuang; Zuojiang" -msgstr "" +msgstr "zhuang; Zuojiang" diff --git a/setup/iso_639/da.po b/setup/iso_639/da.po index 716f4db0cd..9f80f6f2fb 100644 --- a/setup/iso_639/da.po +++ b/setup/iso_639/da.po @@ -17,14 +17,14 @@ msgstr "" "Report-Msgid-Bugs-To: Debian iso-codes team \n" "POT-Creation-Date: 2011-11-25 14:01+0000\n" -"PO-Revision-Date: 2011-09-27 18:12+0000\n" +"PO-Revision-Date: 2013-04-21 09:31+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: Danish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-11-26 05:11+0000\n" -"X-Generator: Launchpad (build 14381)\n" +"X-Launchpad-Export-Date: 2013-04-22 05:23+0000\n" +"X-Generator: Launchpad (build 16567)\n" "Language: da\n" #. name for aaa @@ -10253,7 +10253,7 @@ msgstr "" #. name for inh msgid "Ingush" -msgstr "Engelsk" +msgstr "Ingush" #. name for inj msgid "Inga; Jungle" diff --git a/setup/iso_639/de.po b/setup/iso_639/de.po index c9aec492ab..1e5c880379 100644 --- a/setup/iso_639/de.po +++ b/setup/iso_639/de.po @@ -18,14 +18,14 @@ msgstr "" "Report-Msgid-Bugs-To: Debian iso-codes team \n" "POT-Creation-Date: 2011-11-25 14:01+0000\n" -"PO-Revision-Date: 2013-03-15 22:01+0000\n" -"Last-Translator: Hendrik Knackstedt \n" +"PO-Revision-Date: 2013-04-11 13:29+0000\n" +"Last-Translator: Simon Schütte \n" "Language-Team: Ubuntu German Translators\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-03-16 04:55+0000\n" -"X-Generator: Launchpad (build 16532)\n" +"X-Launchpad-Export-Date: 2013-04-12 05:20+0000\n" +"X-Generator: Launchpad (build 16564)\n" "Language: de\n" #. name for aaa @@ -58,7 +58,7 @@ msgstr "Ambrak" #. name for aah msgid "Arapesh; Abu'" -msgstr "Arapesh;Abu' (Papua-Neuguinea)" +msgstr "Arapesh; Abu' (Papua-Neuguinea)" #. name for aai msgid "Arifama-Miniafia" diff --git a/setup/iso_639/el.po b/setup/iso_639/el.po index 77abc21924..098cf252ca 100644 --- a/setup/iso_639/el.po +++ b/setup/iso_639/el.po @@ -12,14 +12,14 @@ msgstr "" "Report-Msgid-Bugs-To: Debian iso-codes team \n" "POT-Creation-Date: 2011-11-25 14:01+0000\n" -"PO-Revision-Date: 2011-09-27 17:41+0000\n" -"Last-Translator: Kovid Goyal \n" +"PO-Revision-Date: 2013-04-12 15:49+0000\n" +"Last-Translator: Costis Aspiotis \n" "Language-Team: Greek \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-11-26 05:17+0000\n" -"X-Generator: Launchpad (build 14381)\n" +"X-Launchpad-Export-Date: 2013-04-13 05:32+0000\n" +"X-Generator: Launchpad (build 16564)\n" "Language: el\n" #. name for aaa @@ -30825,7 +30825,7 @@ msgstr "" #. name for zxx msgid "No linguistic content" -msgstr "" +msgstr "Χωρίς γλωσσολογικό περιεχόμενο" #. name for zyb msgid "Zhuang; Yongbei" diff --git a/setup/iso_639/es.po b/setup/iso_639/es.po index 5e47dba56a..6e2ae68ad7 100644 --- a/setup/iso_639/es.po +++ b/setup/iso_639/es.po @@ -9,14 +9,14 @@ msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2011-11-25 14:01+0000\n" -"PO-Revision-Date: 2013-03-19 21:03+0000\n" -"Last-Translator: Jorge Luis Granda \n" +"PO-Revision-Date: 2013-04-27 08:20+0000\n" +"Last-Translator: Jellby \n" "Language-Team: Español; Castellano <>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-03-20 04:42+0000\n" -"X-Generator: Launchpad (build 16532)\n" +"X-Launchpad-Export-Date: 2013-04-28 04:35+0000\n" +"X-Generator: Launchpad (build 16580)\n" #. name for aaa msgid "Ghotuo" @@ -9676,11 +9676,11 @@ msgstr "Croata" #. name for hrx msgid "Hunsrik" -msgstr "" +msgstr "Hunsrik" #. name for hrz msgid "Harzani" -msgstr "" +msgstr "Harzaní" #. name for hsb msgid "Sorbian; Upper" @@ -9700,23 +9700,23 @@ msgstr "Chino xiang" #. name for hss msgid "Harsusi" -msgstr "" +msgstr "Harsusi" #. name for hti msgid "Hoti" -msgstr "" +msgstr "Hoti" #. name for hto msgid "Huitoto; Minica" -msgstr "Huitoto; Meneca" +msgstr "Meneca huitoto" #. name for hts msgid "Hadza" -msgstr "" +msgstr "Hadza" #. name for htu msgid "Hitu" -msgstr "" +msgstr "Hitu" #. name for htx msgid "Hittite; Middle" @@ -9724,7 +9724,7 @@ msgstr "Hitita medio" #. name for hub msgid "Huambisa" -msgstr "" +msgstr "Huambisa" #. name for huc msgid "=/Hua" @@ -9732,27 +9732,27 @@ msgstr "" #. name for hud msgid "Huaulu" -msgstr "" +msgstr "Huaulu" #. name for hue msgid "Huave; San Francisco Del Mar" -msgstr "Huave; San Francisco Del Mar" +msgstr "Huave de San Francisco del Mar" #. name for huf msgid "Humene" -msgstr "" +msgstr "Humene" #. name for hug msgid "Huachipaeri" -msgstr "" +msgstr "Huachipaeri" #. name for huh msgid "Huilliche" -msgstr "" +msgstr "Huilliche" #. name for hui msgid "Huli" -msgstr "" +msgstr "Huli" #. name for huj msgid "Miao; Northern Guiyang" @@ -9760,15 +9760,15 @@ msgstr "Miao de Guiyang septentrional" #. name for huk msgid "Hulung" -msgstr "" +msgstr "Hulung" #. name for hul msgid "Hula" -msgstr "" +msgstr "Hula" #. name for hum msgid "Hungana" -msgstr "" +msgstr "Hungana" #. name for hun msgid "Hungarian" @@ -9776,7 +9776,7 @@ msgstr "Húngaro" #. name for huo msgid "Hu" -msgstr "" +msgstr "Hu" #. name for hup msgid "Hupa" @@ -9784,11 +9784,11 @@ msgstr "Hupa" #. name for huq msgid "Tsat" -msgstr "" +msgstr "Tsat" #. name for hur msgid "Halkomelem" -msgstr "" +msgstr "Halkomelem" #. name for hus msgid "Huastec" @@ -9796,15 +9796,15 @@ msgstr "Huasteco" #. name for hut msgid "Humla" -msgstr "" +msgstr "Humla" #. name for huu msgid "Huitoto; Murui" -msgstr "Huitoto; Murui" +msgstr "Murui huitoto" #. name for huv msgid "Huave; San Mateo Del Mar" -msgstr "Huave; San Mateo Del Mar" +msgstr "Huave de San Mateo del Mar" #. name for huw msgid "Hukumina" @@ -9812,7 +9812,7 @@ msgstr "Hukumina" #. name for hux msgid "Huitoto; Nüpode" -msgstr "Huitoto; Nipode" +msgstr "Nipode huitoto" #. name for huy msgid "Hulaulá" @@ -9824,11 +9824,11 @@ msgstr "Hunzib" #. name for hvc msgid "Haitian Vodoun Culture Language" -msgstr "Idioma de la cultura haitiana vodoun" +msgstr "Idioma de la cultura vudú haitiana" #. name for hve msgid "Huave; San Dionisio Del Mar" -msgstr "Huave; San Dionisio Del Mar" +msgstr "Huave de San Dionisio del Mar" #. name for hvk msgid "Haveke" @@ -9840,7 +9840,7 @@ msgstr "Sabu" #. name for hvv msgid "Huave; Santa María Del Mar" -msgstr "Huave; Santa María Del Mar" +msgstr "Huave de Santa María del Mar" #. name for hwa msgid "Wané" @@ -9852,7 +9852,7 @@ msgstr "Inglés criollo hawaiano" #. name for hwo msgid "Hwana" -msgstr "" +msgstr "Hwana" #. name for hya msgid "Hya" @@ -9868,15 +9868,15 @@ msgstr "Iaai" #. name for ian msgid "Iatmul" -msgstr "" +msgstr "Iatmul" #. name for iap msgid "Iapama" -msgstr "" +msgstr "Iapama" #. name for iar msgid "Purari" -msgstr "" +msgstr "Purari" #. name for iba msgid "Iban" @@ -9888,31 +9888,31 @@ msgstr "Ibibio" #. name for ibd msgid "Iwaidja" -msgstr "" +msgstr "Iwaidja" #. name for ibe msgid "Akpes" -msgstr "" +msgstr "Akpes" #. name for ibg msgid "Ibanag" -msgstr "" +msgstr "Ibanag" #. name for ibi msgid "Ibilo" -msgstr "" +msgstr "Ibilo" #. name for ibl msgid "Ibaloi" -msgstr "" +msgstr "Ibaloi" #. name for ibm msgid "Agoi" -msgstr "" +msgstr "Agoi" #. name for ibn msgid "Ibino" -msgstr "" +msgstr "Ibino" #. name for ibo msgid "Igbo" @@ -9920,23 +9920,23 @@ msgstr "Igbo" #. name for ibr msgid "Ibuoro" -msgstr "" +msgstr "Ibuoro" #. name for ibu msgid "Ibu" -msgstr "" +msgstr "Ibu" #. name for iby msgid "Ibani" -msgstr "" +msgstr "Ibani" #. name for ica msgid "Ede Ica" -msgstr "" +msgstr "Ede ica" #. name for ich msgid "Etkywan" -msgstr "" +msgstr "Etkywan" #. name for icl msgid "Icelandic Sign Language" @@ -9948,7 +9948,7 @@ msgstr "Inglés criollo isleño" #. name for ida msgid "Idakho-Isukha-Tiriki" -msgstr "" +msgstr "Idakho-isukha-tiriki" #. name for idb msgid "Indo-Portuguese" @@ -9956,11 +9956,11 @@ msgstr "Indo-portugués" #. name for idc msgid "Idon" -msgstr "" +msgstr "Idon" #. name for idd msgid "Ede Idaca" -msgstr "" +msgstr "Ede idaca" #. name for ide msgid "Idere" @@ -9968,7 +9968,7 @@ msgstr "Idere" #. name for idi msgid "Idi" -msgstr "" +msgstr "Idi" #. name for ido msgid "Ido" @@ -9980,11 +9980,11 @@ msgstr "Indri" #. name for ids msgid "Idesa" -msgstr "" +msgstr "Idesa" #. name for idt msgid "Idaté" -msgstr "" +msgstr "Idaté" #. name for idu msgid "Idoma" @@ -9992,15 +9992,15 @@ msgstr "Idoma" #. name for ifa msgid "Ifugao; Amganad" -msgstr "" +msgstr "Ifugao de Amganad" #. name for ifb msgid "Ifugao; Batad" -msgstr "Ifugao; Batad" +msgstr "Ifugao de Batad" #. name for ife msgid "Ifè" -msgstr "" +msgstr "Ifè" #. name for iff msgid "Ifo" @@ -10008,7 +10008,7 @@ msgstr "Ifo" #. name for ifk msgid "Ifugao; Tuwali" -msgstr "" +msgstr "Ifugao tuwali" #. name for ifm msgid "Teke-Fuumu" @@ -10016,35 +10016,35 @@ msgstr "" #. name for ifu msgid "Ifugao; Mayoyao" -msgstr "" +msgstr "Ifugao de Mayoyao" #. name for ify msgid "Kallahan; Keley-I" -msgstr "" +msgstr "Kallahan keley-i" #. name for igb msgid "Ebira" -msgstr "" +msgstr "Ebira" #. name for ige msgid "Igede" -msgstr "" +msgstr "Igede" #. name for igg msgid "Igana" -msgstr "" +msgstr "Igana" #. name for igl msgid "Igala" -msgstr "" +msgstr "Igala" #. name for igm msgid "Kanggape" -msgstr "" +msgstr "Kanggape" #. name for ign msgid "Ignaciano" -msgstr "" +msgstr "Mojo ignaciano" #. name for igo msgid "Isebe" @@ -10052,15 +10052,15 @@ msgstr "" #. name for igs msgid "Interglossa" -msgstr "" +msgstr "Interglossa" #. name for igw msgid "Igwe" -msgstr "" +msgstr "Igwe" #. name for ihb msgid "Iha Based Pidgin" -msgstr "" +msgstr "Pidyin basado en el iha" #. name for ihi msgid "Ihievbe" @@ -10068,7 +10068,7 @@ msgstr "Ihievbe" #. name for ihp msgid "Iha" -msgstr "" +msgstr "Iha" #. name for iii msgid "Yi; Sichuan" @@ -10076,15 +10076,15 @@ msgstr "" #. name for ijc msgid "Izon" -msgstr "" +msgstr "Izon" #. name for ije msgid "Biseni" -msgstr "" +msgstr "Biseni" #. name for ijj msgid "Ede Ije" -msgstr "" +msgstr "Ede ije" #. name for ijn msgid "Kalabari" @@ -10100,23 +10100,23 @@ msgstr "Inuktitut canadiense oriental" #. name for iki msgid "Iko" -msgstr "" +msgstr "Iko" #. name for ikk msgid "Ika" -msgstr "" +msgstr "Ika" #. name for ikl msgid "Ikulu" -msgstr "" +msgstr "Ikulu" #. name for iko msgid "Olulumo-Ikom" -msgstr "" +msgstr "Olulumo-ikom" #. name for ikp msgid "Ikpeshi" -msgstr "" +msgstr "Ikpeshi" #. name for ikt msgid "Inuktitut; Western Canadian" @@ -10128,27 +10128,27 @@ msgstr "Inuktitut" #. name for ikv msgid "Iku-Gora-Ankwa" -msgstr "" +msgstr "Iku-gora-ankwa" #. name for ikw msgid "Ikwere" -msgstr "" +msgstr "Ikwere" #. name for ikx msgid "Ik" -msgstr "" +msgstr "Ik" #. name for ikz msgid "Ikizu" -msgstr "" +msgstr "Ikizu" #. name for ila msgid "Ile Ape" -msgstr "" +msgstr "Ile ape" #. name for ilb msgid "Ila" -msgstr "" +msgstr "Ila" #. name for ile msgid "Interlingue" @@ -10156,19 +10156,19 @@ msgstr "Interlingue" #. name for ilg msgid "Garig-Ilgar" -msgstr "" +msgstr "Garig-ilgar" #. name for ili msgid "Ili Turki" -msgstr "" +msgstr "Ili turki" #. name for ilk msgid "Ilongot" -msgstr "" +msgstr "Ilongot" #. name for ill msgid "Iranun" -msgstr "" +msgstr "Iranun" #. name for ilo msgid "Iloko" @@ -10176,19 +10176,19 @@ msgstr "Ilocano" #. name for ils msgid "International Sign" -msgstr "" +msgstr "Signos internacionales" #. name for ilu msgid "Ili'uun" -msgstr "" +msgstr "Ili'uun" #. name for ilv msgid "Ilue" -msgstr "" +msgstr "Ilue" #. name for ilw msgid "Talur" -msgstr "" +msgstr "Talur" #. name for ima msgid "Malasar; Mala" @@ -10196,27 +10196,27 @@ msgstr "" #. name for ime msgid "Imeraguen" -msgstr "" +msgstr "Imeraguen" #. name for imi msgid "Anamgura" -msgstr "" +msgstr "Anamgura" #. name for iml msgid "Miluk" -msgstr "" +msgstr "Miluk" #. name for imn msgid "Imonda" -msgstr "" +msgstr "Imonda" #. name for imo msgid "Imbongu" -msgstr "" +msgstr "Imbongu" #. name for imr msgid "Imroing" -msgstr "" +msgstr "Imroing" #. name for ims msgid "Marsian" @@ -10224,7 +10224,7 @@ msgstr "Marso" #. name for imy msgid "Milyan" -msgstr "" +msgstr "Milio" #. name for ina msgid "Interlingua (International Auxiliary Language Association)" @@ -10232,7 +10232,7 @@ msgstr "Interlingua" #. name for inb msgid "Inga" -msgstr "" +msgstr "Inga" #. name for ind msgid "Indonesian" @@ -10240,7 +10240,7 @@ msgstr "Indonesio" #. name for ing msgid "Degexit'an" -msgstr "" +msgstr "Degexit'an" #. name for inh msgid "Ingush" @@ -10256,19 +10256,19 @@ msgstr "Lengua de signos indonesia" #. name for inm msgid "Minaean" -msgstr "" +msgstr "Mineo" #. name for inn msgid "Isinai" -msgstr "" +msgstr "Isinai" #. name for ino msgid "Inoke-Yate" -msgstr "" +msgstr "Inoke-yate" #. name for inp msgid "Iñapari" -msgstr "" +msgstr "Iñapari" #. name for ins msgid "Indian Sign Language" @@ -10276,7 +10276,7 @@ msgstr "Lengua de signos india" #. name for int msgid "Intha" -msgstr "" +msgstr "Intha" #. name for inz msgid "Ineseño" @@ -10284,15 +10284,15 @@ msgstr "Ineseño" #. name for ior msgid "Inor" -msgstr "" +msgstr "Inor" #. name for iou msgid "Tuma-Irumu" -msgstr "Tuma-Irumu" +msgstr "Tuma-irumu" #. name for iow msgid "Iowa-Oto" -msgstr "Iowa-Oto" +msgstr "Iowa-oto" #. name for ipi msgid "Ipili" @@ -10308,55 +10308,55 @@ msgstr "Ipiko" #. name for iqu msgid "Iquito" -msgstr "" +msgstr "Iquito" #. name for ire msgid "Iresim" -msgstr "" +msgstr "Iresim" #. name for irh msgid "Irarutu" -msgstr "" +msgstr "Irarutu" #. name for iri msgid "Irigwe" -msgstr "" +msgstr "Irigwe" #. name for irk msgid "Iraqw" -msgstr "" +msgstr "Iraqw" #. name for irn msgid "Irántxe" -msgstr "" +msgstr "Irantxe" #. name for irr msgid "Ir" -msgstr "" +msgstr "Ir" #. name for iru msgid "Irula" -msgstr "" +msgstr "Irula" #. name for irx msgid "Kamberau" -msgstr "" +msgstr "Kamberau" #. name for iry msgid "Iraya" -msgstr "" +msgstr "Iraya" #. name for isa msgid "Isabi" -msgstr "" +msgstr "Isabi" #. name for isc msgid "Isconahua" -msgstr "" +msgstr "Isconahua" #. name for isd msgid "Isnag" -msgstr "" +msgstr "Isnag" #. name for ise msgid "Italian Sign Language" @@ -10368,15 +10368,15 @@ msgstr "Lengua de signos irlandesa" #. name for ish msgid "Esan" -msgstr "" +msgstr "Esan" #. name for isi msgid "Nkem-Nkum" -msgstr "" +msgstr "Nkem-nkum" #. name for isk msgid "Ishkashimi" -msgstr "" +msgstr "Ishkashimí" #. name for isl msgid "Icelandic" @@ -10384,15 +10384,15 @@ msgstr "Islandés" #. name for ism msgid "Masimasi" -msgstr "" +msgstr "Masimasi" #. name for isn msgid "Isanzu" -msgstr "" +msgstr "Isanzu" #. name for iso msgid "Isoko" -msgstr "" +msgstr "Isoko" #. name for isr msgid "Israeli Sign Language" @@ -10400,7 +10400,7 @@ msgstr "Lengua de signos israelí" #. name for ist msgid "Istriot" -msgstr "" +msgstr "Istriano" #. name for isu msgid "Isu (Menchum Division)" @@ -10416,7 +10416,7 @@ msgstr "" #. name for ite msgid "Itene" -msgstr "" +msgstr "Itene" #. name for iti msgid "Itneg; Inlaod" @@ -10428,23 +10428,23 @@ msgstr "Judeo-italiano" #. name for itl msgid "Itelmen" -msgstr "" +msgstr "Itelmen" #. name for itm msgid "Itu Mbon Uzo" -msgstr "" +msgstr "Itu mbon uzo" #. name for ito msgid "Itonama" -msgstr "" +msgstr "Itonama" #. name for itr msgid "Iteri" -msgstr "" +msgstr "Iteri" #. name for its msgid "Isekiri" -msgstr "" +msgstr "Isekiri" #. name for itt msgid "Itneg; Maeng" @@ -10452,15 +10452,15 @@ msgstr "" #. name for itv msgid "Itawit" -msgstr "" +msgstr "Itawit" #. name for itw msgid "Ito" -msgstr "" +msgstr "Ito" #. name for itx msgid "Itik" -msgstr "" +msgstr "Itik" #. name for ity msgid "Itneg; Moyadan" @@ -10468,7 +10468,7 @@ msgstr "" #. name for itz msgid "Itzá" -msgstr "" +msgstr "Itzá" #. name for ium msgid "Mien; Iu" @@ -10476,23 +10476,23 @@ msgstr "" #. name for ivb msgid "Ibatan" -msgstr "" +msgstr "Ibatan" #. name for ivv msgid "Ivatan" -msgstr "" +msgstr "Ivatan" #. name for iwk msgid "I-Wak" -msgstr "" +msgstr "I-wak" #. name for iwm msgid "Iwam" -msgstr "" +msgstr "Iwam" #. name for iwo msgid "Iwur" -msgstr "" +msgstr "Iwur" #. name for iws msgid "Iwam; Sepik" @@ -10504,7 +10504,7 @@ msgstr "" #. name for ixl msgid "Ixil" -msgstr "" +msgstr "Ixil" #. name for iya msgid "Iyayu" @@ -10512,7 +10512,7 @@ msgstr "" #. name for iyo msgid "Mesaka" -msgstr "" +msgstr "Mesaka" #. name for iyx msgid "Yaka (Congo)" @@ -10524,19 +10524,19 @@ msgstr "Ingrio" #. name for izi msgid "Izi-Ezaa-Ikwo-Mgbo" -msgstr "" +msgstr "Izi-ezaa-ikwo-mgbo" #. name for izr msgid "Izere" -msgstr "" +msgstr "Izere" #. name for jaa msgid "Jamamadí" -msgstr "" +msgstr "Jamamadí" #. name for jab msgid "Hyam" -msgstr "" +msgstr "Hyam" #. name for jac msgid "Popti'" @@ -11068,7 +11068,7 @@ msgstr "" #. name for kak msgid "Kallahan; Kayapa" -msgstr "" +msgstr "Kallahan de Kayapa" #. name for kal msgid "Kalaallisut" @@ -25516,7 +25516,7 @@ msgstr "" #. name for tne msgid "Kallahan; Tinoc" -msgstr "" +msgstr "Kallahan de Tinoc" #. name for tng msgid "Tobanga" @@ -25868,7 +25868,7 @@ msgstr "" #. name for trn msgid "Trinitario" -msgstr "" +msgstr "Mojo trinitario" #. name for tro msgid "Naga; Tarao" @@ -30144,19 +30144,19 @@ msgstr "Zapoteco de San Juan Guelavía" #. name for zac msgid "Zapotec; Ocotlán" -msgstr "" +msgstr "Zapoteco del Poniente de Ocotlán" #. name for zad msgid "Zapotec; Cajonos" -msgstr "" +msgstr "Zapoteco de San Pedro Cajonos" #. name for zae msgid "Zapotec; Yareni" -msgstr "" +msgstr "Zapoteco de Santa Ana Yareni" #. name for zaf msgid "Zapotec; Ayoquesco" -msgstr "" +msgstr "Zapoteco de Santa María Ayoquesco" #. name for zag msgid "Zaghawa" @@ -30168,7 +30168,7 @@ msgstr "Zangwal" #. name for zai msgid "Zapotec; Isthmus" -msgstr "" +msgstr "Zapoteco del istmo" #. name for zaj msgid "Zaramo" @@ -30184,11 +30184,11 @@ msgstr "Zauzou" #. name for zam msgid "Zapotec; Miahuatlán" -msgstr "" +msgstr "Zapoteco de Miahuatlán" #. name for zao msgid "Zapotec; Ozolotepec" -msgstr "" +msgstr "Zapoteco de Ozolotepec" #. name for zap msgid "Zapotec" @@ -30196,19 +30196,19 @@ msgstr "Zapoteco" #. name for zaq msgid "Zapotec; Aloápam" -msgstr "" +msgstr "Zapoteco de Aloápam" #. name for zar msgid "Zapotec; Rincón" -msgstr "" +msgstr "Zapoteco del Rincón" #. name for zas msgid "Zapotec; Santo Domingo Albarradas" -msgstr "" +msgstr "Zapoteco de Santo Domingo Albarradas" #. name for zat msgid "Zapotec; Tabaa" -msgstr "" +msgstr "Zapoteco de Tabaa" #. name for zau msgid "Zangskari" @@ -30216,15 +30216,15 @@ msgstr "Zangskari" #. name for zav msgid "Zapotec; Yatzachi" -msgstr "" +msgstr "Zapoteco de Yatzachi" #. name for zaw msgid "Zapotec; Mitla" -msgstr "" +msgstr "Zapoteco de Mitla" #. name for zax msgid "Zapotec; Xadani" -msgstr "" +msgstr "Zapoteco de Santa María Xadani" #. name for zay msgid "Zayse-Zergulla" @@ -30256,7 +30256,7 @@ msgstr "Berawan occidental" #. name for zca msgid "Zapotec; Coatecas Altas" -msgstr "" +msgstr "Zapoteco de San Juan Coatecas Altas" #. name for zch msgid "Zhuang; Central Hongshuihe" @@ -30568,7 +30568,7 @@ msgstr "Zou" #. name for zoo msgid "Zapotec; Asunción Mixtepec" -msgstr "" +msgstr "Zapoteco de Asunción Mixtepec" #. name for zoq msgid "Zoque; Tabasco" @@ -30584,107 +30584,107 @@ msgstr "Zoque de Francisco León" #. name for zpa msgid "Zapotec; Lachiguiri" -msgstr "" +msgstr "Zapoteco de Santiago Lachiguiri" #. name for zpb msgid "Zapotec; Yautepec" -msgstr "" +msgstr "Zapoteco de San Bartolo Yautepec" #. name for zpc msgid "Zapotec; Choapan" -msgstr "" +msgstr "Zapoteco de Choapán" #. name for zpd msgid "Zapotec; Southeastern Ixtlán" -msgstr "" +msgstr "Zapoteco de Ixtlán sudoriental" #. name for zpe msgid "Zapotec; Petapa" -msgstr "" +msgstr "Zapoteco de Santa María Petapa" #. name for zpf msgid "Zapotec; San Pedro Quiatoni" -msgstr "" +msgstr "Zapoteco de San Pedro Quiatoni" #. name for zpg msgid "Zapotec; Guevea De Humboldt" -msgstr "" +msgstr "Zapoteco de Guevea de Humboldt" #. name for zph msgid "Zapotec; Totomachapan" -msgstr "" +msgstr "Zapoteco de San Pedro Totomachapan" #. name for zpi msgid "Zapotec; Santa María Quiegolani" -msgstr "" +msgstr "Zapoteco de Santa María Quiegolani" #. name for zpj msgid "Zapotec; Quiavicuzas" -msgstr "" +msgstr "Zapoteco de Quiavicuzas" #. name for zpk msgid "Zapotec; Tlacolulita" -msgstr "" +msgstr "Zapoteco de Asunción Tlacolulita" #. name for zpl msgid "Zapotec; Lachixío" -msgstr "" +msgstr "Zapoteco de Lachixío" #. name for zpm msgid "Zapotec; Mixtepec" -msgstr "" +msgstr "Zapoteco de San Juan Mixtepec" #. name for zpn msgid "Zapotec; Santa Inés Yatzechi" -msgstr "" +msgstr "Zapoteco de Santa Inés Yatzechi" #. name for zpo msgid "Zapotec; Amatlán" -msgstr "" +msgstr "Zapoteco de San Cristóbal Amatlán" #. name for zpp msgid "Zapotec; El Alto" -msgstr "" +msgstr "Zapoteco de San Pedro el Alto" #. name for zpq msgid "Zapotec; Zoogocho" -msgstr "" +msgstr "Zapoteco de San Bartolomé Zoogocho" #. name for zpr msgid "Zapotec; Santiago Xanica" -msgstr "" +msgstr "Zapoteco de Santiago Xanica" #. name for zps msgid "Zapotec; Coatlán" -msgstr "" +msgstr "Zapoteco de Santa María Coatlán" #. name for zpt msgid "Zapotec; San Vicente Coatlán" -msgstr "" +msgstr "Zapoteco de San Vicente Coatlán" #. name for zpu msgid "Zapotec; Yalálag" -msgstr "Zapotec; Yalálag" +msgstr "Zapoteco de Yalálag" #. name for zpv msgid "Zapotec; Chichicapan" -msgstr "Zapotec; Chichicapan" +msgstr "Zapoteco de San Baltazar Chichicapan" #. name for zpw msgid "Zapotec; Zaniza" -msgstr "Zapotec; Zaniza" +msgstr "Zapoteco de Santa María Zaniza" #. name for zpx msgid "Zapotec; San Baltazar Loxicha" -msgstr "Zapotec; San Baltazar Loxicha" +msgstr "Zapoteco de San Baltazar Loxicha" #. name for zpy msgid "Zapotec; Mazaltepec" -msgstr "Zapotec; Mazaltepec" +msgstr "Zapoteco de Santo Tomás Mazaltepec" #. name for zpz msgid "Zapotec; Texmelucan" -msgstr "Zapotec; Texmelucan" +msgstr "Zapoteco de San Lorenzo Texmelucan" #. name for zqe msgid "Zhuang; Qiubei" @@ -30732,7 +30732,7 @@ msgstr "Malayo estándar" #. name for zsr msgid "Zapotec; Southern Rincon" -msgstr "Zapotec; Southern Rincon" +msgstr "Zapoteco de Rincón Sur" #. name for zsu msgid "Sukurum" @@ -30740,11 +30740,11 @@ msgstr "Sukurum" #. name for zte msgid "Zapotec; Elotepec" -msgstr "Zapoteco de Elotepec" +msgstr "Zapoteco de San Juan Elotepec" #. name for ztg msgid "Zapotec; Xanaguía" -msgstr "Zapoteco de Xanaguía" +msgstr "Zapoteco de Santa Catarina Xanaguía" #. name for ztl msgid "Zapotec; Lapaguía-Guivini" @@ -30760,23 +30760,23 @@ msgstr "Zapoteco de Santa Catarina Albarradas" #. name for ztp msgid "Zapotec; Loxicha" -msgstr "Zapotec; Loxicha" +msgstr "Zapoteco de Loxicha" #. name for ztq msgid "Zapotec; Quioquitani-Quierí" -msgstr "Zapotec; Quioquitani-Quierí" +msgstr "Zapoteco de Quioquitani y Quierí" #. name for zts msgid "Zapotec; Tilquiapan" -msgstr "Zapoteco; Tilquiapan" +msgstr "Zapoteco de San Miguel Tilquiapan" #. name for ztt msgid "Zapotec; Tejalapan" -msgstr "Zapoteco de Tejalapan" +msgstr "Zapoteco de San Felipe Tejalapan" #. name for ztu msgid "Zapotec; Güilá" -msgstr "Zapoteco de Güilá" +msgstr "Zapoteco de San Pablo Güilá" #. name for ztx msgid "Zapotec; Zaachila" diff --git a/setup/iso_639/sv.po b/setup/iso_639/sv.po index 6f65548ae9..a114bfc10b 100644 --- a/setup/iso_639/sv.po +++ b/setup/iso_639/sv.po @@ -30,23 +30,23 @@ msgstr "" "Report-Msgid-Bugs-To: Debian iso-codes team \n" "POT-Creation-Date: 2011-11-25 14:01+0000\n" -"PO-Revision-Date: 2011-09-27 16:53+0000\n" -"Last-Translator: Christian Rose \n" +"PO-Revision-Date: 2013-04-28 21:03+0000\n" +"Last-Translator: Merarom \n" "Language-Team: Swedish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-11-26 05:39+0000\n" -"X-Generator: Launchpad (build 14381)\n" +"X-Launchpad-Export-Date: 2013-04-29 04:38+0000\n" +"X-Generator: Launchpad (build 16580)\n" "Language: sv\n" #. name for aaa msgid "Ghotuo" -msgstr "" +msgstr "Ghotuo" #. name for aab msgid "Alumu-Tesu" -msgstr "" +msgstr "Alumu-Tesu" #. name for aac msgid "Ari" @@ -58,7 +58,7 @@ msgstr "" #. name for aae msgid "Albanian; Arbëreshë" -msgstr "" +msgstr "Albanska; Arbëreshë" #. name for aaf msgid "Aranadan" @@ -78,7 +78,7 @@ msgstr "" #. name for aak msgid "Ankave" -msgstr "" +msgstr "Ankave" #. name for aal msgid "Afade" @@ -94,7 +94,7 @@ msgstr "" #. name for aao msgid "Arabic; Algerian Saharan" -msgstr "" +msgstr "Arabiska;algeriska Sahara" #. name for aap msgid "Arára; Pará" @@ -114,7 +114,7 @@ msgstr "" #. name for aat msgid "Albanian; Arvanitika" -msgstr "" +msgstr "Albanska; Arvanitika" #. name for aau msgid "Abau" @@ -218,7 +218,7 @@ msgstr "" #. name for abv msgid "Arabic; Baharna" -msgstr "" +msgstr "Arabiska; Baharna" #. name for abw msgid "Pal" @@ -311,7 +311,7 @@ msgstr "" #. name for acw msgid "Arabic; Hijazi" -msgstr "" +msgstr "Arabiska; Hijazi" #. name for acx msgid "Arabic; Omani" @@ -319,7 +319,7 @@ msgstr "" #. name for acy msgid "Arabic; Cypriot" -msgstr "" +msgstr "Arabiska; Cypriotiska" #. name for acz msgid "Acheron" @@ -343,7 +343,7 @@ msgstr "" #. name for adf msgid "Arabic; Dhofari" -msgstr "" +msgstr "Arabiska; Dhofari" #. name for adg msgid "Andegerebinha" @@ -419,11 +419,11 @@ msgstr "" #. name for aeb msgid "Arabic; Tunisian" -msgstr "" +msgstr "Arabiska; Tunisiska" #. name for aec msgid "Arabic; Saidi" -msgstr "" +msgstr "Arabiska,; Saidi" #. name for aed msgid "Argentine Sign Language" @@ -479,7 +479,7 @@ msgstr "" #. name for afb msgid "Arabic; Gulf" -msgstr "" +msgstr "Arabiska,; Gulf" #. name for afd msgid "Andai" @@ -803,7 +803,7 @@ msgstr "" #. name for ajt msgid "Arabic; Judeo-Tunisian" -msgstr "" +msgstr "Arabiska; judisk-tunisiska" #. name for aju msgid "Arabic; Judeo-Moroccan" @@ -963,7 +963,7 @@ msgstr "" #. name for aln msgid "Albanian; Gheg" -msgstr "" +msgstr "Albanska; Gheg" #. name for alo msgid "Larike-Wakasihu" @@ -9431,7 +9431,7 @@ msgstr "" #. name for hlb msgid "Halbi" -msgstr "" +msgstr "Halbi" #. name for hld msgid "Halang Doan" diff --git a/src/calibre/constants.py b/src/calibre/constants.py index bb85221558..54ff1355f5 100644 --- a/src/calibre/constants.py +++ b/src/calibre/constants.py @@ -4,7 +4,7 @@ __copyright__ = '2008, Kovid Goyal kovid@kovidgoyal.net' __docformat__ = 'restructuredtext en' __appname__ = u'calibre' -numeric_version = (0, 9, 26) +numeric_version = (0, 9, 29) __version__ = u'.'.join(map(unicode, numeric_version)) __author__ = u"Kovid Goyal " @@ -29,7 +29,7 @@ ispy3 = sys.version_info.major > 2 isxp = iswindows and sys.getwindowsversion().major < 6 is64bit = sys.maxsize > (1 << 32) -isworker = os.environ.has_key('CALIBRE_WORKER') or os.environ.has_key('CALIBRE_SIMPLE_WORKER') +isworker = 'CALIBRE_WORKER' in os.environ or 'CALIBRE_SIMPLE_WORKER' in os.environ if isworker: os.environ.pop('CALIBRE_FORCE_ANSI', None) @@ -58,7 +58,8 @@ def get_osx_version(): return _osx_ver filesystem_encoding = sys.getfilesystemencoding() -if filesystem_encoding is None: filesystem_encoding = 'utf-8' +if filesystem_encoding is None: + filesystem_encoding = 'utf-8' else: try: if codecs.lookup(filesystem_encoding).name == 'ascii': @@ -85,7 +86,7 @@ def _get_cache_dir(): confcache = os.path.join(config_dir, u'caches') if isportable: return confcache - if os.environ.has_key('CALIBRE_CACHE_DIRECTORY'): + if 'CALIBRE_CACHE_DIRECTORY' in os.environ: return os.path.abspath(os.environ['CALIBRE_CACHE_DIRECTORY']) if iswindows: @@ -184,7 +185,7 @@ def __getitem__(self, name): CONFIG_DIR_MODE = 0700 -if os.environ.has_key('CALIBRE_CONFIG_DIRECTORY'): +if 'CALIBRE_CONFIG_DIRECTORY' in os.environ: config_dir = os.path.abspath(os.environ['CALIBRE_CONFIG_DIRECTORY']) elif iswindows: if plugins['winutil'][0] is None: diff --git a/src/calibre/customize/builtins.py b/src/calibre/customize/builtins.py index bb23eae91a..289a192b83 100644 --- a/src/calibre/customize/builtins.py +++ b/src/calibre/customize/builtins.py @@ -68,7 +68,7 @@ def _get_image_references(self, txt, base_dir): images.append(path) # Markdown inline - for m in re.finditer(ur'(?mu)\!\[([^\]\[]*(\[[^\]\[]*(\[[^\]\[]*(\[[^\]\[]*(\[[^\]\[]*(\[[^\]\[]*(\[[^\]\[]*\])*[^\]\[]*\])*[^\]\[]*\])*[^\]\[]*\])*[^\]\[]*\])*[^\]\[]*\])*[^\]\[]*)\]\s*\((?P[^\)]*)\)', txt): + for m in re.finditer(ur'(?mu)\!\[([^\]\[]*(\[[^\]\[]*(\[[^\]\[]*(\[[^\]\[]*(\[[^\]\[]*(\[[^\]\[]*(\[[^\]\[]*\])*[^\]\[]*\])*[^\]\[]*\])*[^\]\[]*\])*[^\]\[]*\])*[^\]\[]*\])*[^\]\[]*)\]\s*\((?P[^\)]*)\)', txt): # noqa path = m.group('path') if path and not os.path.isabs(path) and guess_type(path)[0] in OEB_IMAGES and os.path.exists(os.path.join(base_dir, path)): images.append(path) @@ -78,7 +78,7 @@ def _get_image_references(self, txt, base_dir): for m in re.finditer(ur'(?mu)^(\ ?\ ?\ ?)\[(?P[^\]]*)\]:\s*(?P[^\s]*)$', txt): if m.group('id') and m.group('path'): refs[m.group('id')] = m.group('path') - for m in re.finditer(ur'(?mu)\!\[([^\]\[]*(\[[^\]\[]*(\[[^\]\[]*(\[[^\]\[]*(\[[^\]\[]*(\[[^\]\[]*(\[[^\]\[]*\])*[^\]\[]*\])*[^\]\[]*\])*[^\]\[]*\])*[^\]\[]*\])*[^\]\[]*\])*[^\]\[]*)\]\s*\[(?P[^\]]*)\]', txt): + for m in re.finditer(ur'(?mu)\!\[([^\]\[]*(\[[^\]\[]*(\[[^\]\[]*(\[[^\]\[]*(\[[^\]\[]*(\[[^\]\[]*(\[[^\]\[]*\])*[^\]\[]*\])*[^\]\[]*\])*[^\]\[]*\])*[^\]\[]*\])*[^\]\[]*\])*[^\]\[]*)\]\s*\[(?P[^\]]*)\]', txt): # noqa path = refs.get(m.group('id'), None) if path and not os.path.isabs(path) and guess_type(path)[0] in OEB_IMAGES and os.path.exists(os.path.join(base_dir, path)): images.append(path) @@ -414,7 +414,7 @@ def get_metadata(self, stream, ftype): from calibre.ebooks.metadata.zip import get_metadata return get_metadata(stream) -plugins += [x for x in list(locals().values()) if isinstance(x, type) and \ +plugins += [x for x in list(locals().values()) if isinstance(x, type) and x.__name__.endswith('MetadataReader')] # }}} @@ -527,7 +527,7 @@ def set_metadata(self, stream, mi, type): from calibre.ebooks.metadata.extz import set_metadata set_metadata(stream, mi) -plugins += [x for x in list(locals().values()) if isinstance(x, type) and \ +plugins += [x for x in list(locals().values()) if isinstance(x, type) and x.__name__.endswith('MetadataWriter')] # }}} @@ -630,7 +630,6 @@ def set_metadata(self, stream, mi, type): # }}} # Device driver plugins {{{ -from calibre.devices.apple.driver import ITUNES from calibre.devices.hanlin.driver import HANLINV3, HANLINV5, BOOX, SPECTRA from calibre.devices.blackberry.driver import BLACKBERRY, PLAYBOOK from calibre.devices.cybook.driver import CYBOOK, ORIZON @@ -644,6 +643,7 @@ def set_metadata(self, stream, mi, type): JETBOOK_COLOR) from calibre.devices.kindle.driver import (KINDLE, KINDLE2, KINDLE_DX, KINDLE_FIRE) +from calibre.devices.apple.driver import ITUNES from calibre.devices.nook.driver import NOOK, NOOK_COLOR from calibre.devices.prs505.driver import PRS505 from calibre.devices.prst1.driver import PRST1 @@ -1263,7 +1263,7 @@ class StoreAmazonUKKindleStore(StoreBase): class StoreArchiveOrgStore(StoreBase): name = 'Archive.org' - description = u'An Internet library offering permanent access for researchers, historians, scholars, people with disabilities, and the general public to historical collections that exist in digital format.' + description = u'An Internet library offering permanent access for researchers, historians, scholars, people with disabilities, and the general public to historical collections that exist in digital format.' # noqa actual_plugin = 'calibre.gui2.store.stores.archive_org_plugin:ArchiveOrgStore' drm_free_only = True @@ -1290,7 +1290,7 @@ class StoreBNStore(StoreBase): class StoreBeamEBooksDEStore(StoreBase): name = 'Beam EBooks DE' author = 'Charles Haley' - description = u'Bei uns finden Sie: Tausende deutschsprachige eBooks; Alle eBooks ohne hartes DRM; PDF, ePub und Mobipocket Format; Sofortige Verfügbarkeit - 24 Stunden am Tag; Günstige Preise; eBooks für viele Lesegeräte, PC,Mac und Smartphones; Viele Gratis eBooks' + description = u'Bei uns finden Sie: Tausende deutschsprachige eBooks; Alle eBooks ohne hartes DRM; PDF, ePub und Mobipocket Format; Sofortige Verfügbarkeit - 24 Stunden am Tag; Günstige Preise; eBooks für viele Lesegeräte, PC,Mac und Smartphones; Viele Gratis eBooks' # noqa actual_plugin = 'calibre.gui2.store.stores.beam_ebooks_de_plugin:BeamEBooksDEStore' drm_free_only = True @@ -1310,7 +1310,7 @@ class StoreBiblioStore(StoreBase): class StoreBookotekaStore(StoreBase): name = 'Bookoteka' author = u'Tomasz Długosz' - description = u'E-booki w Bookotece dostępne są w formacie EPUB oraz PDF. Publikacje sprzedawane w Bookotece są objęte prawami autorskimi. Zobowiązaliśmy się chronić te prawa, ale bez ograniczania dostępu do książki użytkownikowi, który nabył ją w legalny sposób. Dlatego też Bookoteka stosuje tak zwany „watermarking transakcyjny” czyli swego rodzaju znaki wodne.' + description = u'E-booki w Bookotece dostępne są w formacie EPUB oraz PDF. Publikacje sprzedawane w Bookotece są objęte prawami autorskimi. Zobowiązaliśmy się chronić te prawa, ale bez ograniczania dostępu do książki użytkownikowi, który nabył ją w legalny sposób. Dlatego też Bookoteka stosuje tak zwany „watermarking transakcyjny” czyli swego rodzaju znaki wodne.' # noqa actual_plugin = 'calibre.gui2.store.stores.bookoteka_plugin:BookotekaStore' drm_free_only = True @@ -1329,7 +1329,7 @@ class StoreChitankaStore(StoreBase): class StoreDieselEbooksStore(StoreBase): name = 'Diesel eBooks' - description = u'Instant access to over 2.4 million titles from hundreds of publishers including Harlequin, HarperCollins, John Wiley & Sons, McGraw-Hill, Simon & Schuster and Random House.' + description = u'Instant access to over 2.4 million titles from hundreds of publishers including Harlequin, HarperCollins, John Wiley & Sons, McGraw-Hill, Simon & Schuster and Random House.' # noqa actual_plugin = 'calibre.gui2.store.stores.diesel_ebooks_plugin:DieselEbooksStore' headquarters = 'US' @@ -1358,7 +1358,7 @@ class StoreEbookpointStore(StoreBase): class StoreEbookscomStore(StoreBase): name = 'eBooks.com' - description = u'Sells books in multiple electronic formats in all categories. Technical infrastructure is cutting edge, robust and scalable, with servers in the US and Europe.' + description = u'Sells books in multiple electronic formats in all categories. Technical infrastructure is cutting edge, robust and scalable, with servers in the US and Europe.' # noqa actual_plugin = 'calibre.gui2.store.stores.ebooks_com_plugin:EbookscomStore' headquarters = 'US' @@ -1386,7 +1386,7 @@ class StoreEbooksGratuitsStore(StoreBase): class StoreEHarlequinStore(StoreBase): name = 'eHarlequin' - description = u'A global leader in series romance and one of the world\'s leading publishers of books for women. Offers women a broad range of reading from romance to bestseller fiction, from young adult novels to erotic literature, from nonfiction to fantasy, from African-American novels to inspirational romance, and more.' + description = u'A global leader in series romance and one of the world\'s leading publishers of books for women. Offers women a broad range of reading from romance to bestseller fiction, from young adult novels to erotic literature, from nonfiction to fantasy, from African-American novels to inspirational romance, and more.' # noqa actual_plugin = 'calibre.gui2.store.stores.eharlequin_plugin:EHarlequinStore' headquarters = 'CA' @@ -1406,7 +1406,7 @@ class StoreEKnigiStore(StoreBase): class StoreEmpikStore(StoreBase): name = 'Empik' author = u'Tomasz Długosz' - description = u'Empik to marka o unikalnym dziedzictwie i legendarne miejsce, dawne “okno na świat”. Jest obecna w polskim krajobrazie kulturalnym od 60 lat (wcześniej jako Kluby Międzynarodowej Prasy i Książki).' + description = u'Empik to marka o unikalnym dziedzictwie i legendarne miejsce, dawne “okno na świat”. Jest obecna w polskim krajobrazie kulturalnym od 60 lat (wcześniej jako Kluby Międzynarodowej Prasy i Książki).' # noqa actual_plugin = 'calibre.gui2.store.stores.empik_plugin:EmpikStore' headquarters = 'PL' @@ -1425,7 +1425,7 @@ class StoreEscapeMagazineStore(StoreBase): class StoreFeedbooksStore(StoreBase): name = 'Feedbooks' - description = u'Feedbooks is a cloud publishing and distribution service, connected to a large ecosystem of reading systems and social networks. Provides a variety of genres from independent and classic books.' + description = u'Feedbooks is a cloud publishing and distribution service, connected to a large ecosystem of reading systems and social networks. Provides a variety of genres from independent and classic books.' # noqa actual_plugin = 'calibre.gui2.store.stores.feedbooks_plugin:FeedbooksStore' headquarters = 'FR' @@ -1448,11 +1448,10 @@ class StoreGoogleBooksStore(StoreBase): headquarters = 'US' formats = ['EPUB', 'PDF', 'TXT'] - affiliate = True class StoreGutenbergStore(StoreBase): name = 'Project Gutenberg' - description = u'The first producer of free ebooks. Free in the United States because their copyright has expired. They may not be free of copyright in other countries. Readers outside of the United States must check the copyright laws of their countries before downloading or redistributing our ebooks.' + description = u'The first producer of free ebooks. Free in the United States because their copyright has expired. They may not be free of copyright in other countries. Readers outside of the United States must check the copyright laws of their countries before downloading or redistributing our ebooks.' # noqa actual_plugin = 'calibre.gui2.store.stores.gutenberg_plugin:GutenbergStore' drm_free_only = True @@ -1461,13 +1460,23 @@ class StoreGutenbergStore(StoreBase): class StoreKoboStore(StoreBase): name = 'Kobo' - description = u'With over 2.3 million eBooks to browse we have engaged readers in over 200 countries in Kobo eReading. Our eBook listings include New York Times Bestsellers, award winners, classics and more!' + description = u'With over 2.3 million eBooks to browse we have engaged readers in over 200 countries in Kobo eReading. Our eBook listings include New York Times Bestsellers, award winners, classics and more!' # noqa actual_plugin = 'calibre.gui2.store.stores.kobo_plugin:KoboStore' headquarters = 'CA' formats = ['EPUB'] affiliate = True +class StoreKoobeStore(StoreBase): + name = 'Koobe' + author = u'Tomasz Długosz' + description = u'Księgarnia internetowa oferuje ebooki (książki elektroniczne) w postaci plików epub, mobi i pdf.' + actual_plugin = 'calibre.gui2.store.stores.koobe_plugin:KoobeStore' + + drm_free_only = True + headquarters = 'PL' + formats = ['EPUB', 'MOBI', 'PDF'] + class StoreLegimiStore(StoreBase): name = 'Legimi' author = u'Tomasz Długosz' @@ -1540,7 +1549,7 @@ class StoreNextoStore(StoreBase): class StoreNookUKStore(StoreBase): name = 'Nook UK' author = 'John Schember' - description = u'Barnes & Noble S.à r.l, a subsidiary of Barnes & Noble, Inc., a leading retailer of content, digital media and educational products, is proud to bring the award-winning NOOK® reading experience and a leading digital bookstore to the UK.' + description = u'Barnes & Noble S.à r.l, a subsidiary of Barnes & Noble, Inc., a leading retailer of content, digital media and educational products, is proud to bring the award-winning NOOK® reading experience and a leading digital bookstore to the UK.' # noqa actual_plugin = 'calibre.gui2.store.stores.nook_uk_plugin:NookUKStore' headquarters = 'UK' @@ -1617,7 +1626,7 @@ class StoreVirtualoStore(StoreBase): class StoreWaterstonesUKStore(StoreBase): name = 'Waterstones UK' author = 'Charles Haley' - description = u'Waterstone\'s mission is to be the leading Bookseller on the High Street and online providing customers the widest choice, great value and expert advice from a team passionate about Bookselling.' + description = u'Waterstone\'s mission is to be the leading Bookseller on the High Street and online providing customers the widest choice, great value and expert advice from a team passionate about Bookselling.' # noqa actual_plugin = 'calibre.gui2.store.stores.waterstones_uk_plugin:WaterstonesUKStore' headquarters = 'UK' @@ -1687,6 +1696,7 @@ class XinXiiStore(StoreBase): StoreGoogleBooksStore, StoreGutenbergStore, StoreKoboStore, + StoreKoobeStore, StoreLegimiStore, StoreLibreDEStore, StoreLitResStore, @@ -1715,6 +1725,28 @@ class XinXiiStore(StoreBase): if __name__ == '__main__': # Test load speed import subprocess, textwrap + try: + subprocess.check_call(['python', '-c', textwrap.dedent( + ''' + import init_calibre # noqa + + def doit(): + import calibre.customize.builtins as b # noqa + + def show_stats(): + from pstats import Stats + s = Stats('/tmp/calibre_stats') + s.sort_stats('cumulative') + s.print_stats(30) + + import cProfile + cProfile.run('doit()', '/tmp/calibre_stats') + show_stats() + + ''' + )]) + except subprocess.CalledProcessError: + raise SystemExit(1) try: subprocess.check_call(['python', '-c', textwrap.dedent( ''' @@ -1727,7 +1759,10 @@ class XinXiiStore(StoreBase): for x in ('lxml', 'calibre.ebooks.BeautifulSoup', 'uuid', 'calibre.utils.terminal', 'calibre.utils.magick', 'PIL', 'Image', - 'sqlite3', 'mechanize', 'httplib', 'xml'): + 'sqlite3', 'mechanize', 'httplib', 'xml', 'inspect', 'urllib', + 'calibre.utils.date', 'calibre.utils.config', 'platform', + 'calibre.utils.zipfile', 'calibre.utils.formatter', + ): if x in sys.modules: ret = 1 print (x, 'has been loaded by a plugin') diff --git a/src/calibre/db/__init__.py b/src/calibre/db/__init__.py index 5d12bdc686..65beebc1fb 100644 --- a/src/calibre/db/__init__.py +++ b/src/calibre/db/__init__.py @@ -9,6 +9,50 @@ SPOOL_SIZE = 30*1024*1024 +def _get_next_series_num_for_list(series_indices): + from calibre.utils.config_base import tweaks + from math import ceil, floor + if not series_indices: + if isinstance(tweaks['series_index_auto_increment'], (int, float)): + return float(tweaks['series_index_auto_increment']) + return 1.0 + series_indices = [x[0] for x in series_indices] + if tweaks['series_index_auto_increment'] == 'next': + return floor(series_indices[-1]) + 1 + if tweaks['series_index_auto_increment'] == 'first_free': + for i in xrange(1, 10000): + if i not in series_indices: + return i + # really shouldn't get here. + if tweaks['series_index_auto_increment'] == 'next_free': + for i in xrange(int(ceil(series_indices[0])), 10000): + if i not in series_indices: + return i + # really shouldn't get here. + if tweaks['series_index_auto_increment'] == 'last_free': + for i in xrange(int(ceil(series_indices[-1])), 0, -1): + if i not in series_indices: + return i + return series_indices[-1] + 1 + if isinstance(tweaks['series_index_auto_increment'], (int, float)): + return float(tweaks['series_index_auto_increment']) + return 1.0 + +def _get_series_values(val): + import re + series_index_pat = re.compile(r'(.*)\s+\[([.0-9]+)\]$') + if not val: + return (val, None) + match = series_index_pat.match(val.strip()) + if match is not None: + idx = match.group(2) + try: + idx = float(idx) + return (match.group(1).strip(), idx) + except: + pass + return (val, None) + ''' Rewrite of the calibre database backend. @@ -68,4 +112,5 @@ libraries/switching/on calibre startup. 3. From refresh in the legacy interface: Rember to flush the composite column template cache. + 4. Replace the metadatabackup thread with the new implementation when using the new backend. ''' diff --git a/src/calibre/db/backend.py b/src/calibre/db/backend.py index 9259fc628b..917178ab18 100644 --- a/src/calibre/db/backend.py +++ b/src/calibre/db/backend.py @@ -25,6 +25,7 @@ from calibre.utils.date import utcfromtimestamp, parse_date from calibre.utils.filenames import (is_case_sensitive, samefile, hardlink_file, ascii_filename, WindowsAtomicFolderMove) +from calibre.utils.magick.draw import save_cover_data_to from calibre.utils.recycle_bin import delete_tree from calibre.db.tables import (OneToOneTable, ManyToOneTable, ManyToManyTable, SizeTable, FormatsTable, AuthorsTable, IdentifiersTable, PathTable, @@ -41,8 +42,7 @@ ''' - -class DynamicFilter(object): # {{{ +class DynamicFilter(object): # {{{ 'No longer used, present for legacy compatibility' @@ -57,7 +57,7 @@ def change(self, ids): self.ids = frozenset(ids) # }}} -class DBPrefs(dict): # {{{ +class DBPrefs(dict): # {{{ 'Store preferences as key:value pairs in the db' @@ -114,9 +114,10 @@ def get_namespaced(self, namespace, key, default=None): return default def set_namespaced(self, namespace, key, val): - if u':' in key: raise KeyError('Colons are not allowed in keys') - if u':' in namespace: raise KeyError('Colons are not allowed in' - ' the namespace') + if u':' in key: + raise KeyError('Colons are not allowed in keys') + if u':' in namespace: + raise KeyError('Colons are not allowed in the namespace') key = u'namespaced:%s:%s'%(namespace, key) self[key] = val @@ -170,7 +171,8 @@ def pynocase(one, two, encoding='utf-8'): return cmp(one.lower(), two.lower()) def _author_to_author_sort(x): - if not x: return '' + if not x: + return '' return author_to_author_sort(x.replace('|', ',')) def icu_collator(s1, s2): @@ -239,9 +241,9 @@ def finalize(ctxt): # }}} -class Connection(apsw.Connection): # {{{ +class Connection(apsw.Connection): # {{{ - BUSY_TIMEOUT = 2000 # milliseconds + BUSY_TIMEOUT = 2000 # milliseconds def __init__(self, path): apsw.Connection.__init__(self, path) @@ -257,7 +259,7 @@ def __init__(self, path): self.createscalarfunction('title_sort', title_sort, 1) self.createscalarfunction('author_to_author_sort', _author_to_author_sort, 1) - self.createscalarfunction('uuid4', lambda : str(uuid.uuid4()), + self.createscalarfunction('uuid4', lambda: str(uuid.uuid4()), 0) # Dummy functions for dynamically created filters @@ -305,7 +307,8 @@ class DB(object): # Initialize database {{{ - def __init__(self, library_path, default_prefs=None, read_only=False): + def __init__(self, library_path, default_prefs=None, read_only=False, + restore_all_prefs=False, progress_callback=lambda x, y:True): try: if isbytestring(library_path): library_path = library_path.decode(filesystem_encoding) @@ -376,23 +379,27 @@ def __init__(self, library_path, default_prefs=None, read_only=False): UPDATE authors SET sort=author_to_author_sort(name) WHERE sort IS NULL; ''') - self.initialize_prefs(default_prefs) + self.initialize_prefs(default_prefs, restore_all_prefs, progress_callback) self.initialize_custom_columns() self.initialize_tables() - def initialize_prefs(self, default_prefs): # {{{ + def initialize_prefs(self, default_prefs, restore_all_prefs, progress_callback): # {{{ self.prefs = DBPrefs(self) if default_prefs is not None and not self._exists: + progress_callback(None, len(default_prefs)) # Only apply default prefs to a new database - for key in default_prefs: + for i, key in enumerate(default_prefs): # be sure that prefs not to be copied are listed below - if key not in frozenset(['news_to_be_synced']): + if restore_all_prefs or key not in frozenset(['news_to_be_synced']): self.prefs[key] = default_prefs[key] + progress_callback(_('restored preference ') + key, i+1) if 'field_metadata' in default_prefs: fmvals = [f for f in default_prefs['field_metadata'].values() if f['is_custom']] - for f in fmvals: + progress_callback(None, len(fmvals)) + for i, f in enumerate(fmvals): + progress_callback(_('creating custom column ') + f['label'], i) self.create_custom_column(f['label'], f['name'], f['datatype'], (f['is_multiple'] is not None and @@ -421,6 +428,8 @@ def initialize_prefs(self, default_prefs): # {{{ ('uuid', False), ('comments', True), ('id', False), ('pubdate', False), ('last_modified', False), ('size', False), ('languages', False), ] + defs['virtual_libraries'] = {} + defs['virtual_lib_on_startup'] = defs['cs_virtual_lib_on_startup'] = '' # Migrate the bool tristate tweak defs['bools_are_tristate'] = \ @@ -469,6 +478,24 @@ def migrate_preference(key, default): except: pass + # migrate the gui_restriction preference to a virtual library + gr_pref = self.prefs.get('gui_restriction', None) + if gr_pref: + virt_libs = self.prefs.get('virtual_libraries', {}) + virt_libs[gr_pref] = 'search:"' + gr_pref + '"' + self.prefs['virtual_libraries'] = virt_libs + self.prefs['gui_restriction'] = '' + self.prefs['virtual_lib_on_startup'] = gr_pref + + # migrate the cs_restriction preference to a virtual library + gr_pref = self.prefs.get('cs_restriction', None) + if gr_pref: + virt_libs = self.prefs.get('virtual_libraries', {}) + virt_libs[gr_pref] = 'search:"' + gr_pref + '"' + self.prefs['virtual_libraries'] = virt_libs + self.prefs['cs_restriction'] = '' + self.prefs['cs_virtual_lib_on_startup'] = gr_pref + # Rename any user categories with names that differ only in case user_cats = self.prefs.get('user_categories', []) catmap = {} @@ -493,7 +520,7 @@ def migrate_preference(key, default): self.prefs.set('user_categories', user_cats) # }}} - def initialize_custom_columns(self): # {{{ + def initialize_custom_columns(self): # {{{ with self.conn: # Delete previously marked custom columns for record in self.conn.get( @@ -634,11 +661,11 @@ def adapt_number(x, d): self.custom_data_adapters = { 'float': adapt_number, - 'int': adapt_number, - 'rating':lambda x,d : x if x is None else min(10., max(0., float(x))), - 'bool': adapt_bool, + 'int': adapt_number, + 'rating':lambda x,d: x if x is None else min(10., max(0., float(x))), + 'bool': adapt_bool, 'comments': lambda x,d: adapt_text(x, {'is_multiple':False}), - 'datetime' : adapt_datetime, + 'datetime': adapt_datetime, 'text':adapt_text, 'series':adapt_text, 'enumeration': adapt_enum @@ -661,7 +688,7 @@ def adapt_number(x, d): # }}} - def initialize_tables(self): # {{{ + def initialize_tables(self): # {{{ tables = self.tables = {} for col in ('title', 'sort', 'author_sort', 'series_index', 'comments', 'timestamp', 'pubdate', 'uuid', 'path', 'cover', @@ -690,11 +717,13 @@ def initialize_tables(self): # {{{ tables['size'] = SizeTable('size', self.field_metadata['size'].copy()) - self.FIELD_MAP = {'id':0, 'title':1, 'authors':2, 'timestamp':3, - 'size':4, 'rating':5, 'tags':6, 'comments':7, 'series':8, - 'publisher':9, 'series_index':10, 'sort':11, 'author_sort':12, - 'formats':13, 'path':14, 'pubdate':15, 'uuid':16, 'cover':17, - 'au_map':18, 'last_modified':19, 'identifiers':20} + self.FIELD_MAP = { + 'id':0, 'title':1, 'authors':2, 'timestamp':3, 'size':4, + 'rating':5, 'tags':6, 'comments':7, 'series':8, 'publisher':9, + 'series_index':10, 'sort':11, 'author_sort':12, 'formats':13, + 'path':14, 'pubdate':15, 'uuid':16, 'cover':17, 'au_map':18, + 'last_modified':19, 'identifiers':20, 'languages':21, + } for k,v in self.FIELD_MAP.iteritems(): self.field_metadata.set_field_record_index(k, v, prefer_custom=False) @@ -740,6 +769,8 @@ def initialize_tables(self): # {{{ self.field_metadata.set_field_record_index('ondevice', base, prefer_custom=False) self.FIELD_MAP['marked'] = base = base+1 self.field_metadata.set_field_record_index('marked', base, prefer_custom=False) + self.FIELD_MAP['series_sort'] = base = base+1 + self.field_metadata.set_field_record_index('series_sort', base, prefer_custom=False) # }}} @@ -753,6 +784,11 @@ def conn(self): self._conn = Connection(self.dbpath) return self._conn + def close(self): + if self._conn is not None: + self._conn.close() + del self._conn + @dynamic_property def user_version(self): doc = 'The user version of this database' @@ -866,8 +902,8 @@ def read_tables(self): Read all data from the db into the python in-memory tables ''' - with self.conn: # Use a single transaction, to ensure nothing modifies - # the db while we are reading + with self.conn: # Use a single transaction, to ensure nothing modifies + # the db while we are reading for table in self.tables.itervalues(): try: table.read(self) @@ -885,7 +921,7 @@ def format_abspath(self, book_id, fmt, fname, path): return fmt_path try: candidates = glob.glob(os.path.join(path, '*'+fmt)) - except: # If path contains strange characters this throws an exc + except: # If path contains strange characters this throws an exc candidates = [] if fmt and candidates and os.path.exists(candidates[0]): shutil.copyfile(candidates[0], fmt_path) @@ -938,6 +974,23 @@ def copy_cover_to(self, path, dest, windows_atomic_move=None, use_hardlink=False return True return False + def set_cover(self, book_id, path, data): + path = os.path.abspath(os.path.join(self.library_path, path)) + if not os.path.exists(path): + os.makedirs(path) + path = os.path.join(path, 'cover.jpg') + if callable(getattr(data, 'save', None)): + from calibre.gui2 import pixmap_to_data + data = pixmap_to_data(data) + else: + if callable(getattr(data, 'read', None)): + data = data.read() + try: + save_cover_data_to(data, path) + except (IOError, OSError): + time.sleep(0.2) + save_cover_data_to(data, path) + def copy_format_to(self, book_id, fmt, fname, path, dest, windows_atomic_move=None, use_hardlink=False): path = self.format_abspath(book_id, fmt, fname, path) @@ -954,7 +1007,7 @@ def copy_format_to(self, book_id, fmt, fname, path, dest, if path != dest: os.rename(path, dest) except: - pass # Nothing too catastrophic happened, the cases mismatch, that's all + pass # Nothing too catastrophic happened, the cases mismatch, that's all else: windows_atomic_move.copy_path_to(path, dest) else: @@ -970,7 +1023,7 @@ def copy_format_to(self, book_id, fmt, fname, path, dest, try: os.rename(path, dest) except: - pass # Nothing too catastrophic happened, the cases mismatch, that's all + pass # Nothing too catastrophic happened, the cases mismatch, that's all else: if use_hardlink: try: @@ -1021,7 +1074,7 @@ def update_path(self, book_id, title, author, path_field, formats_field): if not os.path.exists(tpath): os.makedirs(tpath) - if source_ok: # Migrate existing files + if source_ok: # Migrate existing files dest = os.path.join(tpath, 'cover.jpg') self.copy_cover_to(current_path, dest, windows_atomic_move=wam, use_hardlink=True) @@ -1064,8 +1117,18 @@ def update_path(self, book_id, title, author, path_field, formats_field): os.rename(os.path.join(curpath, oldseg), os.path.join(curpath, newseg)) except: - break # Fail silently since nothing catastrophic has happened + break # Fail silently since nothing catastrophic has happened curpath = os.path.join(curpath, newseg) + def write_backup(self, path, raw): + path = os.path.abspath(os.path.join(self.library_path, path, 'metadata.opf')) + with lopen(path, 'wb') as f: + f.write(raw) + + def read_backup(self, path): + path = os.path.abspath(os.path.join(self.library_path, path, 'metadata.opf')) + with lopen(path, 'rb') as f: + return f.read() + # }}} diff --git a/src/calibre/db/backup.py b/src/calibre/db/backup.py new file mode 100644 index 0000000000..6410a347c6 --- /dev/null +++ b/src/calibre/db/backup.py @@ -0,0 +1,115 @@ +#!/usr/bin/env python +# vim:fileencoding=UTF-8 +from __future__ import (unicode_literals, division, absolute_import, + print_function) + +__license__ = 'GPL v3' +__copyright__ = '2013, Kovid Goyal ' +__docformat__ = 'restructuredtext en' + +import weakref, traceback +from threading import Thread, Event + +from calibre import prints +from calibre.ebooks.metadata.opf2 import metadata_to_opf + +class Abort(Exception): + pass + +class MetadataBackup(Thread): + ''' + Continuously backup changed metadata into OPF files + in the book directory. This class runs in its own + thread. + ''' + + def __init__(self, db, interval=2, scheduling_interval=0.1): + Thread.__init__(self) + self.daemon = True + self._db = weakref.ref(db) + self.stop_running = Event() + self.interval = interval + self.scheduling_interval = scheduling_interval + + @property + def db(self): + ans = self._db() + if ans is None: + raise Abort() + return ans + + def stop(self): + self.stop_running.set() + + def wait(self, interval): + if self.stop_running.wait(interval): + raise Abort() + + def run(self): + while not self.stop_running.is_set(): + try: + self.wait(self.interval) + self.do_one() + except Abort: + break + + def do_one(self): + try: + book_id = self.db.get_a_dirtied_book() + if book_id is None: + return + except Abort: + raise + except: + # Happens during interpreter shutdown + return + + self.wait(0) + + try: + mi, sequence = self.db.get_metadata_for_dump(book_id) + except: + prints('Failed to get backup metadata for id:', book_id, 'once') + traceback.print_exc() + self.wait(self.interval) + try: + mi, sequence = self.db.get_metadata_for_dump(book_id) + except: + prints('Failed to get backup metadata for id:', book_id, 'again, giving up') + traceback.print_exc() + return + + if mi is None: + self.db.clear_dirtied(book_id, sequence) + + # Give the GUI thread a chance to do something. Python threads don't + # have priorities, so this thread would naturally keep the processor + # until some scheduling event happens. The wait makes such an event + self.wait(self.scheduling_interval) + + try: + raw = metadata_to_opf(mi) + except: + prints('Failed to convert to opf for id:', book_id) + traceback.print_exc() + return + + self.wait(self.scheduling_interval) + + try: + self.db.write_backup(book_id, raw) + except: + prints('Failed to write backup metadata for id:', book_id, 'once') + self.wait(self.interval) + try: + self.db.write_backup(book_id, raw) + except: + prints('Failed to write backup metadata for id:', book_id, 'again, giving up') + return + + self.db.clear_dirtied(book_id, sequence) + + def break_cycles(self): + # Legacy compatibility + pass + diff --git a/src/calibre/db/cache.py b/src/calibre/db/cache.py index 0f648e96dd..ba68de23a7 100644 --- a/src/calibre/db/cache.py +++ b/src/calibre/db/cache.py @@ -7,7 +7,7 @@ __copyright__ = '2011, Kovid Goyal ' __docformat__ = 'restructuredtext en' -import os, traceback +import os, traceback, random from io import BytesIO from collections import defaultdict from functools import wraps, partial @@ -15,17 +15,19 @@ from calibre.constants import iswindows from calibre.db import SPOOL_SIZE from calibre.db.categories import get_categories -from calibre.db.locking import create_locks, RecordLock +from calibre.db.locking import create_locks from calibre.db.errors import NoSuchFormat from calibre.db.fields import create_field from calibre.db.search import Search from calibre.db.tables import VirtualTable from calibre.db.write import get_series_values from calibre.db.lazy import FormatMetadata, FormatsList +from calibre.ebooks.metadata import string_to_authors from calibre.ebooks.metadata.book.base import Metadata +from calibre.ebooks.metadata.opf2 import metadata_to_opf from calibre.ptempfile import (base_dir, PersistentTemporaryFile, SpooledTemporaryFile) -from calibre.utils.date import now +from calibre.utils.date import now as nowf from calibre.utils.icu import sort_key def api(f): @@ -57,9 +59,10 @@ def __init__(self, backend): self.fields = {} self.composites = set() self.read_lock, self.write_lock = create_locks() - self.record_lock = RecordLock(self.read_lock) self.format_metadata_cache = defaultdict(dict) self.formatter_template_cache = {} + self.dirtied_cache = {} + self.dirtied_sequence = 0 self._search_api = Search(self.field_metadata.get_search_terms()) # Implement locking for all simple read/write API methods @@ -78,17 +81,18 @@ def __init__(self, backend): self.initialize_dynamic() + @write_api def initialize_dynamic(self): # Reconstruct the user categories, putting them into field_metadata # Assumption is that someone else will fix them if they change. self.field_metadata.remove_dynamic_categories() - for user_cat in sorted(self.pref('user_categories', {}).iterkeys(), key=sort_key): - cat_name = '@' + user_cat # add the '@' to avoid name collision + for user_cat in sorted(self._pref('user_categories', {}).iterkeys(), key=sort_key): + cat_name = '@' + user_cat # add the '@' to avoid name collision self.field_metadata.add_user_category(label=cat_name, name=user_cat) # add grouped search term user categories - muc = frozenset(self.pref('grouped_search_make_user_categories', [])) - for cat in sorted(self.pref('grouped_search_terms', {}).iterkeys(), key=sort_key): + muc = frozenset(self._pref('grouped_search_make_user_categories', [])) + for cat in sorted(self._pref('grouped_search_terms', {}).iterkeys(), key=sort_key): if cat in muc: # There is a chance that these can be duplicates of an existing # user category. Print the exception and continue. @@ -102,15 +106,33 @@ def initialize_dynamic(self): # self.field_metadata.add_search_category(label='search', name=_('Searches')) self.field_metadata.add_grouped_search_terms( - self.pref('grouped_search_terms', {})) + self._pref('grouped_search_terms', {})) self._search_api.change_locations(self.field_metadata.get_search_terms()) + self.dirtied_cache = {x:i for i, (x,) in enumerate( + self.backend.conn.execute('SELECT book FROM metadata_dirtied'))} + if self.dirtied_cache: + self.dirtied_sequence = max(self.dirtied_cache.itervalues())+1 + + @write_api + def initialize_template_cache(self): + self.formatter_template_cache = {} + + @write_api + def refresh(self): + self._initialize_template_cache() + for field in self.fields.itervalues(): + if hasattr(field, 'clear_cache'): + field.clear_cache() # Clear the composite cache + if hasattr(field, 'table'): + field.table.read(self.backend) # Reread data from metadata.db + @property def field_metadata(self): return self.backend.field_metadata - def _get_metadata(self, book_id, get_user_categories=True): # {{{ + def _get_metadata(self, book_id, get_user_categories=True): # {{{ mi = Metadata(None, template_cache=self.formatter_template_cache) author_ids = self._field_ids_for('authors', book_id) aut_list = [self._author_data(i) for i in author_ids] @@ -131,7 +153,7 @@ def _get_metadata(self, book_id, get_user_categories=True): # {{{ mi.author_link_map = aul mi.comments = self._field_for('comments', book_id) mi.publisher = self._field_for('publisher', book_id) - n = now() + n = nowf() mi.timestamp = self._field_for('timestamp', book_id, default_value=n) mi.pubdate = self._field_for('pubdate', book_id, default_value=n) mi.uuid = self._field_for('uuid', book_id, @@ -395,16 +417,19 @@ def cover(self, book_id, ''' if as_file: ret = SpooledTemporaryFile(SPOOL_SIZE) - if not self.copy_cover_to(book_id, ret): return + if not self.copy_cover_to(book_id, ret): + return ret.seek(0) elif as_path: pt = PersistentTemporaryFile('_dbcover.jpg') with pt: - if not self.copy_cover_to(book_id, pt): return + if not self.copy_cover_to(book_id, pt): + return ret = pt.name else: buf = BytesIO() - if not self.copy_cover_to(book_id, buf): return + if not self.copy_cover_to(book_id, buf): + return ret = buf.getvalue() if as_image: from PyQt4.Qt import QImage @@ -413,7 +438,7 @@ def cover(self, book_id, ret = i return ret - @api + @read_api def copy_cover_to(self, book_id, dest, use_hardlink=False): ''' Copy the cover to the file like object ``dest``. Returns False @@ -422,17 +447,15 @@ def copy_cover_to(self, book_id, dest, use_hardlink=False): copied to it iff the path is different from the current path (taking case sensitivity into account). ''' - with self.read_lock: - try: - path = self._field_for('path', book_id).replace('/', os.sep) - except: - return False + try: + path = self._field_for('path', book_id).replace('/', os.sep) + except AttributeError: + return False - with self.record_lock.lock(book_id): - return self.backend.copy_cover_to(path, dest, + return self.backend.copy_cover_to(path, dest, use_hardlink=use_hardlink) - @api + @read_api def copy_format_to(self, book_id, fmt, dest, use_hardlink=False): ''' Copy the format ``fmt`` to the file like object ``dest``. If the @@ -441,15 +464,13 @@ def copy_format_to(self, book_id, fmt, dest, use_hardlink=False): the path is different from the current path (taking case sensitivity into account). ''' - with self.read_lock: - try: - name = self.fields['formats'].format_fname(book_id, fmt) - path = self._field_for('path', book_id).replace('/', os.sep) - except: - raise NoSuchFormat('Record %d has no %s file'%(book_id, fmt)) + try: + name = self.fields['formats'].format_fname(book_id, fmt) + path = self._field_for('path', book_id).replace('/', os.sep) + except (KeyError, AttributeError): + raise NoSuchFormat('Record %d has no %s file'%(book_id, fmt)) - with self.record_lock.lock(book_id): - return self.backend.copy_format_to(book_id, fmt, name, path, dest, + return self.backend.copy_format_to(book_id, fmt, name, path, dest, use_hardlink=use_hardlink) @read_api @@ -520,16 +541,16 @@ def format(self, book_id, fmt, as_file=False, as_path=False, preserve_filename=F this means that repeated calls yield the same temp file (which is re-created each time) ''' - with self.read_lock: - ext = ('.'+fmt.lower()) if fmt else '' - try: - fname = self.fields['formats'].format_fname(book_id, fmt) - except: - return None - fname += ext - + ext = ('.'+fmt.lower()) if fmt else '' if as_path: if preserve_filename: + with self.read_lock: + try: + fname = self.fields['formats'].format_fname(book_id, fmt) + except: + return None + fname += ext + bd = base_dir() d = os.path.join(bd, 'format_abspath') try: @@ -537,36 +558,40 @@ def format(self, book_id, fmt, as_file=False, as_path=False, preserve_filename=F except: pass ret = os.path.join(d, fname) - with self.record_lock.lock(book_id): - try: - self.copy_format_to(book_id, fmt, ret) - except NoSuchFormat: - return None + try: + self.copy_format_to(book_id, fmt, ret) + except NoSuchFormat: + return None else: - with PersistentTemporaryFile(ext) as pt, self.record_lock.lock(book_id): + with PersistentTemporaryFile(ext) as pt: try: self.copy_format_to(book_id, fmt, pt) except NoSuchFormat: return None ret = pt.name elif as_file: - ret = SpooledTemporaryFile(SPOOL_SIZE) - with self.record_lock.lock(book_id): + with self.read_lock: try: - self.copy_format_to(book_id, fmt, ret) - except NoSuchFormat: + fname = self.fields['formats'].format_fname(book_id, fmt) + except: return None + fname += ext + + ret = SpooledTemporaryFile(SPOOL_SIZE) + try: + self.copy_format_to(book_id, fmt, ret) + except NoSuchFormat: + return None ret.seek(0) # Various bits of code try to use the name as the default # title when reading metadata, so set it ret.name = fname else: buf = BytesIO() - with self.record_lock.lock(book_id): - try: - self.copy_format_to(book_id, fmt, buf) - except NoSuchFormat: - return None + try: + self.copy_format_to(book_id, fmt, buf) + except NoSuchFormat: + return None ret = buf.getvalue() @@ -621,7 +646,31 @@ def get_categories(self, sort='name', book_ids=None, icon_map=None): icon_map=icon_map) @write_api - def set_field(self, name, book_id_to_val_map, allow_case_change=True): + def update_last_modified(self, book_ids, now=None): + if now is None: + now = nowf() + if book_ids: + f = self.fields['last_modified'] + f.writer.set_books({book_id:now for book_id in book_ids}, self.backend) + + @write_api + def mark_as_dirty(self, book_ids): + self._update_last_modified(book_ids) + already_dirtied = set(self.dirtied_cache).intersection(book_ids) + new_dirtied = book_ids - already_dirtied + already_dirtied = {book_id:self.dirtied_sequence+i for i, book_id in enumerate(already_dirtied)} + if already_dirtied: + self.dirtied_sequence = max(already_dirtied.itervalues()) + 1 + self.dirtied_cache.update(already_dirtied) + if new_dirtied: + self.backend.conn.executemany('INSERT OR IGNORE INTO metadata_dirtied (book) VALUES (?)', + ((x,) for x in new_dirtied)) + new_dirtied = {book_id:self.dirtied_sequence+i for i, book_id in enumerate(new_dirtied)} + self.dirtied_sequence = max(new_dirtied.itervalues()) + 1 + self.dirtied_cache.update(new_dirtied) + + @write_api + def set_field(self, name, book_id_to_val_map, allow_case_change=True, do_path_update=True): f = self.fields[name] is_series = f.metadata['datatype'] == 'series' update_path = name in {'title', 'authors'} @@ -637,7 +686,7 @@ def set_field(self, name, book_id_to_val_map, allow_case_change=True): else: v = sid = None if name.startswith('#') and sid is None: - sid = 1.0 # The value will be set to 1.0 in the db table + sid = 1.0 # The value will be set to 1.0 in the db table bimap[k] = v if sid is not None: simap[k] = sid @@ -654,10 +703,10 @@ def set_field(self, name, book_id_to_val_map, allow_case_change=True): for name in self.composites: self.fields[name].pop_cache(dirtied) - if dirtied and update_path: + if dirtied and update_path and do_path_update: self._update_path(dirtied, mark_as_dirtied=False) - # TODO: Mark these as dirtied so that the opf is regenerated + self._mark_as_dirty(dirtied) return dirtied @@ -668,13 +717,211 @@ def update_path(self, book_ids, mark_as_dirtied=True): author = self._field_for('authors', book_id, default_value=(_('Unknown'),))[0] self.backend.update_path(book_id, title, author, self.fields['path'], self.fields['formats']) if mark_as_dirtied: + self._mark_as_dirty(book_ids) + + @read_api + def get_a_dirtied_book(self): + if self.dirtied_cache: + return random.choice(tuple(self.dirtied_cache.iterkeys())) + return None + + @read_api + def get_metadata_for_dump(self, book_id): + mi = None + # get the current sequence number for this book to pass back to the + # backup thread. This will avoid double calls in the case where the + # thread has not done the work between the put and the get_metadata + sequence = self.dirtied_cache.get(book_id, None) + if sequence is not None: + try: + # While a book is being created, the path is empty. Don't bother to + # try to write the opf, because it will go to the wrong folder. + if self._field_for('path', book_id): + mi = self._get_metadata(book_id) + # Always set cover to cover.jpg. Even if cover doesn't exist, + # no harm done. This way no need to call dirtied when + # cover is set/removed + mi.cover = 'cover.jpg' + except: + # This almost certainly means that the book has been deleted while + # the backup operation sat in the queue. pass - # TODO: Mark these books as dirtied so that metadata.opf is - # re-created + return mi, sequence + + @write_api + def clear_dirtied(self, book_id, sequence): + ''' + Clear the dirtied indicator for the books. This is used when fetching + metadata, creating an OPF, and writing a file are separated into steps. + The last step is clearing the indicator + ''' + dc_sequence = self.dirtied_cache.get(book_id, None) + if dc_sequence is None or sequence is None or dc_sequence == sequence: + self.backend.conn.execute('DELETE FROM metadata_dirtied WHERE book=?', + (book_id,)) + self.dirtied_cache.pop(book_id, None) + + @write_api + def write_backup(self, book_id, raw): + try: + path = self._field_for('path', book_id).replace('/', os.sep) + except: + return + + self.backend.write_backup(path, raw) + + @read_api + def dirty_queue_length(self): + return len(self.dirtied_cache) + + @read_api + def read_backup(self, book_id): + ''' Return the OPF metadata backup for the book as a bytestring or None + if no such backup exists. ''' + try: + path = self._field_for('path', book_id).replace('/', os.sep) + except: + return + + try: + return self.backend.read_backup(path) + except EnvironmentError: + return None + + @write_api + def dump_metadata(self, book_ids=None, remove_from_dirtied=True, + callback=None): + ''' + Write metadata for each record to an individual OPF file. If callback + is not None, it is called once at the start with the number of book_ids + being processed. And once for every book_id, with arguments (book_id, + mi, ok). + ''' + if book_ids is None: + book_ids = set(self.dirtied_cache) + + if callback is not None: + callback(len(book_ids), True, False) + + for book_id in book_ids: + if self._field_for('path', book_id) is None: + if callback is not None: + callback(book_id, None, False) + continue + mi, sequence = self._get_metadata_for_dump(book_id) + if mi is None: + if callback is not None: + callback(book_id, mi, False) + continue + try: + raw = metadata_to_opf(mi) + self._write_backup(book_id, raw) + if remove_from_dirtied: + self._clear_dirtied(book_id, sequence) + except: + pass + if callback is not None: + callback(book_id, mi, True) + + @write_api + def set_cover(self, book_id_data_map): + ''' Set the cover for this book. data can be either a QImage, + QPixmap, file object or bytestring ''' + + for book_id, data in book_id_data_map.iteritems(): + try: + path = self._field_for('path', book_id).replace('/', os.sep) + except AttributeError: + self._update_path((book_id,)) + path = self._field_for('path', book_id).replace('/', os.sep) + + self.backend.set_cover(book_id, path, data) + self._set_field('cover', {book_id:1 for book_id in book_id_data_map}) + + @write_api + def set_metadata(self, book_id, mi, ignore_errors=False, force_changes=False, + set_title=True, set_authors=True): + if callable(getattr(mi, 'to_book_metadata', None)): + # Handle code passing in an OPF object instead of a Metadata object + mi = mi.to_book_metadata() + + def set_field(name, val, **kwargs): + self._set_field(name, {book_id:val}, **kwargs) + + path_changed = False + if set_title and mi.title: + path_changed = True + set_field('title', mi.title, do_path_update=False) + if set_authors: + path_changed = True + if not mi.authors: + mi.authors = [_('Unknown')] + authors = [] + for a in mi.authors: + authors += string_to_authors(a) + set_field('authors', authors, do_path_update=False) + + if path_changed: + self._update_path((book_id,)) + + def protected_set_field(name, val, **kwargs): + try: + set_field(name, val, **kwargs) + except: + if ignore_errors: + traceback.print_exc() + else: + raise + + for field in ('rating', 'series_index', 'timestamp'): + val = getattr(mi, field) + if val is not None: + protected_set_field(field, val) + + # force_changes has no effect on cover manipulation + cdata = mi.cover_data[1] + if cdata is None and isinstance(mi.cover, basestring) and mi.cover and os.access(mi.cover, os.R_OK): + with lopen(mi.cover, 'rb') as f: + raw = f.read() + if raw: + cdata = raw + if cdata is not None: + self._set_cover({book_id: cdata}) + + for field in ('title_sort', 'author_sort', 'publisher', 'series', + 'tags', 'comments', 'languages', 'pubdate'): + val = mi.get(field, None) + if (force_changes and val is not None) or not mi.is_null(field): + protected_set_field(field, val) + + # identifiers will always be replaced if force_changes is True + mi_idents = mi.get_identifiers() + if force_changes: + protected_set_field('identifiers', mi_idents) + elif mi_idents: + identifiers = self._field_for('identifiers', book_id, default_value={}) + for key, val in mi_idents.iteritems(): + if val and val.strip(): # Don't delete an existing identifier + identifiers[icu_lower(key)] = val + protected_set_field('identifiers', identifiers) + + user_mi = mi.get_all_user_metadata(make_copy=False) + fm = self.field_metadata + for key in user_mi.iterkeys(): + if (key in fm and + user_mi[key]['datatype'] == fm[key]['datatype'] and + (user_mi[key]['datatype'] != 'text' or + user_mi[key]['is_multiple'] == fm[key]['is_multiple'])): + val = mi.get(key, None) + if force_changes or val is not None: + protected_set_field(key, val) + extra = mi.get_extra(key) + if extra is not None: + protected_set_field(key+'_index', extra) # }}} -class SortKey(object): # {{{ +class SortKey(object): # {{{ def __init__(self, fields, sort_keys, book_id): self.orders = tuple(1 if f[1] else -1 for f in fields) diff --git a/src/calibre/db/categories.py b/src/calibre/db/categories.py index f49789e16c..3f7bbb9e61 100644 --- a/src/calibre/db/categories.py +++ b/src/calibre/db/categories.py @@ -18,7 +18,7 @@ from calibre.utils.icu import sort_key from calibre.utils.search_query_parser import saved_searches -CATEGORY_SORTS = ('name', 'popularity', 'rating') # This has to be a tuple not a set +CATEGORY_SORTS = ('name', 'popularity', 'rating') # This has to be a tuple not a set class Tag(object): @@ -218,7 +218,7 @@ def get_categories(dbcache, sort='name', book_ids=None, icon_map=None): else: items.append(taglist[label][n]) # else: do nothing, to not include nodes w zero counts - cat_name = '@' + user_cat # add the '@' to avoid name collision + cat_name = '@' + user_cat # add the '@' to avoid name collision # Not a problem if we accumulate entries in the icon map if icon_map is not None: icon_map[cat_name] = icon_map['user:'] diff --git a/src/calibre/db/fields.py b/src/calibre/db/fields.py index e0074de7d1..20d0d75ff4 100644 --- a/src/calibre/db/fields.py +++ b/src/calibre/db/fields.py @@ -31,7 +31,7 @@ def __init__(self, name, table): self.table_type = self.table.table_type self._sort_key = (sort_key if dt in ('text', 'series', 'enumeration') else lambda x: x) self._default_sort_key = '' - if dt in { 'int', 'float', 'rating' }: + if dt in {'int', 'float', 'rating'}: self._default_sort_key = 0 elif dt == 'bool': self._default_sort_key = None @@ -138,7 +138,7 @@ def __iter__(self): return self.table.book_col_map.iterkeys() def sort_keys_for_books(self, get_metadata, lang_map, all_book_ids): - return {id_ : self._sort_key(self.table.book_col_map.get(id_, + return {id_: self._sort_key(self.table.book_col_map.get(id_, self._default_sort_key)) for id_ in all_book_ids} def iter_searchable_values(self, get_metadata, candidates, default_value=None): @@ -183,7 +183,7 @@ def get_value_with_cache(self, book_id, get_metadata): return ans def sort_keys_for_books(self, get_metadata, lang_map, all_book_ids): - return {id_ : sort_key(self.get_value_with_cache(id_, get_metadata)) for id_ in + return {id_: sort_key(self.get_value_with_cache(id_, get_metadata)) for id_ in all_book_ids} def iter_searchable_values(self, get_metadata, candidates, default_value=None): @@ -245,7 +245,7 @@ def __iter__(self): return iter(()) def sort_keys_for_books(self, get_metadata, lang_map, all_book_ids): - return {id_ : self.for_book(id_) for id_ in + return {id_: self.for_book(id_) for id_ in all_book_ids} def iter_searchable_values(self, get_metadata, candidates, default_value=None): @@ -280,12 +280,12 @@ def __iter__(self): return self.table.id_map.iterkeys() def sort_keys_for_books(self, get_metadata, lang_map, all_book_ids): - ans = {id_ : self.table.book_col_map.get(id_, None) + ans = {id_: self.table.book_col_map.get(id_, None) for id_ in all_book_ids} - sk_map = {cid : (self._default_sort_key if cid is None else + sk_map = {cid: (self._default_sort_key if cid is None else self._sort_key(self.table.id_map[cid])) for cid in ans.itervalues()} - return {id_ : sk_map[cid] for id_, cid in ans.iteritems()} + return {id_: sk_map[cid] for id_, cid in ans.iteritems()} def iter_searchable_values(self, get_metadata, candidates, default_value=None): cbm = self.table.col_book_map @@ -327,14 +327,14 @@ def __iter__(self): return self.table.id_map.iterkeys() def sort_keys_for_books(self, get_metadata, lang_map, all_book_ids): - ans = {id_ : self.table.book_col_map.get(id_, ()) + ans = {id_: self.table.book_col_map.get(id_, ()) for id_ in all_book_ids} all_cids = set() for cids in ans.itervalues(): all_cids = all_cids.union(set(cids)) - sk_map = {cid : self._sort_key(self.table.id_map[cid]) + sk_map = {cid: self._sort_key(self.table.id_map[cid]) for cid in all_cids} - return {id_ : (tuple(sk_map[cid] for cid in cids) if cids else + return {id_: (tuple(sk_map[cid] for cid in cids) if cids else (self._default_sort_key,)) for id_, cids in ans.iteritems()} @@ -369,9 +369,9 @@ def for_book(self, book_id, default_value=None): def sort_keys_for_books(self, get_metadata, lang_map, all_book_ids): 'Sort by identifier keys' - ans = {id_ : self.table.book_col_map.get(id_, ()) + ans = {id_: self.table.book_col_map.get(id_, ()) for id_ in all_book_ids} - return {id_ : (tuple(sorted(cids.iterkeys())) if cids else + return {id_: (tuple(sorted(cids.iterkeys())) if cids else (self._default_sort_key,)) for id_, cids in ans.iteritems()} @@ -397,9 +397,9 @@ class AuthorsField(ManyToManyField): def author_data(self, author_id): return { - 'name' : self.table.id_map[author_id], - 'sort' : self.table.asort_map[author_id], - 'link' : self.table.alink_map[author_id], + 'name': self.table.id_map[author_id], + 'sort': self.table.asort_map[author_id], + 'link': self.table.alink_map[author_id], } def category_sort_value(self, item_id, book_ids, lang_map): @@ -505,9 +505,9 @@ def get_news_category(self, tag_class, book_ids=None): def create_field(name, table): cls = { - ONE_ONE : OneToOneField, - MANY_ONE : ManyToOneField, - MANY_MANY : ManyToManyField, + ONE_ONE: OneToOneField, + MANY_ONE: ManyToOneField, + MANY_MANY: ManyToManyField, }[table.table_type] if name == 'authors': cls = AuthorsField diff --git a/src/calibre/db/legacy.py b/src/calibre/db/legacy.py new file mode 100644 index 0000000000..874707fa2e --- /dev/null +++ b/src/calibre/db/legacy.py @@ -0,0 +1,170 @@ +#!/usr/bin/env python +# vim:fileencoding=utf-8 +from __future__ import (unicode_literals, division, absolute_import, + print_function) + +__license__ = 'GPL v3' +__copyright__ = '2013, Kovid Goyal ' + +import os, traceback +from functools import partial + +from calibre.db import _get_next_series_num_for_list, _get_series_values +from calibre.db.backend import DB +from calibre.db.cache import Cache +from calibre.db.categories import CATEGORY_SORTS +from calibre.db.view import View +from calibre.utils.date import utcnow + +class LibraryDatabase(object): + + ''' Emulate the old LibraryDatabase2 interface ''' + + PATH_LIMIT = DB.PATH_LIMIT + WINDOWS_LIBRARY_PATH_LIMIT = DB.WINDOWS_LIBRARY_PATH_LIMIT + CATEGORY_SORTS = CATEGORY_SORTS + MATCH_TYPE = ('any', 'all') + CUSTOM_DATA_TYPES = frozenset(['rating', 'text', 'comments', 'datetime', + 'int', 'float', 'bool', 'series', 'composite', 'enumeration']) + + @classmethod + def exists_at(cls, path): + return path and os.path.exists(os.path.join(path, 'metadata.db')) + + def __init__(self, library_path, + default_prefs=None, read_only=False, is_second_db=False, + progress_callback=lambda x, y:True, restore_all_prefs=False): + + self.is_second_db = is_second_db # TODO: Use is_second_db + self.listeners = set([]) + + backend = self.backend = DB(library_path, default_prefs=default_prefs, + read_only=read_only, restore_all_prefs=restore_all_prefs, + progress_callback=progress_callback) + cache = self.new_api = Cache(backend) + cache.init() + self.data = View(cache) + + self.get_property = self.data.get_property + + for prop in ( + 'author_sort', 'authors', 'comment', 'comments', + 'publisher', 'rating', 'series', 'series_index', 'tags', + 'title', 'timestamp', 'uuid', 'pubdate', 'ondevice', + 'metadata_last_modified', 'languages', + ): + fm = {'comment':'comments', 'metadata_last_modified': + 'last_modified', 'title_sort':'sort'}.get(prop, prop) + setattr(self, prop, partial(self.get_property, + loc=self.FIELD_MAP[fm])) + + self.last_update_check = self.last_modified() + + def close(self): + self.backend.close() + + def break_cycles(self): + self.data.cache.backend = None + self.data.cache = None + self.data = self.backend = self.new_api = self.field_metadata = self.prefs = self.listeners = self.refresh_ondevice = None + + # Library wide properties {{{ + @property + def field_metadata(self): + return self.backend.field_metadata + + @property + def user_version(self): + return self.backend.user_version + + @property + def library_id(self): + return self.backend.library_id + + @property + def library_path(self): + return self.backend.library_path + + @property + def dbpath(self): + return self.backend.dbpath + + def last_modified(self): + return self.backend.last_modified() + + def check_if_modified(self): + if self.last_modified() > self.last_update_check: + self.refresh() + self.last_update_check = utcnow() + + @property + def custom_column_num_map(self): + return self.backend.custom_column_num_map + + @property + def custom_column_label_map(self): + return self.backend.custom_column_label_map + + @property + def FIELD_MAP(self): + return self.backend.FIELD_MAP + + @property + def formatter_template_cache(self): + return self.data.cache.formatter_template_cache + + def initialize_template_cache(self): + self.data.cache.initialize_template_cache() + + def all_ids(self): + for book_id in self.data.cache.all_book_ids(): + yield book_id + + def refresh(self, field=None, ascending=True): + self.data.cache.refresh() + self.data.refresh(field=field, ascending=ascending) + + def add_listener(self, listener): + ''' + Add a listener. Will be called on change events with two arguments. + Event name and list of affected ids. + ''' + self.listeners.add(listener) + + def notify(self, event, ids=[]): + 'Notify all listeners' + for listener in self.listeners: + try: + listener(event, ids) + except: + traceback.print_exc() + continue + + # }}} + + def path(self, index, index_is_id=False): + 'Return the relative path to the directory containing this books files as a unicode string.' + book_id = index if index_is_id else self.data.index_to_id(index) + return self.data.cache.field_for('path', book_id).replace('/', os.sep) + + def abspath(self, index, index_is_id=False, create_dirs=True): + 'Return the absolute path to the directory containing this books files as a unicode string.' + path = os.path.join(self.library_path, self.path(index, index_is_id=index_is_id)) + if create_dirs and not os.path.exists(path): + os.makedirs(path) + return path + + # Private interface {{{ + + def __iter__(self): + for row in self.data.iterall(): + yield row + + def _get_next_series_num_for_list(self, series_indices): + return _get_next_series_num_for_list(series_indices) + + def _get_series_values(self, val): + return _get_series_values(val) + + # }}} + diff --git a/src/calibre/db/locking.py b/src/calibre/db/locking.py index d08c7b99fe..0791a5ac07 100644 --- a/src/calibre/db/locking.py +++ b/src/calibre/db/locking.py @@ -39,7 +39,7 @@ def create_locks(): l = SHLock() return RWLockWrapper(l), RWLockWrapper(l, is_shared=False) -class SHLock(object): # {{{ +class SHLock(object): # {{{ ''' Shareable lock class. Used to implement the Multiple readers-single writer paradigm. As best as I can tell, neither writer nor reader starvation @@ -191,7 +191,7 @@ def _take_waiter(self): try: return self._free_waiters.pop() except IndexError: - return Condition(self._lock)#, verbose=True) + return Condition(self._lock) def _return_waiter(self, waiter): self._free_waiters.append(waiter) diff --git a/src/calibre/db/schema_upgrades.py b/src/calibre/db/schema_upgrades.py index f3ca6f9852..c8eaa748c7 100644 --- a/src/calibre/db/schema_upgrades.py +++ b/src/calibre/db/schema_upgrades.py @@ -172,7 +172,6 @@ def upgrade_version_5(self): ''' ) - def upgrade_version_6(self): 'Show authors in order' self.conn.execute(''' @@ -337,7 +336,7 @@ def create_std_tag_browser_view(table_name, column_name, FROM {tn}; '''.format(tn=table_name, cn=column_name, - vcn=view_column_name, scn= sort_column_name)) + vcn=view_column_name, scn=sort_column_name)) self.conn.execute(script) def create_cust_tag_browser_view(table_name, link_table_name): diff --git a/src/calibre/db/search.py b/src/calibre/db/search.py index 57039e191d..4a6eace0f7 100644 --- a/src/calibre/db/search.py +++ b/src/calibre/db/search.py @@ -64,7 +64,7 @@ def _match(query, value, matchkind, use_primary_find_in_search=True): else: internal_match_ok = False for t in value: - try: ### ignore regexp exceptions, required because search-ahead tries before typing is finished + try: # ignore regexp exceptions, required because search-ahead tries before typing is finished t = icu_lower(t) if (matchkind == EQUALS_MATCH): if internal_match_ok: @@ -95,20 +95,20 @@ def _match(query, value, matchkind, use_primary_find_in_search=True): return False # }}} -class DateSearch(object): # {{{ +class DateSearch(object): # {{{ def __init__(self): self.operators = { - '=' : (1, self.eq), - '!=' : (2, self.ne), - '>' : (1, self.gt), - '>=' : (2, self.ge), - '<' : (1, self.lt), - '<=' : (2, self.le), + '=': (1, self.eq), + '!=': (2, self.ne), + '>': (1, self.gt), + '>=': (2, self.ge), + '<': (1, self.lt), + '<=': (2, self.le), } - self.local_today = { '_today', 'today', icu_lower(_('today')) } - self.local_yesterday = { '_yesterday', 'yesterday', icu_lower(_('yesterday')) } - self.local_thismonth = { '_thismonth', 'thismonth', icu_lower(_('thismonth')) } + self.local_today = {'_today', 'today', icu_lower(_('today'))} + self.local_yesterday = {'_yesterday', 'yesterday', icu_lower(_('yesterday'))} + self.local_thismonth = {'_thismonth', 'thismonth', icu_lower(_('thismonth'))} self.daysago_pat = re.compile(r'(%s|daysago|_daysago)$'%_('daysago')) def eq(self, dbdate, query, field_count): @@ -195,13 +195,13 @@ def __call__(self, query, field_iter): try: qd = now() - timedelta(int(num)) except: - raise ParseException(query, len(query), 'Number conversion error') + raise ParseException(_('Number conversion error: {0}').format(num)) field_count = 3 else: try: qd = parse_date(query, as_utc=False) except: - raise ParseException(query, len(query), 'Date conversion error') + raise ParseException(_('Date conversion error: {0}').format(query)) if '-' in query: field_count = query.count('-') + 1 else: @@ -216,16 +216,16 @@ def __call__(self, query, field_iter): return matches # }}} -class NumericSearch(object): # {{{ +class NumericSearch(object): # {{{ def __init__(self): self.operators = { - '=':( 1, lambda r, q: r == q ), - '>':( 1, lambda r, q: r is not None and r > q ), - '<':( 1, lambda r, q: r is not None and r < q ), - '!=':( 2, lambda r, q: r != q ), - '>=':( 2, lambda r, q: r is not None and r >= q ), - '<=':( 2, lambda r, q: r is not None and r <= q ) + '=':(1, lambda r, q: r == q), + '>':(1, lambda r, q: r is not None and r > q), + '<':(1, lambda r, q: r is not None and r < q), + '!=':(2, lambda r, q: r != q), + '>=':(2, lambda r, q: r is not None and r >= q), + '<=':(2, lambda r, q: r is not None and r <= q) } def __call__(self, query, field_iter, location, datatype, candidates, is_many=False): @@ -267,7 +267,7 @@ def __call__(self, query, field_iter, location, datatype, candidates, is_many=Fa p, relop = self.operators['='] cast = int - if dt == 'rating': + if dt == 'rating': cast = lambda x: 0 if x is None else int(x) adjust = lambda x: x/2 elif dt in ('float', 'composite'): @@ -285,8 +285,8 @@ def __call__(self, query, field_iter, location, datatype, candidates, is_many=Fa try: q = cast(query) * mult except: - raise ParseException(query, len(query), - 'Non-numeric value in query: %r'%query) + raise ParseException( + _('Non-numeric value in query: {0}').format(query)) for val, book_ids in field_iter(): if val is None: @@ -303,7 +303,7 @@ def __call__(self, query, field_iter, location, datatype, candidates, is_many=Fa # }}} -class BooleanSearch(object): # {{{ +class BooleanSearch(object): # {{{ def __init__(self): self.local_no = icu_lower(_('no')) @@ -324,35 +324,35 @@ def __call__(self, query, field_iter, bools_are_tristate): for val, book_ids in field_iter(): val = force_to_bool(val) if not bools_are_tristate: - if val is None or not val: # item is None or set to false - if query in { self.local_no, self.local_unchecked, 'no', '_no', 'false' }: + if val is None or not val: # item is None or set to false + if query in {self.local_no, self.local_unchecked, 'no', '_no', 'false'}: matches |= book_ids - else: # item is explicitly set to true - if query in { self.local_yes, self.local_checked, 'yes', '_yes', 'true' }: + else: # item is explicitly set to true + if query in {self.local_yes, self.local_checked, 'yes', '_yes', 'true'}: matches |= book_ids else: if val is None: - if query in { self.local_empty, self.local_blank, 'empty', '_empty', 'false' }: + if query in {self.local_empty, self.local_blank, 'empty', '_empty', 'false'}: matches |= book_ids - elif not val: # is not None and false - if query in { self.local_no, self.local_unchecked, 'no', '_no', 'true' }: + elif not val: # is not None and false + if query in {self.local_no, self.local_unchecked, 'no', '_no', 'true'}: matches |= book_ids - else: # item is not None and true - if query in { self.local_yes, self.local_checked, 'yes', '_yes', 'true' }: + else: # item is not None and true + if query in {self.local_yes, self.local_checked, 'yes', '_yes', 'true'}: matches |= book_ids return matches # }}} -class KeyPairSearch(object): # {{{ +class KeyPairSearch(object): # {{{ def __call__(self, query, field_iter, candidates, use_primary_find): matches = set() if ':' in query: q = [q.strip() for q in query.split(':')] if len(q) != 2: - raise ParseException(query, len(query), - 'Invalid query format for colon-separated search') + raise ParseException( + _('Invalid query format for colon-separated search: {0}').format(query)) keyq, valq = q keyq_mkind, keyq = _matchkind(keyq) valq_mkind, valq = _matchkind(valq) @@ -465,7 +465,8 @@ def get_matches(self, location, query, candidates=None, if invert: matches = self.all_book_ids - matches return matches - raise ParseException(query, len(query), 'Recursive query group detected') + raise ParseException( + _('Recursive query group detected: {0}').format(query)) # If the user has asked to restrict searching over all field, apply # that restriction @@ -547,11 +548,12 @@ def get_matches(self, location, query, candidates=None, field_metadata = {} for x, fm in self.field_metadata.iteritems(): - if x.startswith('@'): continue + if x.startswith('@'): + continue if fm['search_terms'] and x != 'series_sort': all_locs.add(x) field_metadata[x] = fm - if fm['datatype'] in { 'composite', 'text', 'comments', 'series', 'enumeration' }: + if fm['datatype'] in {'composite', 'text', 'comments', 'series', 'enumeration'}: text_fields.add(x) locations = all_locs if location == 'all' else {location} @@ -687,8 +689,8 @@ def __call__(self, dbcache, query, search_restriction, virtual_fields=None): dbcache, all_book_ids, dbcache.pref('grouped_search_terms'), self.date_search, self.num_search, self.bool_search, self.keypair_search, - prefs[ 'limit_search_columns' ], - prefs[ 'limit_search_columns_to' ], self.all_search_locations, + prefs['limit_search_columns'], + prefs['limit_search_columns_to'], self.all_search_locations, virtual_fields) try: diff --git a/src/calibre/db/tables.py b/src/calibre/db/tables.py index bbc5e3bdef..fc62fbe951 100644 --- a/src/calibre/db/tables.py +++ b/src/calibre/db/tables.py @@ -82,7 +82,7 @@ def read(self, db): self.metadata['column'], self.metadata['table'])): self.book_col_map[row[0]] = self.unserialize(row[1]) -class PathTable(OneToOneTable): +class PathTable(OneToOneTable): def set_path(self, book_id, path, db): self.book_col_map[book_id] = path diff --git a/src/calibre/db/tests/base.py b/src/calibre/db/tests/base.py index a1a033f1bf..cc8da89b05 100644 --- a/src/calibre/db/tests/base.py +++ b/src/calibre/db/tests/base.py @@ -16,6 +16,9 @@ class BaseTest(unittest.TestCase): + longMessage = True + maxDiff = None + def setUp(self): self.library_path = self.mkdtemp() self.create_db(self.library_path) @@ -40,10 +43,10 @@ def create_db(self, library_path): db.conn.close() return dest - def init_cache(self, library_path): + def init_cache(self, library_path=None): from calibre.db.backend import DB from calibre.db.cache import Cache - backend = DB(library_path) + backend = DB(library_path or self.library_path) cache = Cache(backend) cache.init() return cache @@ -53,9 +56,13 @@ def mkdtemp(self): atexit.register(rmtree, ans) return ans - def init_old(self, library_path): + def init_old(self, library_path=None): from calibre.library.database2 import LibraryDatabase2 - return LibraryDatabase2(library_path) + return LibraryDatabase2(library_path or self.library_path) + + def init_legacy(self, library_path=None): + from calibre.db.legacy import LibraryDatabase + return LibraryDatabase(library_path or self.library_path) def clone_library(self, library_path): if not hasattr(self, 'clone_dir'): @@ -81,7 +88,8 @@ def compare_metadata(self, mi1, mi2): 'ondevice_col', 'last_modified', 'has_cover', 'cover_data'}.union(allfk1) for attr in all_keys: - if attr == 'user_metadata': continue + if attr == 'user_metadata': + continue attr1, attr2 = getattr(mi1, attr), getattr(mi2, attr) if attr == 'formats': attr1, attr2 = map(lambda x:tuple(x) if x else (), (attr1, attr2)) diff --git a/src/calibre/db/tests/legacy.py b/src/calibre/db/tests/legacy.py new file mode 100644 index 0000000000..48408d6105 --- /dev/null +++ b/src/calibre/db/tests/legacy.py @@ -0,0 +1,133 @@ +#!/usr/bin/env python +# vim:fileencoding=utf-8 +from __future__ import (unicode_literals, division, absolute_import, + print_function) + +__license__ = 'GPL v3' +__copyright__ = '2013, Kovid Goyal ' + +import inspect +from calibre.db.tests.base import BaseTest + +class LegacyTest(BaseTest): + + ''' Test the emulation of the legacy interface. ''' + + def test_library_wide_properties(self): # {{{ + 'Test library wide properties' + def get_props(db): + props = ('user_version', 'is_second_db', 'library_id', 'field_metadata', + 'custom_column_label_map', 'custom_column_num_map', 'library_path', 'dbpath') + fprops = ('last_modified', ) + ans = {x:getattr(db, x) for x in props} + ans.update({x:getattr(db, x)() for x in fprops}) + ans['all_ids'] = frozenset(db.all_ids()) + return ans + + old = self.init_old() + oldvals = get_props(old) + old.close() + del old + db = self.init_legacy() + newvals = get_props(db) + self.assertEqual(oldvals, newvals) + db.close() + # }}} + + def test_get_property(self): # {{{ + 'Test the get_property interface for reading data' + def get_values(db): + ans = {} + for label, loc in db.FIELD_MAP.iteritems(): + if isinstance(label, int): + label = '#'+db.custom_column_num_map[label]['label'] + label = type('')(label) + ans[label] = tuple(db.get_property(i, index_is_id=True, loc=loc) + for i in db.all_ids()) + if label in ('id', 'title', '#tags'): + with self.assertRaises(IndexError): + db.get_property(9999, loc=loc) + with self.assertRaises(IndexError): + db.get_property(9999, index_is_id=True, loc=loc) + if label in {'tags', 'formats'}: + # Order is random in the old db for these + ans[label] = tuple(set(x.split(',')) if x else x for x in ans[label]) + if label == 'series_sort': + # The old db code did not take book language into account + # when generating series_sort values (the first book has + # lang=deu) + ans[label] = ans[label][1:] + return ans + + old = self.init_old() + old_vals = get_values(old) + old.close() + old = None + db = self.init_legacy() + new_vals = get_values(db) + db.close() + self.assertEqual(old_vals, new_vals) + + # }}} + + def test_refresh(self): # {{{ + ' Test refreshing the view after a change to metadata.db ' + db = self.init_legacy() + db2 = self.init_legacy() + self.assertEqual(db2.data.cache.set_field('title', {1:'xxx'}), set([1])) + db2.close() + del db2 + self.assertNotEqual(db.title(1, index_is_id=True), 'xxx') + db.check_if_modified() + self.assertEqual(db.title(1, index_is_id=True), 'xxx') + # }}} + + def test_legacy_getters(self): # {{{ + ' Test various functions to get individual bits of metadata ' + old = self.init_old() + getters = ('path', 'abspath', 'title', 'authors', 'series', + 'publisher', 'author_sort', 'authors', 'comments', + 'comment', 'publisher', 'rating', 'series_index', 'tags', + 'timestamp', 'uuid', 'pubdate', 'ondevice', + 'metadata_last_modified', 'languages') + oldvals = {g:tuple(getattr(old, g)(x) for x in xrange(3)) + tuple(getattr(old, g)(x, True) for x in (1,2,3)) for g in getters} + old_rows = {tuple(r)[:5] for r in old} + old.close() + db = self.init_legacy() + newvals = {g:tuple(getattr(db, g)(x) for x in xrange(3)) + tuple(getattr(db, g)(x, True) for x in (1,2,3)) for g in getters} + new_rows = {tuple(r)[:5] for r in db} + for x in (oldvals, newvals): + x['tags'] = tuple(set(y.split(',')) if y else y for y in x['tags']) + self.assertEqual(oldvals, newvals) + self.assertEqual(old_rows, new_rows) + + # }}} + + def test_legacy_coverage(self): # {{{ + ' Check that the emulation of the legacy interface is (almost) total ' + cl = self.cloned_library + db = self.init_old(cl) + ndb = self.init_legacy() + + SKIP_ATTRS = { + 'TCat_Tag', '_add_newbook_tag', '_clean_identifier', '_library_id_', '_set_authors', + '_set_title', '_set_custom', '_update_author_in_cache', + } + SKIP_ARGSPEC = { + '__init__', + } + + for attr in dir(db): + if attr in SKIP_ATTRS: + continue + self.assertTrue(hasattr(ndb, attr), 'The attribute %s is missing' % attr) + obj, nobj = getattr(db, attr), getattr(ndb, attr) + if attr not in SKIP_ARGSPEC: + try: + argspec = inspect.getargspec(obj) + except TypeError: + pass + else: + self.assertEqual(argspec, inspect.getargspec(nobj), 'argspec for %s not the same' % attr) + # }}} + diff --git a/src/calibre/db/tests/main.py b/src/calibre/db/tests/main.py index c4bb058b7e..bdc9561ec5 100644 --- a/src/calibre/db/tests/main.py +++ b/src/calibre/db/tests/main.py @@ -9,15 +9,32 @@ import unittest, os, argparse +try: + import init_calibre # noqa +except ImportError: + pass + def find_tests(): return unittest.defaultTestLoader.discover(os.path.dirname(os.path.abspath(__file__)), pattern='*.py') if __name__ == '__main__': parser = argparse.ArgumentParser() - parser.add_argument('name', nargs='?', default=None, help='The name of the test to run, for e.g. writing.WritingTest.many_many_basic') + parser.add_argument('name', nargs='?', default=None, + help='The name of the test to run, for e.g. writing.WritingTest.many_many_basic or .many_many_basic for a shortcut') args = parser.parse_args() - if args.name: - unittest.TextTestRunner(verbosity=4).run(unittest.defaultTestLoader.loadTestsFromName(args.name)) + if args.name and args.name.startswith('.'): + tests = find_tests() + ans = None + try: + for suite in tests: + for test in suite._tests: + for s in test: + if s._testMethodName == args.name[1:]: + tests = s + raise StopIteration() + except StopIteration: + pass else: - unittest.TextTestRunner(verbosity=4).run(find_tests()) + tests = unittest.defaultTestLoader.loadTestsFromName(args.name) if args.name else find_tests() + unittest.TextTestRunner(verbosity=4).run(tests) diff --git a/src/calibre/db/tests/reading.py b/src/calibre/db/tests/reading.py index bf691a3b03..979e2e9247 100644 --- a/src/calibre/db/tests/reading.py +++ b/src/calibre/db/tests/reading.py @@ -8,6 +8,7 @@ __docformat__ = 'restructuredtext en' import datetime +from io import BytesIO from calibre.utils.date import utc_tz from calibre.db.tests.base import BaseTest @@ -205,6 +206,9 @@ def test_get_cover(self): # {{{ else: self.assertEqual(cdata, cache.cover(book_id, as_path=True), 'Reading of null cover as path failed') + buf = BytesIO() + self.assertFalse(cache.copy_cover_to(99999, buf), 'copy_cover_to() did not return False for non-existent book_id') + self.assertFalse(cache.copy_cover_to(3, buf), 'copy_cover_to() did not return False for non-existent cover') # }}} @@ -305,6 +309,7 @@ def compare_category(category, old, new): def test_get_formats(self): # {{{ 'Test reading ebook formats using the format() method' from calibre.library.database2 import LibraryDatabase2 + from calibre.db.cache import NoSuchFormat old = LibraryDatabase2(self.library_path) ids = old.all_ids() lf = {i:set(old.formats(i, index_is_id=True).split(',')) if old.formats( @@ -332,6 +337,9 @@ def test_get_formats(self): # {{{ self.assertEqual(old, f.read(), 'Failed to read format as path') + buf = BytesIO() + self.assertRaises(NoSuchFormat, cache.copy_format_to, 99999, 'X', buf, 'copy_format_to() failed to raise an exception for non-existent book') + self.assertRaises(NoSuchFormat, cache.copy_format_to, 1, 'X', buf, 'copy_format_to() failed to raise an exception for non-existent format') # }}} diff --git a/src/calibre/db/tests/writing.py b/src/calibre/db/tests/writing.py index 127bcd3609..9ec368dd83 100644 --- a/src/calibre/db/tests/writing.py +++ b/src/calibre/db/tests/writing.py @@ -9,6 +9,7 @@ from collections import namedtuple from functools import partial +from io import BytesIO from calibre.ebooks.metadata import author_to_author_sort from calibre.utils.date import UNDEFINED_DATE @@ -16,6 +17,7 @@ class WritingTest(BaseTest): + # Utils {{{ def create_getter(self, name, getter=None): if getter is None: if name.endswith('_index'): @@ -35,7 +37,7 @@ def create_setter(self, name, setter=None): ans = lambda db:partial(getattr(db, setter), commit=True) return ans - def create_test(self, name, vals, getter=None, setter=None ): + def create_test(self, name, vals, getter=None, setter=None): T = namedtuple('Test', 'name vals getter setter') return T(name, vals, self.create_getter(name, getter), self.create_setter(name, setter)) @@ -70,8 +72,9 @@ def run_tests(self, tests): 'Failed setting for %s, sqlite value not the same: %r != %r'%( test.name, old_sqlite_res, sqlite_res)) del db + # }}} - def test_one_one(self): # {{{ + def test_one_one(self): # {{{ 'Test setting of values in one-one fields' tests = [self.create_test('#yesno', (True, False, 'true', 'false', None))] for name, getter, setter in ( @@ -112,7 +115,7 @@ def test_one_one(self): # {{{ self.run_tests(tests) # }}} - def test_many_one_basic(self): # {{{ + def test_many_one_basic(self): # {{{ 'Test the different code paths for writing to a many-one field' cl = self.cloned_library cache = self.init_cache(cl) @@ -199,7 +202,7 @@ def test_many_one_basic(self): # {{{ # }}} - def test_many_many_basic(self): # {{{ + def test_many_many_basic(self): # {{{ 'Test the different code paths for writing to a many-many field' cl = self.cloned_library cache = self.init_cache(cl) @@ -289,6 +292,70 @@ def test_many_many_basic(self): # {{{ ae(c.field_for('sort', 1), 'Moose, The') ae(c.field_for('sort', 2), 'Cat') - # }}} + def test_dirtied(self): # {{{ + 'Test the setting of the dirtied flag and the last_modified column' + cl = self.cloned_library + cache = self.init_cache(cl) + ae, af, sf = self.assertEqual, self.assertFalse, cache.set_field + # First empty dirtied + cache.dump_metadata() + af(cache.dirtied_cache) + af(self.init_cache(cl).dirtied_cache) + + prev = cache.field_for('last_modified', 3) + import calibre.db.cache as c + from datetime import timedelta + utime = prev+timedelta(days=1) + onowf = c.nowf + c.nowf = lambda: utime + try: + ae(sf('title', {3:'xxx'}), set([3])) + self.assertTrue(3 in cache.dirtied_cache) + ae(cache.field_for('last_modified', 3), utime) + cache.dump_metadata() + raw = cache.read_backup(3) + from calibre.ebooks.metadata.opf2 import OPF + opf = OPF(BytesIO(raw)) + ae(opf.title, 'xxx') + finally: + c.nowf = onowf + # }}} + + def test_backup(self): # {{{ + 'Test the automatic backup of changed metadata' + cl = self.cloned_library + cache = self.init_cache(cl) + ae, af, sf, ff = self.assertEqual, self.assertFalse, cache.set_field, cache.field_for + # First empty dirtied + cache.dump_metadata() + af(cache.dirtied_cache) + from calibre.db.backup import MetadataBackup + interval = 0.01 + mb = MetadataBackup(cache, interval=interval, scheduling_interval=0) + mb.start() + try: + ae(sf('title', {1:'title1', 2:'title2', 3:'title3'}), {1,2,3}) + ae(sf('authors', {1:'author1 & author2', 2:'author1 & author2', 3:'author1 & author2'}), {1,2,3}) + count = 6 + while cache.dirty_queue_length() and count > 0: + mb.join(interval) + count -= 1 + af(cache.dirty_queue_length()) + finally: + mb.stop() + mb.join(interval) + af(mb.is_alive()) + from calibre.ebooks.metadata.opf2 import OPF + for book_id in (1, 2, 3): + raw = cache.read_backup(book_id) + opf = OPF(BytesIO(raw)) + ae(opf.title, 'title%d'%book_id) + ae(opf.authors, ['author1', 'author2']) + # }}} + + def test_set_cover(self): + ' Test setting of cover ' + self.assertTrue(False, 'TODO: test set_cover() and set_metadata()') + diff --git a/src/calibre/db/view.py b/src/calibre/db/view.py index e0f99eede0..3f135860d9 100644 --- a/src/calibre/db/view.py +++ b/src/calibre/db/view.py @@ -11,6 +11,9 @@ from functools import partial from itertools import izip, imap +from calibre.ebooks.metadata import title_sort +from calibre.utils.config_base import tweaks + def sanitize_sort_field_name(field_metadata, field): field = field_metadata.search_term_to_field_key(field.lower().strip()) # translate some fields to their hidden equivalent @@ -26,11 +29,12 @@ def iter_searchable_values(self, get_metadata, candidates, default_value=None): for book_id in candidates: yield self.marked_ids.get(book_id, default_value), {book_id} -class TableRow(list): +class TableRow(object): def __init__(self, book_id, view): self.book_id = book_id self.view = weakref.ref(view) + self.column_count = view.column_count def __getitem__(self, obj): view = self.view() @@ -40,6 +44,25 @@ def __getitem__(self, obj): else: return view._field_getters[obj](self.book_id) + def __len__(self): + return self.column_count + + def __iter__(self): + for i in xrange(self.column_count): + yield self[i] + +def format_is_multiple(x, sep=',', repl=None): + if not x: + return None + if repl is not None: + x = (y.replace(sep, repl) for y in x) + return sep.join(x) + +def format_identifiers(x): + if not x: + return None + return ','.join('%s:%s'%(k, v) for k, v in x.iteritems()) + class View(object): ''' A table view of the database, with rows and columns. Also supports @@ -49,51 +72,82 @@ def __init__(self, cache): self.cache = cache self.marked_ids = {} self.search_restriction_book_count = 0 - self.search_restriction = '' + self.search_restriction = self.base_restriction = '' + self.search_restriction_name = self.base_restriction_name = '' self._field_getters = {} + self.column_count = len(cache.backend.FIELD_MAP) for col, idx in cache.backend.FIELD_MAP.iteritems(): + label, fmt = col, lambda x:x + func = { + 'id': self._get_id, + 'au_map': self.get_author_data, + 'ondevice': self.get_ondevice, + 'marked': self.get_marked, + 'series_sort':self.get_series_sort, + }.get(col, self._get) if isinstance(col, int): label = self.cache.backend.custom_column_num_map[col]['label'] label = (self.cache.backend.field_metadata.custom_field_prefix + label) - self._field_getters[idx] = partial(self.get, label) - else: + if label.endswith('_index'): try: - self._field_getters[idx] = { - 'id' : self._get_id, - 'au_map' : self.get_author_data, - 'ondevice': self.get_ondevice, - 'marked' : self.get_marked, - }[col] - except KeyError: - self._field_getters[idx] = partial(self.get, col) + num = int(label.partition('_')[0]) + except ValueError: + pass # series_index + else: + label = self.cache.backend.custom_column_num_map[num]['label'] + label = (self.cache.backend.field_metadata.custom_field_prefix + + label + '_index') - self._map = tuple(self.cache.all_book_ids()) + fm = self.field_metadata[label] + fm + if label == 'authors': + fmt = partial(format_is_multiple, repl='|') + elif label in {'tags', 'languages', 'formats'}: + fmt = format_is_multiple + elif label == 'cover': + fmt = bool + elif label == 'identifiers': + fmt = format_identifiers + elif fm['datatype'] == 'text' and fm['is_multiple']: + sep = fm['is_multiple']['cache_to_list'] + if sep not in {'&','|'}: + sep = '|' + fmt = partial(format_is_multiple, sep=sep) + self._field_getters[idx] = partial(func, label, fmt=fmt) if func == self._get else func + + self._map = tuple(sorted(self.cache.all_book_ids())) self._map_filtered = tuple(self._map) + def get_property(self, id_or_index, index_is_id=False, loc=-1): + book_id = id_or_index if index_is_id else self._map_filtered[id_or_index] + return self._field_getters[loc](book_id) + @property def field_metadata(self): return self.cache.field_metadata def _get_id(self, idx, index_is_id=True): + if index_is_id and idx not in self.cache.all_book_ids(): + raise IndexError('No book with id %s present'%idx) return idx if index_is_id else self.index_to_id(idx) def __getitem__(self, row): - return TableRow(self._map_filtered[row], self.cache) + return TableRow(self._map_filtered[row], self) def __len__(self): return len(self._map_filtered) def __iter__(self): for book_id in self._map_filtered: - yield self._data[book_id] + yield TableRow(book_id, self) def iterall(self): - for book_id in self._map: - yield self[book_id] + for book_id in self.iterallids(): + yield TableRow(book_id, self) def iterallids(self): - for book_id in self._map: + for book_id in sorted(self._map): yield book_id def get_field_map_field(self, row, col, index_is_id=True): @@ -107,9 +161,21 @@ def get_field_map_field(self, row, col, index_is_id=True): def index_to_id(self, idx): return self._map_filtered[idx] - def get(self, field, idx, index_is_id=True, default_value=None): + def _get(self, field, idx, index_is_id=True, default_value=None, fmt=lambda x:x): id_ = idx if index_is_id else self.index_to_id(idx) - return self.cache.field_for(field, id_) + if index_is_id and id_ not in self.cache.all_book_ids(): + raise IndexError('No book with id %s present'%idx) + return fmt(self.cache.field_for(field, id_, default_value=default_value)) + + def get_series_sort(self, idx, index_is_id=True, default_value=''): + book_id = idx if index_is_id else self.index_to_id(idx) + with self.cache.read_lock: + lang_map = self.cache.fields['languages'].book_value_map + lang = lang_map.get(book_id, None) or None + if lang: + lang = lang[0] + return title_sort(self.cache._field_for('series', book_id, default_value=''), + order=tweaks['title_series_sorting'], lang=lang) def get_ondevice(self, idx, index_is_id=True, default_value=''): id_ = idx if index_is_id else self.index_to_id(idx) @@ -119,26 +185,15 @@ def get_marked(self, idx, index_is_id=True, default_value=None): id_ = idx if index_is_id else self.index_to_id(idx) return self.marked_ids.get(id_, default_value) - def get_author_data(self, idx, index_is_id=True, default_value=()): - ''' - Return author data for all authors of the book identified by idx as a - tuple of dictionaries. The dictionaries should never be empty, unless - there is a bug somewhere. The list could be empty if idx point to an - non existent book, or book with no authors (though again a book with no - authors should never happen). - - Each dictionary has the keys: name, sort, link. Link can be an empty - string. - - default_value is ignored, this method always returns a tuple - ''' + def get_author_data(self, idx, index_is_id=True, default_value=None): id_ = idx if index_is_id else self.index_to_id(idx) with self.cache.read_lock: ids = self.cache._field_ids_for('authors', id_) ans = [] for id_ in ids: - ans.append(self.cache._author_data(id_)) - return tuple(ans) + data = self.cache._author_data(id_) + ans.append(':::'.join((data['name'], data['sort'], data['link']))) + return ':#:'.join(ans) if ans else default_value def multisort(self, fields=[], subsort=False, only_ids=None): fields = [(sanitize_sort_field_name(self.field_metadata, x), bool(y)) for x, y in fields] @@ -168,8 +223,19 @@ def search(self, query, return_matches=False): return ans self._map_filtered = tuple(ans) + def _build_restriction_string(self, restriction): + if self.base_restriction: + if restriction: + return u'(%s) and (%s)' % (self.base_restriction, restriction) + else: + return self.base_restriction + else: + return restriction + def search_getting_ids(self, query, search_restriction, - set_restriction_count=False): + set_restriction_count=False, use_virtual_library=True): + if use_virtual_library: + search_restriction = self._build_restriction_string(search_restriction) q = '' if not query or not query.strip(): q = search_restriction @@ -188,11 +254,32 @@ def search_getting_ids(self, query, search_restriction, self.search_restriction_book_count = len(rv) return rv + def get_search_restriction(self): + return self.search_restriction + def set_search_restriction(self, s): self.search_restriction = s + def get_base_restriction(self): + return self.base_restriction + + def set_base_restriction(self, s): + self.base_restriction = s + + def get_base_restriction_name(self): + return self.base_restriction_name + + def set_base_restriction_name(self, s): + self.base_restriction_name = s + + def get_search_restriction_name(self): + return self.search_restriction_name + + def set_search_restriction_name(self, s): + self.search_restriction_name = s + def search_restriction_applied(self): - return bool(self.search_restriction) + return bool(self.search_restriction) or bool(self.base_restriction) def get_search_restriction_book_count(self): return self.search_restriction_book_count @@ -216,3 +303,11 @@ def set_marked_ids(self, id_dict): self.marked_ids = dict(izip(id_dict.iterkeys(), imap(unicode, id_dict.itervalues()))) + def refresh(self, field=None, ascending=True): + self._map = tuple(self.cache.all_book_ids()) + self._map_filtered = tuple(self._map) + if field is not None: + self.sort(field, ascending) + if self.search_restriction or self.base_restriction: + self.search('', return_matches=False) + diff --git a/src/calibre/db/write.py b/src/calibre/db/write.py index 29a27e16bf..87e7179661 100644 --- a/src/calibre/db/write.py +++ b/src/calibre/db/write.py @@ -417,7 +417,7 @@ def many_many(book_id_val_map, db, field, allow_case_change, *args): # }}} -def identifiers(book_id_val_map, db, field, *args): # {{{ +def identifiers(book_id_val_map, db, field, *args): # {{{ table = field.table updates = set() for book_id, identifiers in book_id_val_map.iteritems(): diff --git a/src/calibre/devices/android/driver.py b/src/calibre/devices/android/driver.py index 36ab076417..9d5ce152d3 100644 --- a/src/calibre/devices/android/driver.py +++ b/src/calibre/devices/android/driver.py @@ -71,6 +71,7 @@ class ANDROID(USBMS): 0x42f7 : [0x216], 0x4365 : [0x216], 0x4366 : [0x216], + 0x4371 : [0x216], }, # Freescale 0x15a2 : { @@ -239,7 +240,7 @@ class ANDROID(USBMS): 'ADVANCED', 'SGH-I727', 'USB_FLASH_DRIVER', 'ANDROID', 'S5830I_CARD', 'MID7042', 'LINK-CREATE', '7035', 'VIEWPAD_7E', 'NOVO7', 'MB526', '_USB#WYK7MSF8KE', 'TABLET_PC', 'F', 'MT65XX_MS', - 'ICS', 'E400', '__FILE-STOR_GADG', 'ST80208-1', 'GT-S5660M_CARD'] + 'ICS', 'E400', '__FILE-STOR_GADG', 'ST80208-1', 'GT-S5660M_CARD', 'XT894'] WINDOWS_CARD_A_MEM = ['ANDROID_PHONE', 'GT-I9000_CARD', 'SGH-I897', 'FILE-STOR_GADGET', 'SGH-T959_CARD', 'SGH-T959', 'SAMSUNG_ANDROID', 'GT-P1000_CARD', 'A70S', 'A101IT', '7', 'INCREDIBLE', 'A7EB', 'SGH-T849_CARD', @@ -250,7 +251,7 @@ class ANDROID(USBMS): 'FILE-CD_GADGET', 'GT-I9001_CARD', 'USB_2.0', 'XT875', 'UMS_COMPOSITE', 'PRO', '.KOBO_VOX', 'SGH-T989_CARD', 'SGH-I727', 'USB_FLASH_DRIVER', 'ANDROID', 'MID7042', '7035', 'VIEWPAD_7E', - 'NOVO7', 'ADVANCED', 'TABLET_PC', 'F', 'E400_SD_CARD', 'ST80208-1'] + 'NOVO7', 'ADVANCED', 'TABLET_PC', 'F', 'E400_SD_CARD', 'ST80208-1', 'XT894'] OSX_MAIN_MEM = 'Android Device Main Memory' diff --git a/src/calibre/devices/apple/driver.py b/src/calibre/devices/apple/driver.py index 5251e701b5..61c4654a32 100644 --- a/src/calibre/devices/apple/driver.py +++ b/src/calibre/devices/apple/driver.py @@ -5,7 +5,7 @@ __docformat__ = 'restructuredtext en' -import cStringIO, ctypes, datetime, os, platform, re, shutil, sys, tempfile, time +import cStringIO, ctypes, datetime, os, re, shutil, sys, tempfile, time from calibre import fit_image, confirm_config_name, strftime as _strftime from calibre.constants import ( @@ -17,13 +17,12 @@ from calibre.ebooks.metadata import (author_to_author_sort, authors_to_string, MetaInformation, title_sort) from calibre.ebooks.metadata.book.base import Metadata -from calibre.utils.config import config_dir, dynamic, prefs -from calibre.utils.date import now, parse_date -from calibre.utils.zipfile import ZipFile +from calibre.utils.config_base import config_dir, prefs DEBUG = CALIBRE_DEBUG def strftime(fmt='%Y/%m/%d %H:%M:%S', dt=None): + from calibre.utils.date import now if not hasattr(dt, 'timetuple'): dt = now() @@ -96,6 +95,7 @@ def __init__(self, p, cd, pixmap='dialog_information.png'): def do_it(self, return_code): from calibre.utils.logging import default_log + from calibre.utils.config import dynamic if return_code == self.Accepted: default_log.info(" Apple driver ENABLED") dynamic[confirm_config_name(self.cd.plugin.DISPLAY_DISABLE_DIALOG)] = False @@ -413,6 +413,7 @@ def books(self, oncard=None, end_session=True): list of device books. """ + from calibre.utils.date import parse_date if not oncard: if DEBUG: logger().info("%s.books():" % self.__class__.__name__) @@ -860,6 +861,7 @@ def open(self, connected_device, library_uuid): Note that most of the initialization is necessarily performed in can_handle(), as we need to talk to iTunes to discover if there's a connected iPod ''' + from calibre.utils.zipfile import ZipFile if self.iTunes is None: raise OpenFeedback(self.ITUNES_SANDBOX_LOCKOUT_MESSAGE) @@ -881,6 +883,7 @@ def open(self, connected_device, library_uuid): if False: # Display a dialog recommending using 'Connect to iTunes' if user hasn't # previously disabled the dialog + from calibre.utils.config import dynamic if dynamic.get(confirm_config_name(self.DISPLAY_DISABLE_DIALOG), True): raise AppleOpenFeedback(self) else: @@ -930,6 +933,7 @@ def remove_books_from_metadata(self, paths, booklists): NB: This will not find books that were added by a different installation of calibre as uuids are different ''' + from calibre.utils.zipfile import ZipFile if DEBUG: logger().info("%s.remove_books_from_metadata()" % self.__class__.__name__) for path in paths: @@ -1429,6 +1433,7 @@ def _cover_to_thumb(self, path, metadata, db_added, lb_added, format): as of iTunes 9.2, iBooks 1.1, can't set artwork for PDF files via automation ''' from PIL import Image as PILImage + from calibre.utils.zipfile import ZipFile if DEBUG: logger().info(" %s._cover_to_thumb()" % self.__class__.__name__) @@ -1557,6 +1562,7 @@ def _cover_to_thumb(self, path, metadata, db_added, lb_added, format): def _create_new_book(self, fpath, metadata, path, db_added, lb_added, thumb, format): ''' ''' + from calibre.utils.date import parse_date if DEBUG: logger().info(" %s._create_new_book()" % self.__class__.__name__) @@ -1761,6 +1767,7 @@ def _dump_epub_metadata(self, fpath): ''' ''' from calibre.ebooks.BeautifulSoup import BeautifulSoup + from calibre.utils.zipfile import ZipFile logger().info(" %s.__get_epub_metadata()" % self.__class__.__name__) title = None @@ -2014,6 +2021,7 @@ def _generate_thumbnail(self, book_path, book): as of iTunes 9.2, iBooks 1.1, can't set artwork for PDF files via automation ''' from PIL import Image as PILImage + from calibre.utils.zipfile import ZipFile if not self.settings().extra_customization[self.CACHE_COVERS]: thumb_data = None @@ -2126,6 +2134,7 @@ def _get_device_book_size(self, file, compressed_size): ''' Calculate the exploded size of file ''' + from calibre.utils.zipfile import ZipFile exploded_file_size = compressed_size format = file.rpartition('.')[2].lower() if format == 'epub': @@ -2478,6 +2487,7 @@ def _launch_iTunes(self): ''' if DEBUG: + import platform logger().info(" %s %s" % (__appname__, __version__)) logger().info(" [OSX %s, %s %s (%s), %s driver version %d.%d.%d]" % (platform.mac_ver()[0], @@ -2622,7 +2632,7 @@ def _remove_existing_copy(self, path, metadata): # for deletion from booklist[0] during add_books_to_metadata for book in self.cached_books: if (self.cached_books[book]['uuid'] == metadata.uuid or - (self.cached_books[book]['title'] == metadata.title and \ + (self.cached_books[book]['title'] == metadata.title and self.cached_books[book]['author'] == metadata.author)): self.update_list.append(self.cached_books[book]) if DEBUG: @@ -2776,8 +2786,10 @@ def title_sorter(self, title): def _update_epub_metadata(self, fpath, metadata): ''' ''' + from calibre.utils.date import parse_date, now from calibre.ebooks.metadata.epub import set_metadata from lxml import etree + from calibre.utils.zipfile import ZipFile if DEBUG: logger().info(" %s._update_epub_metadata()" % self.__class__.__name__) @@ -3248,6 +3260,7 @@ def books(self, oncard=None, end_session=True): list of device books. """ + from calibre.utils.date import parse_date if not oncard: if DEBUG: logger().info("%s.books()" % self.__class__.__name__) @@ -3418,6 +3431,7 @@ def open(self, connected_device, library_uuid): Note that most of the initialization is necessarily performed in can_handle(), as we need to talk to iTunes to discover if there's a connected iPod ''' + from calibre.utils.zipfile import ZipFile if self.iTunes is None: raise OpenFeedback(self.ITUNES_SANDBOX_LOCKOUT_MESSAGE) diff --git a/src/calibre/devices/eb600/driver.py b/src/calibre/devices/eb600/driver.py index afa69e6290..ec6d0e43fe 100644 --- a/src/calibre/devices/eb600/driver.py +++ b/src/calibre/devices/eb600/driver.py @@ -60,13 +60,24 @@ class TOLINO(EB600): WINDOWS_MAIN_MEM = WINDOWS_CARD_A_MEM = ['_TELEKOMTOLINO'] def linux_swap_drives(self, drives): - if len(drives) < 2 or not drives[1] or not drives[2]: return drives + if len(drives) < 2 or not drives[1] or not drives[2]: + return drives drives = list(drives) t = drives[0] drives[0] = drives[1] drives[1] = t return tuple(drives) + def windows_sort_drives(self, drives): + if len(drives) < 2: + return drives + main = drives.get('main', None) + carda = drives.get('carda', None) + if main and carda: + drives['main'] = carda + drives['carda'] = main + return drives + class COOL_ER(EB600): name = 'Cool-er device interface' @@ -94,13 +105,11 @@ class SHINEBOOK(EB600): MAIN_MEMORY_VOLUME_LABEL = 'ShineBook Main Memory' STORAGE_CARD_VOLUME_LABEL = 'ShineBook Storage Card' - @classmethod def can_handle(cls, dev, debug=False): return dev[4] == 'ShineBook' - class POCKETBOOK360(EB600): # Device info on OS X @@ -113,7 +122,6 @@ class POCKETBOOK360(EB600): PRODUCT_ID = [0x1688, 0xa4a5] BCD = [0x110] - FORMATS = ['epub', 'fb2', 'prc', 'mobi', 'pdf', 'djvu', 'rtf', 'chm', 'txt'] VENDOR_NAME = ['PHILIPS', '__POCKET', 'POCKETBO'] @@ -312,7 +320,8 @@ class POCKETBOOK701(USBMS): WINDOWS_MAIN_MEM = WINDOWS_CARD_A_MEM = '__UMS_COMPOSITE' def windows_sort_drives(self, drives): - if len(drives) < 2: return drives + if len(drives) < 2: + return drives main = drives.get('main', None) carda = drives.get('carda', None) if main and carda: diff --git a/src/calibre/devices/kobo/books.py b/src/calibre/devices/kobo/books.py index c9bfe8d622..5a76ec2f63 100644 --- a/src/calibre/devices/kobo/books.py +++ b/src/calibre/devices/kobo/books.py @@ -10,8 +10,7 @@ from calibre.devices.usbms.books import Book as Book_ from calibre.devices.usbms.books import CollectionsBookList -from calibre.utils.config import prefs -from calibre.utils.date import parse_date +from calibre.utils.config_base import prefs from calibre.devices.usbms.driver import debug_print from calibre.ebooks.metadata import author_to_author_sort @@ -19,6 +18,7 @@ class Book(Book_): def __init__(self, prefix, lpath, title=None, authors=None, mime=None, date=None, ContentType=None, thumbnail_name=None, size=None, other=None): + from calibre.utils.date import parse_date # debug_print('Book::__init__ - title=', title) show_debug = title is not None and title.lower().find("xxxxx") >= 0 if show_debug: diff --git a/src/calibre/devices/kobo/driver.py b/src/calibre/devices/kobo/driver.py index dc2ff0e400..7c980432f0 100644 --- a/src/calibre/devices/kobo/driver.py +++ b/src/calibre/devices/kobo/driver.py @@ -26,7 +26,7 @@ from calibre import prints from calibre.ptempfile import PersistentTemporaryFile from calibre.constants import DEBUG -from calibre.utils.config import prefs +from calibre.utils.config_base import prefs class KOBO(USBMS): @@ -35,11 +35,11 @@ class KOBO(USBMS): gui_name = 'Kobo Reader' description = _('Communicate with the Kobo Reader') author = 'Timothy Legge and David Forrester' - version = (2, 0, 7) + version = (2, 0, 9) dbversion = 0 fwversion = 0 - supported_dbversion = 75 + supported_dbversion = 80 has_kepubs = False supported_platforms = ['windows', 'osx', 'linux'] @@ -419,7 +419,7 @@ def delete_via_sql(self, ContentID, ContentType): # If all this succeeds we need to delete the images files via the ImageID return ImageID - def delete_images(self, ImageID): + def delete_images(self, ImageID, book_path): if ImageID != None: path_prefix = '.kobo/images/' path = self._main_prefix + path_prefix + ImageID @@ -449,7 +449,7 @@ def delete_books(self, paths, end_session=True): ImageID = self.delete_via_sql(ContentID, ContentType) #print " We would now delete the Images for" + ImageID - self.delete_images(ImageID) + self.delete_images(ImageID, path) if os.path.exists(path): # Delete the ebook @@ -1193,21 +1193,30 @@ def add_annotation_to_library(self, db, db_id, annotation): db.set_comment(db_id, mi.comments) # Add bookmark file to db_id - db.add_format_with_hooks(db_id, bm.value.bookmark_extension, - bm.value.path, index_is_id=True) + # NOTE: As it is, this copied the book from the device back to the library. That meant it replaced the + # existing file. Taking this out for that reason, but some books have a ANNOT file that could be + # copied. +# db.add_format_with_hooks(db_id, bm.value.bookmark_extension, +# bm.value.path, index_is_id=True) class KOBOTOUCH(KOBO): name = 'KoboTouch' - gui_name = 'Kobo Touch' + gui_name = 'Kobo Touch/Glo/Mini/Aura HD' author = 'David Forrester' - description = 'Communicate with the Kobo Touch, Glo and Mini firmware. Based on the existing Kobo driver by %s.' % (KOBO.author) + description = 'Communicate with the Kobo Touch, Glo, Mini and Aura HD ereaders. Based on the existing Kobo driver by %s.' % (KOBO.author) # icon = I('devices/kobotouch.jpg') - supported_dbversion = 75 - min_supported_dbversion = 53 - min_dbversion_series = 65 - min_dbversion_archive = 71 + supported_dbversion = 80 + min_supported_dbversion = 53 + min_dbversion_series = 65 + min_dbversion_archive = 71 + min_dbversion_images_on_sdcard = 77 + + max_supported_fwversion = (2,5,1) + min_fwversion_images_on_sdcard = (2,4,1) + + has_kepubs = True booklist_class = KTCollectionsBookList book_class = Book @@ -1291,12 +1300,13 @@ class KOBOTOUCH(KOBO): TIMESTAMP_STRING = "%Y-%m-%dT%H:%M:%SZ" - GLO_PRODUCT_ID = [0x4173] - MINI_PRODUCT_ID = [0x4183] - TOUCH_PRODUCT_ID = [0x4163] - PRODUCT_ID = GLO_PRODUCT_ID + MINI_PRODUCT_ID + TOUCH_PRODUCT_ID + AURA_HD_PRODUCT_ID = [0x4193] + GLO_PRODUCT_ID = [0x4173] + MINI_PRODUCT_ID = [0x4183] + TOUCH_PRODUCT_ID = [0x4163] + PRODUCT_ID = AURA_HD_PRODUCT_ID + GLO_PRODUCT_ID + MINI_PRODUCT_ID + TOUCH_PRODUCT_ID - BCD = [0x0110, 0x0326] + BCD = [0x0110, 0x0326] # Image file name endings. Made up of: image size, min_dbversion, max_dbversion, COVER_FILE_ENDINGS = { @@ -1313,6 +1323,11 @@ class KOBOTOUCH(KOBO): # ' - N3_LIBRARY_LIST.parsed':[(60,90),0, 53,], # ' - N3_LIBRARY_SHELF.parsed': [(40,60),0, 52,], } + AURA_HD_COVER_FILE_ENDINGS = { + ' - N3_FULL.parsed': [(1080,1440), 0, 99,True,], # Used for screensaver, home screen + ' - N3_LIBRARY_FULL.parsed':[(355, 471), 0, 99,False,], # Used for Details screen + ' - N3_LIBRARY_GRID.parsed':[(149, 198), 0, 99,False,], # Used for library lists + } #Following are the sizes used with pre2.1.4 firmware # COVER_FILE_ENDINGS = { # ' - N3_LIBRARY_FULL.parsed':[(355,530),0, 99,], # Used for Details screen @@ -1328,6 +1343,10 @@ def initialize(self): super(KOBOTOUCH, self).initialize() self.bookshelvelist = [] + def get_device_information(self, end_session=True): + self.set_device_name() + return super(KOBOTOUCH, self).get_device_information(end_session) + def books(self, oncard=None, end_session=True): debug_print("KoboTouch:books - oncard='%s'"%oncard) from calibre.ebooks.metadata.meta import path_to_ext @@ -1350,18 +1369,17 @@ def books(self, oncard=None, end_session=True): prefix = self._card_a_prefix if oncard == 'carda' else \ self._card_b_prefix if oncard == 'cardb' \ else self._main_prefix - debug_print("KoboTouch:books - prefix='%s'"%oncard) + debug_print("KoboTouch:books - oncard='%s', prefix='%s'"%(oncard, prefix)) # Determine the firmware version try: - with open(self.normalize_path(self._main_prefix + '.kobo/version'), - 'rb') as f: + with open(self.normalize_path(self._main_prefix + '.kobo/version'), 'rb') as f: self.fwversion = f.readline().split(',')[2] + self.fwversion = tuple((int(x) for x in self.fwversion.split('.'))) except: - self.fwversion = 'unknown' + self.fwversion = (0,0,0) - if self.fwversion != '1.0' and self.fwversion != '1.4': - self.has_kepubs = True + debug_print('Kobo device: %s' % self.gui_name) debug_print('Version of driver:', self.version, 'Has kepubs:', self.has_kepubs) debug_print('Version of firmware:', self.fwversion, 'Has kepubs:', self.has_kepubs) @@ -1374,7 +1392,7 @@ def books(self, oncard=None, end_session=True): debug_print(opts.extra_customization) if opts.extra_customization: debugging_title = opts.extra_customization[self.OPT_DEBUGGING_TITLE] - debug_print("KoboTouch:books - set_debugging_title to", debugging_title ) + debug_print("KoboTouch:books - set_debugging_title to '%s'" % debugging_title ) bl.set_debugging_title(debugging_title) debug_print("KoboTouch:books - length bl=%d"%len(bl)) need_sync = self.parse_metadata_cache(bl, prefix, self.METADATA_CACHE) @@ -1466,6 +1484,7 @@ def update_booklist(prefix, path, title, authors, mime, date, ContentID, Content if show_debug: self.debug_index = idx debug_print("KoboTouch:update_booklist - idx=%d"%idx) + debug_print("KoboTouch:update_booklist - lpath=%s"%lpath) debug_print('KoboTouch:update_booklist - bl[idx].device_collections=', bl[idx].device_collections) debug_print('KoboTouch:update_booklist - playlist_map=', playlist_map) debug_print('KoboTouch:update_booklist - bookshelves=', bookshelves) @@ -1477,7 +1496,7 @@ def update_booklist(prefix, path, title, authors, mime, date, ContentID, Content bl_cache[lpath] = None if ImageID is not None: - imagename = self.imagefilename_from_imageID(ImageID) + imagename = self.imagefilename_from_imageID(prefix, ImageID) if imagename is not None: bl[idx].thumbnail = ImageWrapper(imagename) if (ContentType == '6' and MimeType != 'application/x-kobo-epub+zip'): @@ -1717,12 +1736,14 @@ def get_bookshelvesforbook(connection, ContentID): debug_print("KoboTouch:books - end - oncard='%s'"%oncard) return bl - def imagefilename_from_imageID(self, ImageID): + def imagefilename_from_imageID(self, prefix, ImageID): show_debug = self.is_debugging_title(ImageID) + path = self.images_path(prefix) + path = self.normalize_path(path.replace('/', os.sep)) + for ending, cover_options in self.cover_file_endings().items(): - fpath = self._main_prefix + '.kobo/images/' + ImageID + ending - fpath = self.normalize_path(fpath.replace('/', os.sep)) + fpath = path + ImageID + ending if os.path.exists(fpath): if show_debug: debug_print("KoboTouch:imagefilename_from_imageID - have cover image fpath=%s" % (fpath)) @@ -1764,7 +1785,7 @@ def upload_books(self, files, names, on_card=None, end_session=True, if not self.copying_covers(): imageID = self.imageid_from_contentid(contentID) - self.delete_images(imageID) + self.delete_images(imageID, fname) connection.commit() cursor.close() @@ -1821,11 +1842,11 @@ def delete_via_sql(self, ContentID, ContentType): return imageId - def delete_images(self, ImageID): + def delete_images(self, ImageID, book_path): debug_print("KoboTouch:delete_images - ImageID=", ImageID) if ImageID != None: - path_prefix = '.kobo/images/' - path = self._main_prefix + path_prefix + ImageID + path = self.images_path(book_path) + path = path + ImageID for ending in self.cover_file_endings().keys(): fpath = path + ending @@ -1872,12 +1893,14 @@ def contentid_from_path(self, path, ContentType): def get_content_type_from_extension(self, extension): debug_print("KoboTouch:get_content_type_from_extension - start") # With new firmware, ContentType appears to be 6 for all types of sideloaded books. - if self.fwversion.startswith('2.'): + if self.fwversion >= (1,9,17) or extension == '.kobo' or extension == '.mobi': debug_print("KoboTouch:get_content_type_from_extension - V2 firmware") ContentType = 6 + # For older firmware, it depends on the type of file. + elif extension == '.kobo' or extension == '.mobi': + ContentType = 6 else: - debug_print("KoboTouch:get_content_type_from_extension - calling super") - ContentType = super(KOBOTOUCH, self).get_content_type_from_extension(extension) + ContentType = 901 return ContentType def update_device_database_collections(self, booklists, collections_attributes, oncard): @@ -1920,7 +1943,7 @@ def update_device_database_collections(self, booklists, collections_attributes, delete_empty_shelves = opts.extra_customization[self.OPT_DELETE_BOOKSHELVES] and self.supports_bookshelves() update_series_details = opts.extra_customization[self.OPT_UPDATE_SERIES_DETAILS] and self.supports_series() debugging_title = opts.extra_customization[self.OPT_DEBUGGING_TITLE] - debug_print("KoboTouch:update_device_database_collections - set_debugging_title to", debugging_title ) + debug_print("KoboTouch:update_device_database_collections - set_debugging_title to '%s'" % debugging_title ) booklists.set_debugging_title(debugging_title) else: delete_empty_shelves = False @@ -2080,7 +2103,8 @@ def upload_cover(self, path, filename, metadata, filepath): :param filepath: The full path to the ebook file ''' -# debug_print("KoboTouch:upload_cover - path='%s' filename='%s'"%(path, filename)) + debug_print("KoboTouch:upload_cover - path='%s' filename='%s' "%(path, filename)) + debug_print(" filepath='%s' "%(filepath)) opts = self.settings() if not self.copying_covers(): @@ -2088,8 +2112,8 @@ def upload_cover(self, path, filename, metadata, filepath): # debug_print('KoboTouch: not uploading cover') return - # Don't upload covers if book is on the SD card - if self._card_a_prefix and path.startswith(self._card_a_prefix): + # Only upload covers to SD card if that is supported + if self._card_a_prefix and os.path.abspath(path).startswith(os.path.abspath(self._card_a_prefix)) and not self.supports_covers_on_sdcard(): return if not opts.extra_customization[self.OPT_UPLOAD_GRAYSCALE_COVERS]: @@ -2111,6 +2135,17 @@ def imageid_from_contentid(self, ContentID): ImageID = ImageID.replace('.', '_') return ImageID + + def images_path(self, path): + if self._card_a_prefix and os.path.abspath(path).startswith(os.path.abspath(self._card_a_prefix)) and self.supports_covers_on_sdcard(): + path_prefix = 'koboExtStorage/images/' + path = os.path.join(self._card_a_prefix, path_prefix) + else: + path_prefix = '.kobo/images/' + path = os.path.join(self._main_prefix, path_prefix) + + return path + def _upload_cover(self, path, filename, metadata, filepath, uploadgrayscale, keep_cover_aspect=False): from calibre.utils.magick.draw import save_cover_data_to, identify_data debug_print("KoboTouch:_upload_cover - filename='%s' uploadgrayscale='%s' "%(filename, uploadgrayscale)) @@ -2151,11 +2186,16 @@ def _upload_cover(self, path, filename, metadata, filepath, uploadgrayscale, kee cursor.close() if ImageID != None: - path_prefix = '.kobo/images/' - path = self._main_prefix + path_prefix + ImageID + path = os.path.join(self.images_path(path), ImageID) + if show_debug: debug_print("KoboTouch:_upload_cover - About to loop over cover endings") + image_dir = os.path.dirname(os.path.abspath(path)) + if not os.path.exists(image_dir): + debug_print("KoboTouch:_upload_cover - Image directory does not exust. Creating path='%s'" % (image_dir)) + os.makedirs(image_dir) + for ending, cover_options in self.cover_file_endings().items(): resize, min_dbversion, max_dbversion, isFullsize = cover_options if show_debug: @@ -2496,6 +2536,8 @@ def settings(cls): return opts + def isAuraHD(self): + return self.detected_device.idProduct in self.AURA_HD_PRODUCT_ID def isGlo(self): return self.detected_device.idProduct in self.GLO_PRODUCT_ID def isMini(self): @@ -2504,7 +2546,21 @@ def isTouch(self): return self.detected_device.idProduct in self.TOUCH_PRODUCT_ID def cover_file_endings(self): - return self.GLO_COVER_FILE_ENDINGS if self.isGlo() else self.COVER_FILE_ENDINGS + return self.GLO_COVER_FILE_ENDINGS if self.isGlo() else self.AURA_HD_COVER_FILE_ENDINGS if self.isAuraHD() else self.COVER_FILE_ENDINGS + + def set_device_name(self): + device_name = self.gui_name + if self.isAuraHD(): + device_name = 'Kobo Aura HD' + elif self.isGlo(): + device_name = 'Kobo Glo' + elif self.isMini(): + device_name = 'Kobo Mini' + elif self.isTouch(): + device_name = 'Kobo Touch' + self.__class__.gui_name = device_name + return device_name + def copying_covers(self): opts = self.settings() @@ -2524,6 +2580,44 @@ def supports_series(self): def supports_kobo_archive(self): return self.dbversion >= self.min_dbversion_archive + def supports_covers_on_sdcard(self): + return self.dbversion >= 77 and self.fwversion >= self.min_fwversion_images_on_sdcard + + def modify_database_check(self, function): + # Checks to see whether the database version is supported + # and whether the user has chosen to support the firmware version +# debug_print("KoboTouch:modify_database_check - self.fwversion <= self.max_supported_fwversion=", self.fwversion > self.max_supported_fwversion) + if self.dbversion > self.supported_dbversion or self.fwversion > self.max_supported_fwversion: + # Unsupported database + opts = self.settings() + if not opts.extra_customization[self.OPT_SUPPORT_NEWER_FIRMWARE]: + debug_print('The database has been upgraded past supported version') + self.report_progress(1.0, _('Removing books from device...')) + from calibre.devices.errors import UserFeedback + raise UserFeedback(_("Kobo database version unsupported - See details"), + _('Your Kobo is running an updated firmware/database version.' + ' As calibre does not know about this updated firmware,' + ' database editing is disabled, to prevent corruption.' + ' You can still send books to your Kobo with calibre, ' + ' but deleting books and managing collections is disabled.' + ' If you are willing to experiment and know how to reset' + ' your Kobo to Factory defaults, you can override this' + ' check by right clicking the device icon in calibre and' + ' selecting "Configure this device" and then the ' + ' "Attempt to support newer firmware" option.' + ' Doing so may require you to perform a factory reset of' + ' your Kobo.' + ), + UserFeedback.WARN) + + return False + else: + # The user chose to edit the database anyway + return True + else: + # Supported database version + return True + @classmethod def is_debugging_title(cls, title): diff --git a/src/calibre/devices/misc.py b/src/calibre/devices/misc.py index f033fb9a2f..4a2e6aa864 100644 --- a/src/calibre/devices/misc.py +++ b/src/calibre/devices/misc.py @@ -95,7 +95,6 @@ class PDNOVEL(USBMS): SUPPORTS_SUB_DIRS = False DELETE_EXTS = ['.jpg', '.jpeg', '.png'] - def upload_cover(self, path, filename, metadata, filepath): coverdata = getattr(metadata, 'thumbnail', None) if coverdata and coverdata[2]: @@ -226,9 +225,9 @@ class TREKSTOR(USBMS): VENDOR_ID = [0x1e68] PRODUCT_ID = [0x0041, 0x0042, 0x0052, 0x004e, 0x0056, - 0x0067, # This is for the Pyrus Mini - 0x003e, # This is for the EBOOK_PLAYER_5M https://bugs.launchpad.net/bugs/792091 - 0x5cL, # This is for the 4ink http://www.mobileread.com/forums/showthread.php?t=191318 + 0x0067, # This is for the Pyrus Mini + 0x003e, # This is for the EBOOK_PLAYER_5M https://bugs.launchpad.net/bugs/792091 + 0x5cL, # This is for the 4ink http://www.mobileread.com/forums/showthread.php?t=191318 ] BCD = [0x0002, 0x100] @@ -427,8 +426,8 @@ class WAYTEQ(USBMS): EBOOK_DIR_MAIN = 'Documents' SCAN_FROM_ROOT = True - VENDOR_NAME = 'ROCKCHIP' - WINDOWS_MAIN_MEM = WINDOWS_CARD_A_MEM = 'RK28_SDK_DEMO' + VENDOR_NAME = ['ROCKCHIP', 'CBR'] + WINDOWS_MAIN_MEM = WINDOWS_CARD_A_MEM = ['RK28_SDK_DEMO', 'EINK_EBOOK_READE'] SUPPORTS_SUB_DIRS = True def get_gui_name(self): @@ -445,7 +444,8 @@ def get_carda_ebook_dir(self, for_upload=False): return self.EBOOK_DIR_CARD_A def windows_sort_drives(self, drives): - if len(drives) < 2: return drives + if len(drives) < 2: + return drives main = drives.get('main', None) carda = drives.get('carda', None) if main and carda: @@ -455,7 +455,8 @@ def windows_sort_drives(self, drives): def linux_swap_drives(self, drives): # See https://bugs.launchpad.net/bugs/1151901 - if len(drives) < 2 or not drives[1] or not drives[2]: return drives + if len(drives) < 2 or not drives[1] or not drives[2]: + return drives drives = list(drives) t = drives[0] drives[0] = drives[1] @@ -463,7 +464,8 @@ def linux_swap_drives(self, drives): return tuple(drives) def osx_sort_names(self, names): - if len(names) < 2: return names + if len(names) < 2: + return names main = names.get('main', None) card = names.get('carda', None) diff --git a/src/calibre/devices/mtp/driver.py b/src/calibre/devices/mtp/driver.py index b1850c9e49..f0e532639a 100644 --- a/src/calibre/devices/mtp/driver.py +++ b/src/calibre/devices/mtp/driver.py @@ -17,8 +17,6 @@ from calibre.devices.mtp.base import debug from calibre.devices.mtp.defaults import DeviceDefaults from calibre.ptempfile import SpooledTemporaryFile, PersistentTemporaryDirectory -from calibre.utils.config import from_json, to_json, JSONConfig -from calibre.utils.date import now, isoformat, utcnow from calibre.utils.filenames import shorten_components_to BASE = importlib.import_module('calibre.devices.mtp.%s.driver'%( @@ -57,6 +55,7 @@ def __init__(self, *args, **kwargs): @property def prefs(self): + from calibre.utils.config import JSONConfig if self._prefs is None: self._prefs = p = JSONConfig('mtp_devices') p.defaults['format_map'] = self.FORMATS @@ -103,6 +102,7 @@ def configure_for_generic_epub_app(self): del self.prefs[x] def open(self, device, library_uuid): + from calibre.utils.date import isoformat, utcnow self.current_library_uuid = library_uuid self.location_paths = None self.driveinfo = {} @@ -128,6 +128,8 @@ def ignore_connected_device(self, uid): # Device information {{{ def _update_drive_info(self, storage, location_code, name=None): + from calibre.utils.date import isoformat, now + from calibre.utils.config import from_json, to_json import uuid f = storage.find_path((self.DRIVEINFO,)) dinfo = {} diff --git a/src/calibre/devices/prs505/driver.py b/src/calibre/devices/prs505/driver.py index 3ba3fcf50f..a1c7c78d18 100644 --- a/src/calibre/devices/prs505/driver.py +++ b/src/calibre/devices/prs505/driver.py @@ -11,7 +11,6 @@ from calibre.devices.usbms.driver import USBMS, debug_print from calibre.devices.prs505 import MEDIA_XML, MEDIA_EXT, CACHE_XML, CACHE_EXT, \ MEDIA_THUMBNAIL, CACHE_THUMBNAIL -from calibre.devices.prs505.sony_cache import XMLCache from calibre import __appname__, prints from calibre.devices.usbms.books import CollectionsBookList @@ -178,6 +177,7 @@ def filename_callback(self, fname, mi): return fname def initialize_XML_cache(self): + from calibre.devices.prs505.sony_cache import XMLCache paths, prefixes, ext_paths = {}, {}, {} for prefix, path, ext_path, source_id in [ ('main', MEDIA_XML, MEDIA_EXT, 0), diff --git a/src/calibre/devices/smart_device_app/driver.py b/src/calibre/devices/smart_device_app/driver.py index da400370ea..6187f94b31 100644 --- a/src/calibre/devices/smart_device_app/driver.py +++ b/src/calibre/devices/smart_device_app/driver.py @@ -7,7 +7,7 @@ @author: charles ''' -import socket, select, json, inspect, os, traceback, time, sys, random +import socket, select, json, os, traceback, time, sys, random import posixpath import hashlib, threading import Queue @@ -34,8 +34,7 @@ from calibre.library.server import server_config as content_server_config from calibre.ptempfile import PersistentTemporaryFile from calibre.utils.ipc import eintr_retry_call -from calibre.utils.config import from_json, tweaks -from calibre.utils.date import isoformat, now +from calibre.utils.config_base import tweaks from calibre.utils.filenames import ascii_filename as sanitize, shorten_components_to from calibre.utils.mdns import (publish as publish_zeroconf, unpublish as unpublish_zeroconf, get_all_ips) @@ -345,6 +344,7 @@ def __init__(self, path): def _debug(self, *args): # manual synchronization so we don't lose the calling method name + import inspect with self.sync_lock: if not DEBUG: return @@ -373,6 +373,7 @@ def _debug(self, *args): # copied from USBMS. Perhaps this could be a classmethod in usbms? def _update_driveinfo_record(self, dinfo, prefix, location_code, name=None): + from calibre.utils.date import isoformat, now import uuid if not isinstance(dinfo, dict): dinfo = {} @@ -593,6 +594,7 @@ def _call_client(self, op, arg, print_debug_info=True, wait_for_response=True): raise ControlError(desc='Device responded with incorrect information') def _receive_from_client(self, print_debug_info=True): + from calibre.utils.config import from_json extra_debug = self.settings().extra_customization[self.OPT_EXTRA_DEBUG] try: v = self._read_string_from_net() @@ -816,6 +818,7 @@ def is_usb_connected(self, devices_on_system, debug=False, only_presence=False): @synchronous('sync_lock') def open(self, connected_device, library_uuid): + from calibre.utils.date import isoformat, now self._debug() if not self.is_connected: # We have been called to retry the connection. Give up immediately diff --git a/src/calibre/devices/teclast/driver.py b/src/calibre/devices/teclast/driver.py index acd20308ad..95d8c3cf3f 100644 --- a/src/calibre/devices/teclast/driver.py +++ b/src/calibre/devices/teclast/driver.py @@ -58,8 +58,8 @@ class PICO(NEWSMY): gui_name = 'Pico' description = _('Communicate with the Pico reader.') - VENDOR_NAME = ['TECLAST', 'IMAGIN', 'LASER-', ''] - WINDOWS_MAIN_MEM = ['USBDISK__USER', 'EB720'] + VENDOR_NAME = ['TECLAST', 'IMAGIN', 'LASER-', 'LASER', ''] + WINDOWS_MAIN_MEM = WINDOWS_CARD_A_MEM = ['USBDISK__USER', 'EB720', 'EBOOK-EB720'] EBOOK_DIR_MAIN = 'Books' FORMATS = ['EPUB', 'FB2', 'TXT', 'LRC', 'PDB', 'PDF', 'HTML', 'WTXT'] SCAN_FROM_ROOT = True diff --git a/src/calibre/devices/usbms/books.py b/src/calibre/devices/usbms/books.py index 97527a92ed..bbbb3938ac 100644 --- a/src/calibre/devices/usbms/books.py +++ b/src/calibre/devices/usbms/books.py @@ -12,9 +12,8 @@ from calibre.devices.interface import BookList as _BookList from calibre.constants import preferred_encoding from calibre import isbytestring, force_unicode -from calibre.utils.config import device_prefs, tweaks +from calibre.utils.config_base import tweaks from calibre.utils.icu import sort_key -from calibre.utils.formatter import EvalFormatter class Book(Metadata): def __init__(self, prefix, lpath, size=None, other=None): @@ -109,6 +108,7 @@ def in_category_sort_rules(self, attr): return None def compute_category_name(self, field_key, field_value, field_meta): + from calibre.utils.formatter import EvalFormatter renames = tweaks['sony_collection_renaming_rules'] field_name = renames.get(field_key, None) if field_name is None: @@ -124,6 +124,7 @@ def compute_category_name(self, field_key, field_value, field_meta): def get_collections(self, collection_attributes): from calibre.devices.usbms.driver import debug_print + from calibre.utils.config import device_prefs debug_print('Starting get_collections:', device_prefs['manage_device_metadata']) debug_print('Renaming rules:', tweaks['sony_collection_renaming_rules']) debug_print('Formatting template:', tweaks['sony_collection_name_template']) diff --git a/src/calibre/devices/usbms/deviceconfig.py b/src/calibre/devices/usbms/deviceconfig.py index 2aac9fb769..b2eadd7461 100644 --- a/src/calibre/devices/usbms/deviceconfig.py +++ b/src/calibre/devices/usbms/deviceconfig.py @@ -4,7 +4,7 @@ __copyright__ = '2009, John Schember ' __docformat__ = 'restructuredtext en' -from calibre.utils.config import Config, ConfigProxy +from calibre.utils.config_base import Config, ConfigProxy class DeviceConfig(object): diff --git a/src/calibre/devices/usbms/driver.py b/src/calibre/devices/usbms/driver.py index 5ade700b7f..f367e549e2 100644 --- a/src/calibre/devices/usbms/driver.py +++ b/src/calibre/devices/usbms/driver.py @@ -20,8 +20,6 @@ from calibre.devices.usbms.device import Device from calibre.devices.usbms.books import BookList, Book from calibre.ebooks.metadata.book.json_codec import JsonCodec -from calibre.utils.config import from_json, to_json -from calibre.utils.date import now, isoformat BASE_TIME = None def debug_print(*args): @@ -58,6 +56,7 @@ class USBMS(CLI, Device): SCAN_FROM_ROOT = False def _update_driveinfo_record(self, dinfo, prefix, location_code, name=None): + from calibre.utils.date import now, isoformat import uuid if not isinstance(dinfo, dict): dinfo = {} @@ -75,6 +74,7 @@ def _update_driveinfo_record(self, dinfo, prefix, location_code, name=None): return dinfo def _update_driveinfo_file(self, prefix, location_code, name=None): + from calibre.utils.config import from_json, to_json if os.path.exists(os.path.join(prefix, self.DRIVEINFO)): with open(os.path.join(prefix, self.DRIVEINFO), 'rb') as f: try: diff --git a/src/calibre/ebooks/conversion/plugins/epub_input.py b/src/calibre/ebooks/conversion/plugins/epub_input.py index b602ac9cd0..5ccf00c643 100644 --- a/src/calibre/ebooks/conversion/plugins/epub_input.py +++ b/src/calibre/ebooks/conversion/plugins/epub_input.py @@ -188,7 +188,6 @@ def convert(self, stream, options, file_ext, log, accelerators): raise DRMError(os.path.basename(path)) self.encrypted_fonts = self._encrypted_font_uris - if len(parts) > 1 and parts[0]: delta = '/'.join(parts[:-1])+'/' for elem in opf.itermanifest(): @@ -207,9 +206,11 @@ def convert(self, stream, options, file_ext, log, accelerators): not_for_spine = set() for y in opf.itermanifest(): id_ = y.get('id', None) - if id_ and y.get('media-type', None) in \ - ('application/vnd.adobe-page-template+xml','application/text'): - not_for_spine.add(id_) + if id_ and y.get('media-type', None) in { + 'application/vnd.adobe-page-template+xml', 'application/vnd.adobe.page-template+xml', + 'application/adobe-page-template+xml', 'application/adobe.page-template+xml', + 'application/text'}: + not_for_spine.add(id_) seen = set() for x in list(opf.iterspine()): diff --git a/src/calibre/ebooks/conversion/plugins/html_input.py b/src/calibre/ebooks/conversion/plugins/html_input.py index 558b4636b4..676a82cd3e 100644 --- a/src/calibre/ebooks/conversion/plugins/html_input.py +++ b/src/calibre/ebooks/conversion/plugins/html_input.py @@ -10,7 +10,6 @@ import re, tempfile, os from functools import partial from itertools import izip -from urllib import quote from calibre.constants import islinux, isbsd from calibre.customize.conversion import (InputFormatPlugin, @@ -223,6 +222,7 @@ def link_to_local_path(self, link_, base=None): return link, frag def resource_adder(self, link_, base=None): + from urllib import quote link, frag = self.link_to_local_path(link_, base=base) if link is None: return link_ diff --git a/src/calibre/ebooks/conversion/plugins/html_output.py b/src/calibre/ebooks/conversion/plugins/html_output.py index 3821ba41a4..68d32d1aec 100644 --- a/src/calibre/ebooks/conversion/plugins/html_output.py +++ b/src/calibre/ebooks/conversion/plugins/html_output.py @@ -4,12 +4,15 @@ __docformat__ = 'restructuredtext en' import os, re, shutil -from os.path import dirname, abspath, relpath, exists, basename +from os.path import dirname, abspath, relpath as _relpath, exists, basename from calibre.customize.conversion import OutputFormatPlugin, OptionRecommendation from calibre import CurrentDir from calibre.ptempfile import PersistentTemporaryDirectory +def relpath(*args): + return _relpath(*args).replace(os.sep, '/') + class HTMLOutput(OutputFormatPlugin): name = 'HTML Output' diff --git a/src/calibre/ebooks/conversion/plugins/pml_input.py b/src/calibre/ebooks/conversion/plugins/pml_input.py index 63e22271f6..b61ac2116c 100644 --- a/src/calibre/ebooks/conversion/plugins/pml_input.py +++ b/src/calibre/ebooks/conversion/plugins/pml_input.py @@ -10,7 +10,6 @@ from calibre.customize.conversion import InputFormatPlugin from calibre.ptempfile import TemporaryDirectory -from calibre.utils.zipfile import ZipFile class PMLInput(InputFormatPlugin): @@ -86,6 +85,7 @@ def convert(self, stream, options, file_ext, log, accelerators): from calibre.ebooks.metadata.toc import TOC from calibre.ebooks.metadata.opf2 import OPFCreator + from calibre.utils.zipfile import ZipFile self.options = options self.log = log diff --git a/src/calibre/ebooks/conversion/plugins/txt_input.py b/src/calibre/ebooks/conversion/plugins/txt_input.py index 50f1409ea6..046b362ae7 100644 --- a/src/calibre/ebooks/conversion/plugins/txt_input.py +++ b/src/calibre/ebooks/conversion/plugins/txt_input.py @@ -63,7 +63,6 @@ def convert(self, stream, options, file_ext, log, normalize_line_endings, convert_textile, remove_indents, block_to_single_line, separate_hard_scene_breaks) - self.log = log txt = '' log.debug('Reading text from file...') @@ -92,6 +91,12 @@ def convert(self, stream, options, file_ext, log, log.debug('Using user specified input encoding of %s' % ienc) else: det_encoding = detect(txt) + if det_encoding and det_encoding.lower().replace('_', '-').strip() in ( + 'gb2312', 'chinese', 'csiso58gb231280', 'euc-cn', 'euccn', + 'eucgb2312-cn', 'gb2312-1980', 'gb2312-80', 'iso-ir-58'): + # Microsoft Word exports to HTML with encoding incorrectly set to + # gb2312 instead of gbk. gbk is a superset of gb2312, anyway. + det_encoding = 'gbk' ienc = det_encoding['encoding'] log.debug('Detected input encoding as %s with a confidence of %s%%' % (ienc, det_encoding['confidence'] * 100)) if not ienc: diff --git a/src/calibre/ebooks/docx/__init__.py b/src/calibre/ebooks/docx/__init__.py new file mode 100644 index 0000000000..f8bda2506d --- /dev/null +++ b/src/calibre/ebooks/docx/__init__.py @@ -0,0 +1,11 @@ +#!/usr/bin/env python +# vim:fileencoding=utf-8 +from __future__ import (unicode_literals, division, absolute_import, + print_function) + +__license__ = 'GPL v3' +__copyright__ = '2013, Kovid Goyal ' + +class InvalidDOCX(ValueError): + pass + diff --git a/src/calibre/ebooks/docx/container.py b/src/calibre/ebooks/docx/container.py new file mode 100644 index 0000000000..ec0decacef --- /dev/null +++ b/src/calibre/ebooks/docx/container.py @@ -0,0 +1,231 @@ +#!/usr/bin/env python +# vim:fileencoding=utf-8 +from __future__ import (unicode_literals, division, absolute_import, + print_function) + +__license__ = 'GPL v3' +__copyright__ = '2013, Kovid Goyal ' + +import os, sys, shutil + +from lxml import etree + +from calibre import walk, guess_type +from calibre.ebooks.metadata import string_to_authors +from calibre.ebooks.metadata.book.base import Metadata +from calibre.ebooks.docx import InvalidDOCX +from calibre.ebooks.docx.names import DOCUMENT, DOCPROPS, XPath, APPPROPS +from calibre.ptempfile import PersistentTemporaryDirectory +from calibre.utils.localization import canonicalize_lang +from calibre.utils.logging import default_log +from calibre.utils.zipfile import ZipFile +from calibre.ebooks.oeb.parse_utils import RECOVER_PARSER + +def fromstring(raw, parser=RECOVER_PARSER): + return etree.fromstring(raw, parser=parser) + +# Read metadata {{{ +def read_doc_props(raw, mi): + root = fromstring(raw) + titles = XPath('//dc:title')(root) + if titles: + title = titles[0].text + if title and title.strip(): + mi.title = title.strip() + tags = [] + for subject in XPath('//dc:subject')(root): + if subject.text and subject.text.strip(): + tags.append(subject.text.strip().replace(',', '_')) + for keywords in XPath('//cp:keywords')(root): + if keywords.text and keywords.text.strip(): + for x in keywords.text.split(): + tags.extend(y.strip() for y in x.split(',')) + if tags: + mi.tags = tags + authors = XPath('//dc:creator')(root) + aut = [] + for author in authors: + if author.text and author.text.strip(): + aut.extend(string_to_authors(author.text)) + if aut: + mi.authors = aut + + desc = XPath('//dc:description')(root) + if desc: + raw = etree.tostring(desc[0], method='text', encoding=unicode) + mi.comments = raw + + langs = [] + for lang in XPath('//dc:language')(root): + if lang.text and lang.text.strip(): + l = canonicalize_lang(lang.text) + if l: + langs.append(l) + if langs: + mi.languages = langs + +def read_app_props(raw, mi): + root = fromstring(raw) + company = root.xpath('//*[local-name()="Company"]') + if company and company[0].text and company[0].text.strip(): + mi.publisher = company[0].text.strip() +# }}} + +class DOCX(object): + + def __init__(self, path_or_stream, log=None, extract=True): + stream = path_or_stream if hasattr(path_or_stream, 'read') else open(path_or_stream, 'rb') + self.name = getattr(stream, 'name', None) or '' + self.log = log or default_log + if extract: + self.extract(stream) + else: + self.init_zipfile(stream) + self.read_content_types() + self.read_package_relationships() + + def init_zipfile(self, stream): + self.zipf = ZipFile(stream) + self.names = frozenset(self.zipf.namelist()) + + def extract(self, stream): + self.tdir = PersistentTemporaryDirectory('docx_container') + try: + zf = ZipFile(stream) + zf.extractall(self.tdir) + except: + self.log.exception('DOCX appears to be invalid ZIP file, trying a' + ' more forgiving ZIP parser') + from calibre.utils.localunzip import extractall + stream.seek(0) + extractall(stream, self.tdir) + + self.names = {} + for f in walk(self.tdir): + name = os.path.relpath(f, self.tdir).replace(os.sep, '/') + self.names[name] = f + + def exists(self, name): + return name in self.names + + def read(self, name): + if hasattr(self, 'zipf'): + return self.zipf.open(name).read() + path = self.names[name] + with open(path, 'rb') as f: + return f.read() + + def read_content_types(self): + try: + raw = self.read('[Content_Types].xml') + except KeyError: + raise InvalidDOCX('The file %s docx file has no [Content_Types].xml' % self.name) + root = fromstring(raw) + self.content_types = {} + self.default_content_types = {} + for item in root.xpath('//*[local-name()="Types"]/*[local-name()="Default" and @Extension and @ContentType]'): + self.default_content_types[item.get('Extension').lower()] = item.get('ContentType') + for item in root.xpath('//*[local-name()="Types"]/*[local-name()="Override" and @PartName and @ContentType]'): + name = item.get('PartName').lstrip('/') + self.content_types[name] = item.get('ContentType') + + def content_type(self, name): + if name in self.content_types: + return self.content_types[name] + ext = name.rpartition('.')[-1].lower() + if ext in self.default_content_types: + return self.default_content_types[ext] + return guess_type(name)[0] + + def read_package_relationships(self): + try: + raw = self.read('_rels/.rels') + except KeyError: + raise InvalidDOCX('The file %s docx file has no _rels/.rels' % self.name) + root = fromstring(raw) + self.relationships = {} + self.relationships_rmap = {} + for item in root.xpath('//*[local-name()="Relationships"]/*[local-name()="Relationship" and @Type and @Target]'): + target = item.get('Target').lstrip('/') + typ = item.get('Type') + self.relationships[typ] = target + self.relationships_rmap[target] = typ + + @property + def document_name(self): + name = self.relationships.get(DOCUMENT, None) + if name is None: + names = tuple(n for n in self.names if n == 'document.xml' or n.endswith('/document.xml')) + if not names: + raise InvalidDOCX('The file %s docx file has no main document' % self.name) + name = names[0] + return name + + @property + def document(self): + return fromstring(self.read(self.document_name)) + + @property + def document_relationships(self): + name = self.document_name + base = '/'.join(name.split('/')[:-1]) + by_id, by_type = {}, {} + parts = name.split('/') + name = '/'.join(parts[:-1] + ['_rels', parts[-1] + '.rels']) + try: + raw = self.read(name) + except KeyError: + pass + else: + root = fromstring(raw) + for item in root.xpath('//*[local-name()="Relationships"]/*[local-name()="Relationship" and @Type and @Target]'): + target = '/'.join((base, item.get('Target').lstrip('/'))) + typ = item.get('Type') + Id = item.get('Id') + by_id[Id] = by_type[typ] = target + + return by_id, by_type + + @property + def metadata(self): + mi = Metadata(_('Unknown')) + name = self.relationships.get(DOCPROPS, None) + if name is None: + names = tuple(n for n in self.names if n.lower() == 'docprops/core.xml') + if names: + name = names[0] + if name: + try: + raw = self.read(name) + except KeyError: + pass + else: + read_doc_props(raw, mi) + + name = self.relationships.get(APPPROPS, None) + if name is None: + names = tuple(n for n in self.names if n.lower() == 'docprops/app.xml') + if names: + name = names[0] + if name: + try: + raw = self.read(name) + except KeyError: + pass + else: + read_app_props(raw, mi) + + return mi + + def close(self): + if hasattr(self, 'zipf'): + self.zipf.close() + else: + try: + shutil.rmtree(self.tdir) + except EnvironmentError: + pass + +if __name__ == '__main__': + d = DOCX(sys.argv[-1], extract=False) + print (d.metadata) diff --git a/src/calibre/ebooks/docx/names.py b/src/calibre/ebooks/docx/names.py new file mode 100644 index 0000000000..2b5dcca653 --- /dev/null +++ b/src/calibre/ebooks/docx/names.py @@ -0,0 +1,64 @@ +#!/usr/bin/env python +# vim:fileencoding=utf-8 +from __future__ import (unicode_literals, division, absolute_import, + print_function) + +__license__ = 'GPL v3' +__copyright__ = '2013, Kovid Goyal ' + +from lxml.etree import XPath as X + +DOCUMENT = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument' +DOCPROPS = 'http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties' +APPPROPS = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties' +STYLES = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles' + +namespaces = { + 'mo': 'http://schemas.microsoft.com/office/mac/office/2008/main', + 'o': 'urn:schemas-microsoft-com:office:office', + 've': 'http://schemas.openxmlformats.org/markup-compatibility/2006', + # Text Content + 'w': 'http://schemas.openxmlformats.org/wordprocessingml/2006/main', + 'w10': 'urn:schemas-microsoft-com:office:word', + 'wne': 'http://schemas.microsoft.com/office/word/2006/wordml', + 'xml': 'http://www.w3.org/XML/1998/namespace', + # Drawing + 'a': 'http://schemas.openxmlformats.org/drawingml/2006/main', + 'm': 'http://schemas.openxmlformats.org/officeDocument/2006/math', + 'mv': 'urn:schemas-microsoft-com:mac:vml', + 'pic': 'http://schemas.openxmlformats.org/drawingml/2006/picture', + 'v': 'urn:schemas-microsoft-com:vml', + 'wp': 'http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing', + # Properties (core and extended) + 'cp': 'http://schemas.openxmlformats.org/package/2006/metadata/core-properties', + 'dc': 'http://purl.org/dc/elements/1.1/', + 'ep': 'http://schemas.openxmlformats.org/officeDocument/2006/extended-properties', + 'xsi': 'http://www.w3.org/2001/XMLSchema-instance', + # Content Types + 'ct': 'http://schemas.openxmlformats.org/package/2006/content-types', + # Package Relationships + 'r': 'http://schemas.openxmlformats.org/officeDocument/2006/relationships', + 'pr': 'http://schemas.openxmlformats.org/package/2006/relationships', + # Dublin Core document properties + 'dcmitype': 'http://purl.org/dc/dcmitype/', + 'dcterms': 'http://purl.org/dc/terms/' +} + +def XPath(expr): + return X(expr, namespaces=namespaces) + +def is_tag(x, q): + tag = getattr(x, 'tag', x) + ns, name = q.partition(':')[0::2] + return '{%s}%s' % (namespaces.get(ns, None), name) == tag + +def barename(x): + return x.rpartition('}')[-1] + +def XML(x): + return '{%s}%s' % (namespaces['xml'], x) + +def get(x, attr, default=None): + ns, name = attr.partition(':')[0::2] + return x.attrib.get('{%s}%s' % (namespaces[ns], name), default) + diff --git a/src/calibre/ebooks/docx/styles.py b/src/calibre/ebooks/docx/styles.py new file mode 100644 index 0000000000..5113f4c551 --- /dev/null +++ b/src/calibre/ebooks/docx/styles.py @@ -0,0 +1,263 @@ +#!/usr/bin/env python +# vim:fileencoding=utf-8 +from __future__ import (unicode_literals, division, absolute_import, + print_function) + +__license__ = 'GPL v3' +__copyright__ = '2013, Kovid Goyal ' + +from collections import OrderedDict + +from calibre.ebooks.docx.names import XPath, get + +class Inherit: + pass +inherit = Inherit() + +def binary_property(parent, name): + vals = XPath('./w:%s') + if not vals: + return inherit + val = get(vals[0], 'w:val', 'on') + return True if val in {'on', '1', 'true'} else False + +def simple_color(col): + if not col or col == 'auto' or len(col) != 6: + return 'black' + return '#'+col + +def simple_float(val, mult=1.0): + try: + return float(val) * mult + except (ValueError, TypeError, AttributeError, KeyError): + return None + +# Block styles {{{ + +LINE_STYLES = { # {{{ + 'basicBlackDashes': 'dashed', + 'basicBlackDots': 'dotted', + 'basicBlackSquares': 'dashed', + 'basicThinLines': 'solid', + 'dashDotStroked': 'groove', + 'dashed': 'dashed', + 'dashSmallGap': 'dashed', + 'dotDash': 'dashed', + 'dotDotDash': 'dashed', + 'dotted': 'dotted', + 'double': 'double', + 'inset': 'inset', + 'nil': 'none', + 'none': 'none', + 'outset': 'outset', + 'single': 'solid', + 'thick': 'solid', + 'thickThinLargeGap': 'double', + 'thickThinMediumGap': 'double', + 'thickThinSmallGap' : 'double', + 'thinThickLargeGap': 'double', + 'thinThickMediumGap': 'double', + 'thinThickSmallGap': 'double', + 'thinThickThinLargeGap': 'double', + 'thinThickThinMediumGap': 'double', + 'thinThickThinSmallGap': 'double', + 'threeDEmboss': 'ridge', + 'threeDEngrave': 'groove', + 'triple': 'double', +} # }}} + +def read_border(border, dest): + all_attrs = set() + for edge in ('left', 'top', 'right', 'bottom'): + vals = {'padding_%s':inherit, 'border_%s_width':inherit, + 'border_%s_style':inherit, 'border_%s_color':inherit} + all_attrs |= {key % edge for key in vals} + for elem in XPath('./w:%s' % edge): + color = get(elem, 'w:color') + if color is not None: + vals['border_%s_color'] = simple_color(color) + style = get(elem, 'w:val') + if style is not None: + vals['border_%s_style'] = LINE_STYLES.get(style, 'solid') + space = get(elem, 'w:space') + if space is not None: + try: + vals['padding_%s'] = float(space) + except (ValueError, TypeError): + pass + sz = get(elem, 'w:space') + if sz is not None: + # we dont care about art borders (they are only used for page borders) + try: + vals['border_%s_width'] = min(96, max(2, float(sz))) * 8 + except (ValueError, TypeError): + pass + + for key, val in vals.iteritems(): + setattr(dest, key % edge, val) + + return all_attrs + +def read_indent(parent, dest): + padding_left = padding_right = text_indent = inherit + for indent in XPath('./w:ind')(parent): + l, lc = get(indent, 'w:left'), get(indent, 'w:leftChars') + pl = simple_float(lc, 0.01) if lc is not None else simple_float(l, 0.05) if l is not None else None + if pl is not None: + padding_left = '%.3f%s' % (pl, 'em' if lc is not None else 'pt') + + r, rc = get(indent, 'w:right'), get(indent, 'w:rightChars') + pr = simple_float(rc, 0.01) if rc is not None else simple_float(r, 0.05) if r is not None else None + if pr is not None: + padding_right = '%.3f%s' % (pr, 'em' if rc is not None else 'pt') + + h, hc = get(indent, 'w:hanging'), get(indent, 'w:hangingChars') + fl, flc = get(indent, 'w:firstLine'), get(indent, 'w:firstLineChars') + ti = (simple_float(hc, 0.01) if hc is not None else simple_float(h, 0.05) if h is not None else + simple_float(flc, 0.01) if flc is not None else simple_float(fl, 0.05) if fl is not None else None) + if ti is not None: + text_indent = '%.3f' % (ti, 'em' if hc is not None or (h is None and flc is not None) else 'pt') + + setattr(dest, 'padding_left', padding_left) + setattr(dest, 'padding_right', padding_right) + setattr(dest, 'text_indent', text_indent) + return {'padding_left', 'padding_right', 'text_indent'} + +def read_justification(parent, dest): + ans = inherit + for jc in XPath('./w:jc[@w:val]')(parent): + val = get(jc, 'w:val') + if not val: + continue + if val in {'both', 'distribute'} or 'thai' in val or 'kashida' in val: + ans = 'justify' + if val in {'left', 'center', 'right',}: + ans = val + setattr(dest, 'text_align', ans) + return {'text_align'} + +def read_spacing(parent, dest): + padding_top = padding_bottom = line_height = inherit + for s in XPath('./w:spacing')(parent): + a, al, aa = get(s, 'w:after'), get(s, 'w:afterLines'), get(s, 'w:afterAutospacing') + pb = None if aa in {'on', '1', 'true'} else simple_float(al, 0.02) if al is not None else simple_float(a, 0.05) if a is not None else None + if pb is not None: + padding_bottom = '%.3f%s' % (pb, 'ex' if al is not None else 'pt') + + b, bl, bb = get(s, 'w:before'), get(s, 'w:beforeLines'), get(s, 'w:beforeAutospacing') + pt = None if bb in {'on', '1', 'true'} else simple_float(bl, 0.02) if bl is not None else simple_float(b, 0.05) if b is not None else None + if pt is not None: + padding_top = '%.3f%s' % (pt, 'ex' if bl is not None else 'pt') + + l, lr = get(s, 'w:line'), get(s, 'w:lineRule', 'auto') + if l is not None: + lh = simple_float(l, 0.05) if lr in {'exactly', 'atLeast'} else simple_float(l, 1/240.0) + line_height = '%.3f%s' % (lh, 'pt' if lr in {'exactly', 'atLeast'} else '') + + setattr(dest, 'padding_top', padding_top) + setattr(dest, 'padding_bottom', padding_bottom) + setattr(dest, 'line_height', line_height) + return {'padding_top', 'padding_bottom', 'line_height'} + +def read_direction(parent, dest): + ans = inherit + for jc in XPath('./w:textFlow[@w:val]')(parent): + val = get(jc, 'w:val') + if not val: + continue + if 'rl' in val.lower(): + ans = 'rtl' + setattr(dest, 'direction', ans) + return {'direction'} + + +class ParagraphStyle(object): + + border_path = XPath('./w:pBdr') + + def __init__(self, pPr): + self.all_properties = set() + for p in ( + 'adjustRightInd', 'autoSpaceDE', 'autoSpaceDN', + 'bidi', 'contextualSpacing', 'keepLines', 'keepNext', + 'mirrorIndents', 'pageBreakBefore', 'snapToGrid', + 'suppressLineNumbers', 'suppressOverlap', 'topLinePunct', + 'widowControl', 'wordWrap', + ): + self.all_properties.add(p) + setattr(p, binary_property(pPr, p)) + + for border in self.border_path(pPr): + self.all_properties |= read_border(border, self) + + self.all_properties |= read_indent(pPr, self) + self.all_properties |= read_justification(pPr, self) + self.all_properties |= read_spacing(pPr, self) + self.all_properties |= read_direction(pPr, self) + + # TODO: numPr and outlineLvl +# }}} + +class Style(object): + + name_path = XPath('./w:name[@w:val]') + based_on_path = XPath('./w:basedOn[@w:val]') + link_path = XPath('./w:link[@w:val]') + + def __init__(self, elem): + self.style_id = get(elem, 'w:styleId') + self.style_type = get(elem, 'w:type') + names = self.name_path(elem) + self.name = get(names[-1], 'w:val') if names else None + based_on = self.based_on_path(elem) + self.based_on = get(based_on[0], 'w:val') if based_on else None + if self.style_type == 'numbering': + self.based_on = None + link = self.link_path(elem) + self.link = get(link[0], 'w:val') if link else None + if self.style_type not in {'paragraph', 'character'}: + self.link = None + + +class Styles(object): + + def __init__(self): + self.id_map = OrderedDict() + + def __iter__(self): + for s in self.id_map.itervalues(): + yield s + + def __getitem__(self, key): + return self.id_map[key] + + def __len__(self): + return len(self.id_map) + + def get(self, key, default=None): + return self.id_map.get(key, default) + + def __call__(self, root): + for s in XPath('//w:style')(root): + s = Style(s) + if s.style_id: + self.id_map[s.style_id] = s + + # Nuke based_on, link attributes that refer to non-existing/incompatible + # parents + for s in self: + bo = s.based_on + if bo is not None: + p = self.get(bo) + if p is None or p.style_type != s.style_type: + s.based_on = None + link = s.link + if link is not None: + p = self.get(link) + if p is None or (s.style_type, p.style_type) not in {('paragraph', 'character'), ('character', 'paragraph')}: + s.link = None + + # TODO: Document defaults (docDefaults) + + + diff --git a/src/calibre/ebooks/docx/to_html.py b/src/calibre/ebooks/docx/to_html.py new file mode 100644 index 0000000000..f0e2c6385d --- /dev/null +++ b/src/calibre/ebooks/docx/to_html.py @@ -0,0 +1,142 @@ +#!/usr/bin/env python +# vim:fileencoding=utf-8 +from __future__ import (unicode_literals, division, absolute_import, + print_function) + +__license__ = 'GPL v3' +__copyright__ = '2013, Kovid Goyal ' + +import sys, os + +from lxml import html +from lxml.html.builder import ( + HTML, HEAD, TITLE, BODY, LINK, META, P, SPAN, BR) + +from calibre.ebooks.docx.container import DOCX, fromstring +from calibre.ebooks.docx.names import XPath, is_tag, barename, XML, STYLES +from calibre.ebooks.docx.styles import Styles +from calibre.utils.localization import canonicalize_lang, lang_as_iso639_1 + +class Text: + + def __init__(self, elem, attr, buf): + self.elem, self.attr, self.buf = elem, attr, buf + + def add_elem(self, elem): + setattr(self.elem, self.attr, ''.join(self.buf)) + self.elem, self.attr, self.buf = elem, 'tail', [] + +class Convert(object): + + def __init__(self, path_or_stream, dest_dir=None, log=None): + self.docx = DOCX(path_or_stream, log=log) + self.log = self.docx.log + self.dest_dir = dest_dir or os.getcwdu() + self.mi = self.docx.metadata + self.body = BODY() + self.styles = Styles() + self.html = HTML( + HEAD( + META(charset='utf-8'), + TITLE(self.mi.title or _('Unknown')), + LINK(rel='stylesheet', type='text/css', href='docx.css'), + ), + self.body + ) + self.html.text='\n\t' + self.html[0].text='\n\t\t' + self.html[0].tail='\n' + for child in self.html[0]: + child.tail = '\n\t\t' + self.html[0][-1].tail = '\n\t' + self.html[1].text = self.html[1].tail = '\n' + lang = canonicalize_lang(self.mi.language) + if lang and lang != 'und': + lang = lang_as_iso639_1(lang) + if lang: + self.html.set('lang', lang) + + def __call__(self): + doc = self.docx.document + relationships_by_id, relationships_by_type = self.docx.document_relationships + self.read_styles(relationships_by_type) + for top_level in XPath('/w:document/w:body/*')(doc): + if is_tag(top_level, 'w:p'): + p = self.convert_p(top_level) + self.body.append(p) + elif is_tag(top_level, 'w:tbl'): + pass # TODO: tables + elif is_tag(top_level, 'w:sectPr'): + pass # TODO: Last section properties + else: + self.log.debug('Unknown top-level tag: %s, ignoring' % barename(top_level.tag)) + if len(self.body) > 0: + self.body.text = '\n\t' + for child in self.body: + child.tail = '\n\t' + self.body[-1].tail = '\n' + self.write() + + def read_styles(self, relationships_by_type): + sname = relationships_by_type.get(STYLES, None) + if sname is None: + name = self.docx.document_name.split('/') + name[-1] = 'styles.xml' + if self.docx.exists(name): + sname = name + if sname is not None: + try: + raw = self.docx.read(sname) + except KeyError: + self.log.warn('Styles %s do not exist' % sname) + else: + self.styles(fromstring(raw)) + + def write(self): + raw = html.tostring(self.html, encoding='utf-8', doctype='') + with open(os.path.join(self.dest_dir, 'index.html'), 'wb') as f: + f.write(raw) + + def convert_p(self, p): + dest = P() + for run in XPath('descendant::w:r')(p): + span = self.convert_run(run) + dest.append(span) + + return dest + + def convert_run(self, run): + ans = SPAN() + text = Text(ans, 'text', []) + + for child in run: + if is_tag(child, 'w:t'): + if not child.text: + continue + space = child.get(XML('space'), None) + if space == 'preserve': + text.add_elem(SPAN(child.text, style="whitespace:pre-wrap")) + ans.append(text.elem) + else: + text.buf.append(child.text) + elif is_tag(child, 'w:cr'): + text.add_elem(BR()) + elif is_tag(child, 'w:br'): + typ = child.get('type', None) + if typ in {'column', 'page'}: + br = BR(style='page-break-after:always') + else: + clear = child.get('clear', None) + if clear in {'all', 'left', 'right'}: + br = BR(style='clear:%s'%('both' if clear == 'all' else clear)) + else: + br = BR() + text.add_elem(br) + if text.buf: + setattr(text.elem, text.attr, ''.join(text.buf)) + return ans + +if __name__ == '__main__': + from calibre.utils.logging import default_log + default_log.filter_level = default_log.DEBUG + Convert(sys.argv[-1], log=default_log)() diff --git a/src/calibre/ebooks/fb2/fb2ml.py b/src/calibre/ebooks/fb2/fb2ml.py index 74a97bf727..a7991de7bb 100644 --- a/src/calibre/ebooks/fb2/fb2ml.py +++ b/src/calibre/ebooks/fb2/fb2ml.py @@ -8,10 +8,9 @@ Transform OEB content into FB2 markup ''' +import re, textwrap, uuid from base64 import b64encode from datetime import datetime -import re -import uuid from lxml import etree @@ -19,6 +18,7 @@ from calibre.constants import __appname__, __version__ from calibre.utils.magick import Image from calibre.utils.localization import lang_as_iso639_1 +from calibre.ebooks.oeb.base import urlnormalize class FB2MLizer(object): ''' @@ -138,6 +138,12 @@ def fb2_header(self): if not metadata['author']: metadata['author'] = u'' + metadata['keywords'] = u'' + tags = list(map(unicode, self.oeb_book.metadata.subject)) + if tags: + tags = ', '.join(prepare_string_for_xml(x) for x in tags) + metadata['keywords'] = '%s'%tags + metadata['sequence'] = u'' if self.oeb_book.metadata.series: index = '1' @@ -145,6 +151,7 @@ def fb2_header(self): index = self.oeb_book.metadata.series_index[0] metadata['sequence'] = u'' % (prepare_string_for_xml(u'%s' % self.oeb_book.metadata.series[0]), index) + year = publisher = isbn = u'' identifiers = self.oeb_book.metadata['identifier'] for x in identifiers: if x.get(OPF('scheme'), None).lower() == 'uuid' or unicode(x).startswith('urn:uuid:'): @@ -154,31 +161,57 @@ def fb2_header(self): self.log.warn('No UUID identifier found') metadata['id'] = str(uuid.uuid4()) + try: + date = self.oeb_book.metadata['date'][0] + except IndexError: + pass + else: + year = '%s' % prepare_string_for_xml(date.value.partition('-')[0]) + + try: + publisher = self.oeb_book.metadata['publisher'][0] + except IndexError: + pass + else: + publisher = '%s' % prepare_string_for_xml(publisher.value) + + for x in identifiers: + if x.get(OPF('scheme'), None).lower() == 'isbn': + isbn = '%s' % prepare_string_for_xml(x.value) + + metadata['year'], metadata['isbn'], metadata['publisher'] = year, isbn, publisher for key, value in metadata.items(): - if key not in ('author', 'cover', 'sequence'): + if key not in ('author', 'cover', 'sequence', 'keywords', 'year', 'publisher', 'isbn'): metadata[key] = prepare_string_for_xml(value) - return u'' \ - '' \ - '' \ - '%(genre)s' \ - '%(author)s' \ - '%(title)s' \ - '%(cover)s' \ - '%(lang)s' \ - '%(sequence)s' \ - '' \ - '' \ - '%(author)s' \ - '%(appname)s %(version)s' \ - '%(date)s' \ - '%(id)s' \ - '1.0' \ - '' \ - '' % metadata + return textwrap.dedent(u''' + + + + %(genre)s + %(author)s + %(title)s + %(cover)s + %(lang)s + %(keywords)s + %(sequence)s + + + %(author)s + %(appname)s %(version)s + %(date)s + %(id)s + 1.0 + + + %(year)s + %(publisher)s + %(isbn)s + + \n''') % metadata def fb2_footer(self): - return u'' + return u'\n' def get_cover(self): from calibre.ebooks.oeb.base import OEB_RASTER_IMAGES @@ -281,7 +314,7 @@ def fb2mlize_images(self): data += char images.append('%s\n' % (self.image_hrefs[item.href], data)) except Exception as e: - self.log.error('Error: Could not include file %s because ' \ + self.log.error('Error: Could not include file %s because ' '%s.' % (item.href, e)) return ''.join(images) @@ -420,13 +453,16 @@ def dump_text(self, elem_tree, stylizer, page, tag_stack=[]): if tag == 'img': if elem_tree.attrib.get('src', None): # Only write the image tag if it is in the manifest. - if page.abshref(elem_tree.attrib['src']) in self.oeb_book.manifest.hrefs.keys(): - if page.abshref(elem_tree.attrib['src']) not in self.image_hrefs.keys(): - self.image_hrefs[page.abshref(elem_tree.attrib['src'])] = '_%s.jpg' % len(self.image_hrefs.keys()) + ihref = urlnormalize(page.abshref(elem_tree.attrib['src'])) + if ihref in self.oeb_book.manifest.hrefs: + if ihref not in self.image_hrefs: + self.image_hrefs[ihref] = '_%s.jpg' % len(self.image_hrefs) p_txt, p_tag = self.ensure_p() fb2_out += p_txt tags += p_tag - fb2_out.append('' % self.image_hrefs[page.abshref(elem_tree.attrib['src'])]) + fb2_out.append('' % self.image_hrefs[ihref]) + else: + self.log.warn(u'Ignoring image not in manifest: %s'%ihref) if tag in ('br', 'hr') or ems >= 1: if ems < 1: multiplier = 1 diff --git a/src/calibre/ebooks/metadata/__init__.py b/src/calibre/ebooks/metadata/__init__.py index 82f2ee40ea..13b0b7daa5 100644 --- a/src/calibre/ebooks/metadata/__init__.py +++ b/src/calibre/ebooks/metadata/__init__.py @@ -7,12 +7,11 @@ Provides abstraction for metadata reading.writing from a variety of ebook formats. """ import os, sys, re -from urllib import unquote, quote from urlparse import urlparse from calibre import relpath, guess_type, remove_bracketed_text, prints -from calibre.utils.config import tweaks +from calibre.utils.config_base import tweaks try: _author_pat = re.compile(tweaks['authors_split_regex']) @@ -188,6 +187,7 @@ class Resource(object): ''' def __init__(self, href_or_path, basedir=os.getcwdu(), is_path=True): + from urllib import unquote self._href = None self._basedir = basedir self.path = None @@ -226,6 +226,7 @@ def href(self, basedir=None): `basedir`: If None, the basedir of this resource is used (see :method:`set_basedir`). If this resource has no basedir, then the current working directory is used as the basedir. ''' + from urllib import quote if basedir is None: if self._basedir: basedir = self._basedir diff --git a/src/calibre/ebooks/metadata/archive.py b/src/calibre/ebooks/metadata/archive.py index 531a725c4b..b236064ed8 100644 --- a/src/calibre/ebooks/metadata/archive.py +++ b/src/calibre/ebooks/metadata/archive.py @@ -10,14 +10,15 @@ from contextlib import closing from calibre.customize import FileTypePlugin -from calibre.utils.zipfile import ZipFile, stringFileHeader def is_comic(list_of_names): - extensions = set([x.rpartition('.')[-1].lower() for x in list_of_names]) + extensions = set([x.rpartition('.')[-1].lower() for x in list_of_names + if '.' in x and x.lower().rpartition('/')[-1] != 'thumbs.db']) comic_extensions = set(['jpg', 'jpeg', 'png']) return len(extensions - comic_extensions) == 0 def archive_type(stream): + from calibre.utils.zipfile import stringFileHeader try: pos = stream.tell() except: @@ -46,6 +47,7 @@ class ArchiveExtract(FileTypePlugin): on_import = True def run(self, archive): + from calibre.utils.zipfile import ZipFile is_rar = archive.lower().endswith('.rar') if is_rar: from calibre.utils.unrar import extract_member, names @@ -58,7 +60,7 @@ def run(self, archive): else: fnames = zf.namelist() - fnames = [x for x in fnames if '.' in x] + fnames = [x for x in fnames if '.' in x and x.lower().rpartition('/')[-1] != 'thumbs.db'] if is_comic(fnames): ext = '.cbr' if is_rar else '.cbz' of = self.temporary_file('_archive_extract'+ext) diff --git a/src/calibre/ebooks/metadata/book/base.py b/src/calibre/ebooks/metadata/book/base.py index b4c202f5a6..4104b18a3f 100644 --- a/src/calibre/ebooks/metadata/book/base.py +++ b/src/calibre/ebooks/metadata/book/base.py @@ -13,9 +13,7 @@ SC_FIELDS_COPY_NOT_NULL, STANDARD_METADATA_FIELDS, TOP_LEVEL_IDENTIFIERS, ALL_METADATA_FIELDS) from calibre.library.field_metadata import FieldMetadata -from calibre.utils.date import isoformat, format_date, parse_only_date from calibre.utils.icu import sort_key -from calibre.utils.formatter import TemplateFormatter # Special sets used to optimize the performance of getting and setting # attributes on Metadata objects @@ -44,38 +42,6 @@ def human_readable(size, precision=2): field_metadata = FieldMetadata() -class SafeFormat(TemplateFormatter): - - def get_value(self, orig_key, args, kwargs): - if not orig_key: - return '' - key = orig_key = orig_key.lower() - if key != 'title_sort' and key not in TOP_LEVEL_IDENTIFIERS and \ - key not in ALL_METADATA_FIELDS: - key = field_metadata.search_term_to_field_key(key) - if key is None or (self.book and - key not in self.book.all_field_keys()): - if hasattr(self.book, orig_key): - key = orig_key - else: - raise ValueError(_('Value: unknown field ') + orig_key) - try: - b = self.book.get_user_metadata(key, False) - except: - b = None - if b and ((b['datatype'] == 'int' and self.book.get(key, 0) == 0) or - (b['datatype'] == 'float' and self.book.get(key, 0.0) == 0.0)): - v = '' - else: - v = self.book.format_field(key, series_with_index=False)[1] - if v is None: - return '' - if v == '': - return '' - return v - -# DEPRECATED. This is not thread safe. Do not use. -composite_formatter = SafeFormat() class Metadata(object): @@ -116,6 +82,7 @@ def __init__(self, title, authors=(_('Unknown'),), other=None, template_cache=No # List of strings or [] self.author = list(authors) if authors else []# Needed for backward compatibility self.authors = list(authors) if authors else [] + from calibre.ebooks.metadata.book.formatter import SafeFormat self.formatter = SafeFormat() self.template_cache = template_cache @@ -211,6 +178,8 @@ def has_key(self, key): return key in object.__getattribute__(self, '_data') def deepcopy(self): + ''' Do not use this method unless you know what you are doing, if you want to create a simple clone of + this object, use :method:`deepcopy_metadata` instead. ''' m = Metadata(None) m.__dict__ = copy.deepcopy(self.__dict__) object.__setattr__(m, '_data', copy.deepcopy(object.__getattribute__(self, '_data'))) @@ -454,6 +423,7 @@ def template_to_attribute(self, other, ops): ''' if not ops: return + from calibre.ebooks.metadata.book.formatter import SafeFormat formatter = SafeFormat() for op in ops: try: @@ -633,6 +603,7 @@ def format_field_extended(self, key, series_with_index=True): returns the tuple (display_name, formatted_value, original_value, field_metadata) ''' + from calibre.utils.date import format_date # Handle custom series index if key.startswith('#') and key.endswith('_index'): @@ -717,6 +688,7 @@ def __unicode__(self): A string representation of this object, suitable for printing to console ''' + from calibre.utils.date import isoformat from calibre.ebooks.metadata import authors_to_string ans = [] def fmt(x, y): @@ -809,6 +781,7 @@ def field_from_string(field, raw, field_metadata): elif dt == 'rating': val = float(raw) * 2 elif dt == 'datetime': + from calibre.utils.date import parse_only_date val = parse_only_date(raw) elif dt == 'bool': if raw.lower() in {'true', 'yes', 'y'}: diff --git a/src/calibre/ebooks/metadata/book/formatter.py b/src/calibre/ebooks/metadata/book/formatter.py new file mode 100644 index 0000000000..7adbe81016 --- /dev/null +++ b/src/calibre/ebooks/metadata/book/formatter.py @@ -0,0 +1,47 @@ +#!/usr/bin/env python +# vim:fileencoding=utf-8 +from __future__ import (unicode_literals, division, absolute_import, + print_function) + +__license__ = 'GPL v3' +__copyright__ = '2013, Kovid Goyal ' + +from calibre.ebooks.metadata.book import TOP_LEVEL_IDENTIFIERS, ALL_METADATA_FIELDS + +from calibre.utils.formatter import TemplateFormatter + +class SafeFormat(TemplateFormatter): + + def __init__(self): + TemplateFormatter.__init__(self) + + def get_value(self, orig_key, args, kwargs): + if not orig_key: + return '' + key = orig_key = orig_key.lower() + if (key != 'title_sort' and key not in TOP_LEVEL_IDENTIFIERS and + key not in ALL_METADATA_FIELDS): + from calibre.ebooks.metadata.book.base import field_metadata + key = field_metadata.search_term_to_field_key(key) + if key is None or (self.book and + key not in self.book.all_field_keys()): + if hasattr(self.book, orig_key): + key = orig_key + else: + raise ValueError(_('Value: unknown field ') + orig_key) + try: + b = self.book.get_user_metadata(key, False) + except: + b = None + if b and ((b['datatype'] == 'int' and self.book.get(key, 0) == 0) or + (b['datatype'] == 'float' and self.book.get(key, 0.0) == 0.0)): + v = '' + else: + v = self.book.format_field(key, series_with_index=False)[1] + if v is None: + return '' + if v == '': + return '' + return v + + diff --git a/src/calibre/ebooks/metadata/book/json_codec.py b/src/calibre/ebooks/metadata/book/json_codec.py index e9cec8acc7..fc95749f12 100644 --- a/src/calibre/ebooks/metadata/book/json_codec.py +++ b/src/calibre/ebooks/metadata/book/json_codec.py @@ -11,17 +11,18 @@ from calibre.ebooks.metadata.book import SERIALIZABLE_FIELDS from calibre.constants import filesystem_encoding, preferred_encoding from calibre.library.field_metadata import FieldMetadata -from calibre.utils.date import parse_date, isoformat, UNDEFINED_DATE, local_tz from calibre import isbytestring # Translate datetimes to and from strings. The string form is the datetime in # UTC. The returned date is also UTC def string_to_datetime(src): + from calibre.utils.date import parse_date if src == "None": return None return parse_date(src) def datetime_to_string(dateval): + from calibre.utils.date import isoformat, UNDEFINED_DATE, local_tz if dateval is None: return "None" if not isinstance(dateval, datetime): diff --git a/src/calibre/ebooks/metadata/docx.py b/src/calibre/ebooks/metadata/docx.py index 1505d397f3..31b0c48974 100644 --- a/src/calibre/ebooks/metadata/docx.py +++ b/src/calibre/ebooks/metadata/docx.py @@ -7,70 +7,21 @@ __copyright__ = '2012, Kovid Goyal ' __docformat__ = 'restructuredtext en' -from lxml import etree +from calibre.ebooks.docx.container import DOCX -from calibre.ebooks.metadata.book.base import Metadata from calibre.utils.zipfile import ZipFile from calibre.utils.magick.draw import identify_data -from calibre.ebooks.oeb.base import DC11_NS -from calibre.ebooks.oeb.parse_utils import RECOVER_PARSER - -NSMAP = {'dc':DC11_NS, -'cp':'http://schemas.openxmlformats.org/package/2006/metadata/core-properties'} - -def XPath(expr): - return etree.XPath(expr, namespaces=NSMAP) - -def _read_doc_props(raw, mi): - from calibre.ebooks.metadata import string_to_authors - root = etree.fromstring(raw, parser=RECOVER_PARSER) - titles = XPath('//dc:title')(root) - if titles: - title = titles[0].text - if title and title.strip(): - mi.title = title.strip() - tags = [] - for subject in XPath('//dc:subject')(root): - if subject.text and subject.text.strip(): - tags.append(subject.text.strip().replace(',', '_')) - for keywords in XPath('//cp:keywords')(root): - if keywords.text and keywords.text.strip(): - for x in keywords.text.split(): - tags.extend(y.strip() for y in x.split(',')) - if tags: - mi.tags = tags - authors = XPath('//dc:creator')(root) - aut = [] - for author in authors: - if author.text and author.text.strip(): - aut.extend(string_to_authors(author.text)) - if aut: - mi.authors = aut - - desc = XPath('//dc:description')(root) - if desc: - raw = etree.tostring(desc[0], method='text', encoding=unicode) - mi.comments = raw - -def _read_app_props(raw, mi): - root = etree.fromstring(raw, parser=RECOVER_PARSER) - company = root.xpath('//*[local-name()="Company"]') - if company and company[0].text and company[0].text.strip(): - mi.publisher = company[0].text.strip() def get_metadata(stream): + c = DOCX(stream, extract=False) + mi = c.metadata + c.close() + stream.seek(0) + cdata = None with ZipFile(stream, 'r') as zf: - - mi = Metadata(_('Unknown')) - cdata = None - for zi in zf.infolist(): ext = zi.filename.rpartition('.')[-1].lower() - if zi.filename.lower() == 'docprops/core.xml': - _read_doc_props(zf.read(zi), mi) - elif zi.filename.lower() == 'docprops/app.xml': - _read_app_props(zf.read(zi), mi) - elif cdata is None and ext in {'jpeg', 'jpg', 'png', 'gif'}: + if cdata is None and ext in {'jpeg', 'jpg', 'png', 'gif'}: raw = zf.read(zi) try: width, height, fmt = identify_data(raw) diff --git a/src/calibre/ebooks/metadata/opf2.py b/src/calibre/ebooks/metadata/opf2.py index b36d2363d3..f38a18989c 100644 --- a/src/calibre/ebooks/metadata/opf2.py +++ b/src/calibre/ebooks/metadata/opf2.py @@ -24,7 +24,7 @@ from calibre.utils.cleantext import clean_ascii_chars from calibre.utils.config import tweaks -class Resource(object): # {{{ +class Resource(object): # {{{ ''' Represents a resource (usually a file on the filesystem or a URL pointing to the web. Such resources are commonly referred to in OPF files. @@ -68,7 +68,6 @@ def __init__(self, href_or_path, basedir=os.getcwdu(), is_path=True): self.path = os.path.abspath(os.path.join(basedir, pc.replace('/', os.sep))) self.fragment = url[-1] - def href(self, basedir=None): ''' Return a URL pointing to this resource. If it is a file on the filesystem @@ -90,7 +89,7 @@ def href(self, basedir=None): return ''+frag try: rpath = os.path.relpath(self.path, basedir) - except ValueError: # On windows path and basedir could be on different drives + except ValueError: # On windows path and basedir could be on different drives rpath = self.path if isinstance(rpath, unicode): rpath = rpath.encode('utf-8') @@ -107,7 +106,7 @@ def __repr__(self): # }}} -class ResourceCollection(object): # {{{ +class ResourceCollection(object): # {{{ def __init__(self): self._resources = [] @@ -160,7 +159,7 @@ def set_basedir(self, path): # }}} -class ManifestItem(Resource): # {{{ +class ManifestItem(Resource): # {{{ @staticmethod def from_opf_manifest_item(item, basedir): @@ -180,7 +179,6 @@ def fset(self, val): self.mime_type = val return property(fget=fget, fset=fset) - def __unicode__(self): return u''%(self.id, self.href(), self.media_type) @@ -190,7 +188,6 @@ def __str__(self): def __repr__(self): return unicode(self) - def __getitem__(self, index): if index == 0: return self.href() @@ -200,7 +197,7 @@ def __getitem__(self, index): # }}} -class Manifest(ResourceCollection): # {{{ +class Manifest(ResourceCollection): # {{{ @staticmethod def from_opf_manifest_element(items, dir): @@ -245,7 +242,6 @@ def __init__(self): ResourceCollection.__init__(self) self.next_id = 1 - def item(self, id): for i in self: if i.id == id: @@ -269,7 +265,7 @@ def type_for_id(self, id): # }}} -class Spine(ResourceCollection): # {{{ +class Spine(ResourceCollection): # {{{ class Item(Resource): @@ -309,13 +305,10 @@ def from_paths(paths, manifest): continue return s - - def __init__(self, manifest): ResourceCollection.__init__(self) self.manifest = manifest - def replace(self, start, end, ids): ''' Replace the items between start (inclusive) and end (not inclusive) with @@ -345,7 +338,7 @@ def items(self): # }}} -class Guide(ResourceCollection): # {{{ +class Guide(ResourceCollection): # {{{ class Reference(Resource): @@ -363,7 +356,6 @@ def __repr__(self): ans += 'title="%s" '%self.title return ans + '/>' - @staticmethod def from_opf_guide(references, base_dir=os.getcwdu()): coll = Guide() @@ -484,14 +476,14 @@ def dump_dict(cats): return json.dumps(object_to_unicode(cats), ensure_ascii=False, skipkeys=True) -class OPF(object): # {{{ +class OPF(object): # {{{ MIMETYPE = 'application/oebps-package+xml' PARSER = etree.XMLParser(recover=True) NAMESPACES = { - None : "http://www.idpf.org/2007/opf", - 'dc' : "http://purl.org/dc/elements/1.1/", - 'opf' : "http://www.idpf.org/2007/opf", + None: "http://www.idpf.org/2007/opf", + 'dc': "http://purl.org/dc/elements/1.1/", + 'opf': "http://www.idpf.org/2007/opf", } META = '{%s}meta' % NAMESPACES['opf'] xpn = NAMESPACES.copy() @@ -501,9 +493,10 @@ class OPF(object): # {{{ CONTENT = XPath('self::*[re:match(name(), "meta$", "i")]/@content') TEXT = XPath('string()') - metadata_path = XPath('descendant::*[re:match(name(), "metadata", "i")]') - metadata_elem_path = XPath('descendant::*[re:match(name(), concat($name, "$"), "i") or (re:match(name(), "meta$", "i") and re:match(@name, concat("^calibre:", $name, "$"), "i"))]') + metadata_elem_path = XPath( + 'descendant::*[re:match(name(), concat($name, "$"), "i") or (re:match(name(), "meta$", "i") ' + 'and re:match(@name, concat("^calibre:", $name, "$"), "i"))]') title_path = XPath('descendant::*[re:match(name(), "title", "i")]') authors_path = XPath('descendant::*[re:match(name(), "creator", "i") and (@role="aut" or @opf:role="aut" or (not(@role) and not(@opf:role)))]') bkp_path = XPath('descendant::*[re:match(name(), "contributor", "i") and (@role="bkp" or @opf:role="bkp")]') @@ -561,6 +554,10 @@ def __init__(self, stream, basedir=os.getcwdu(), unquote_urls=True, resolve_entities=True, assume_utf8=True) raw = raw[raw.find('<'):] self.root = etree.fromstring(raw, self.PARSER) + try: + self.package_version = float(self.root.get('version', None)) + except (AttributeError, TypeError, ValueError): + self.package_version = 0 self.metadata = self.metadata_path(self.root) if not self.metadata: raise ValueError('Malformed OPF file: No element') @@ -640,7 +637,8 @@ def find_toc(self): if 'toc' in item.href().lower(): toc = item.path - if toc is None: return + if toc is None: + return self.toc = TOC(base_path=self.base_dir) is_ncx = getattr(self, 'manifest', None) is not None and \ self.manifest.type_for_id(toc) is not None and \ @@ -976,7 +974,6 @@ def fset(self, val): return property(fget=fget, fset=fset) - @dynamic_property def language(self): @@ -990,7 +987,6 @@ def fset(self, val): return property(fget=fget, fset=fset) - @dynamic_property def languages(self): @@ -1015,7 +1011,6 @@ def fset(self, val): return property(fget=fget, fset=fset) - @dynamic_property def book_producer(self): @@ -1125,7 +1120,10 @@ def fset(self, path): def get_metadata_element(self, name): matches = self.metadata_elem_path(self.metadata, name=name) if matches: - return matches[-1] + num = -1 + if self.package_version >= 3 and name == 'title': + num = 0 + return matches[num] def create_metadata_element(self, name, attrib=None, is_dc=True): if is_dc: @@ -1196,7 +1194,6 @@ def __init__(self, base_path, other): if self.cover: self.guide.set_cover(self.cover) - def create_manifest(self, entries): ''' Create @@ -1615,9 +1612,9 @@ def test_user_metadata(): from cStringIO import StringIO mi = Metadata('Test title', ['test author1', 'test author2']) um = { - '#myseries': { '#value#': u'test series\xe4', 'datatype':'text', + '#myseries': {'#value#': u'test series\xe4', 'datatype':'text', 'is_multiple': None, 'name': u'My Series'}, - '#myseries_index': { '#value#': 2.45, 'datatype': 'float', + '#myseries_index': {'#value#': 2.45, 'datatype': 'float', 'is_multiple': None}, '#mytags': {'#value#':['t1','t2','t3'], 'datatype':'text', 'is_multiple': '|', 'name': u'My Tags'} diff --git a/src/calibre/ebooks/metadata/pdf.py b/src/calibre/ebooks/metadata/pdf.py index 5ec41cdef1..7c11e18e26 100644 --- a/src/calibre/ebooks/metadata/pdf.py +++ b/src/calibre/ebooks/metadata/pdf.py @@ -46,7 +46,8 @@ def read_info(outputdir, get_cover): ans = {} for line in raw.splitlines(): - if u':' not in line: continue + if u':' not in line: + continue field, val = line.partition(u':')[::2] val = val.strip() if field and val: @@ -54,7 +55,7 @@ def read_info(outputdir, get_cover): if get_cover: try: - subprocess.check_call([pdftoppm, '-singlefile', '-jpeg', + subprocess.check_call([pdftoppm, '-singlefile', '-jpeg', '-cropbox', 'src.pdf', 'cover']) except subprocess.CalledProcessError as e: prints('pdftoppm errored out with return code: %d'%e.returncode) @@ -69,7 +70,7 @@ def page_images(pdfpath, outputdir, first=1, last=1): import win32process as w args['creationflags'] = w.HIGH_PRIORITY_CLASS | w.CREATE_NO_WINDOW try: - subprocess.check_call([pdftoppm, '-jpeg', '-f', unicode(first), + subprocess.check_call([pdftoppm, '-cropbox', '-jpeg', '-f', unicode(first), '-l', unicode(last), pdfpath, os.path.join(outputdir, 'page-images')], **args) except subprocess.CalledProcessError as e: diff --git a/src/calibre/ebooks/metadata/sources/amazon.py b/src/calibre/ebooks/metadata/sources/amazon.py index fe39c3cd16..eb9e5a18cc 100644 --- a/src/calibre/ebooks/metadata/sources/amazon.py +++ b/src/calibre/ebooks/metadata/sources/amazon.py @@ -8,7 +8,6 @@ __docformat__ = 'restructuredtext en' import socket, time, re -from urllib import urlencode from threading import Thread from Queue import Queue, Empty @@ -18,10 +17,9 @@ from calibre.ebooks.metadata.sources.base import (Source, Option, fixcase, fixauthors) from calibre.ebooks.metadata.book.base import Metadata -from calibre.utils.date import parse_only_date from calibre.utils.localization import canonicalize_lang -class Worker(Thread): # Get details {{{ +class Worker(Thread): # Get details {{{ ''' Get book details from amazons book page in a separate thread @@ -43,12 +41,12 @@ def __init__(self, url, result_queue, browser, log, relevance, domain, months = { 'de': { - 1 : ['jän'], - 2 : ['februar'], - 3 : ['märz'], - 5 : ['mai'], - 6 : ['juni'], - 7 : ['juli'], + 1: ['jän'], + 2: ['februar'], + 3: ['märz'], + 5: ['mai'], + 6: ['juni'], + 7: ['juli'], 10: ['okt'], 12: ['dez'] }, @@ -276,7 +274,6 @@ def parse_details(self, raw, root): self.log.exception('Error parsing authors for url: %r'%self.url) authors = [] - if not title or not authors or not asin: self.log.error('Could not find title/authors/asin for %r'%self.url) self.log.error('ASIN: %r Title: %r Authors: %r'%(asin, title, @@ -431,7 +428,6 @@ def _render_comments(self, desc): desc = re.sub(r'(?s)', '', desc) return sanitize_comments_html(desc) - def parse_comments(self, root): ans = '' desc = root.xpath('//div[@id="ps-content"]/div[@class="content"]') @@ -497,6 +493,7 @@ def parse_publisher(self, pd): def parse_pubdate(self, pd): for x in reversed(pd.xpath(self.publisher_xpath)): if x.tail: + from calibre.utils.date import parse_only_date ans = x.tail date = ans.rpartition('(')[-1].replace(')', '').strip() date = self.delocalize_datestr(date) @@ -528,13 +525,13 @@ class Amazon(Source): AMAZON_DOMAINS = { 'com': _('US'), - 'fr' : _('France'), - 'de' : _('Germany'), - 'uk' : _('UK'), - 'it' : _('Italy'), - 'jp' : _('Japan'), - 'es' : _('Spain'), - 'br' : _('Brazil'), + 'fr': _('France'), + 'de': _('Germany'), + 'uk': _('UK'), + 'it': _('Italy'), + 'jp': _('Japan'), + 'es': _('Spain'), + 'br': _('Brazil'), } options = ( @@ -592,7 +589,7 @@ def get_domain_and_asin(self, identifiers): return domain, val return None, None - def get_book_url(self, identifiers): # {{{ + def get_book_url(self, identifiers): # {{{ domain, asin = self.get_domain_and_asin(identifiers) if domain and asin: url = None @@ -637,9 +634,9 @@ def clean_downloaded_metadata(self, mi): mi.tags = list(map(fixcase, mi.tags)) mi.isbn = check_isbn(mi.isbn) - - def create_query(self, log, title=None, authors=None, identifiers={}, # {{{ + def create_query(self, log, title=None, authors=None, identifiers={}, # {{{ domain=None): + from urllib import urlencode if domain is None: domain = self.domain @@ -648,8 +645,8 @@ def create_query(self, log, title=None, authors=None, identifiers={}, # {{{ domain = idomain # See the amazon detailed search page to get all options - q = { 'search-alias' : 'aps', - 'unfiltered' : '1', + q = {'search-alias': 'aps', + 'unfiltered': '1', } if domain == 'com': @@ -704,7 +701,7 @@ def create_query(self, log, title=None, authors=None, identifiers={}, # {{{ # }}} - def get_cached_cover_url(self, identifiers): # {{{ + def get_cached_cover_url(self, identifiers): # {{{ url = None domain, asin = self.get_domain_and_asin(identifiers) if asin is None: @@ -717,14 +714,17 @@ def get_cached_cover_url(self, identifiers): # {{{ return url # }}} - def parse_results_page(self, root): # {{{ + def parse_results_page(self, root): # {{{ from lxml.html import tostring matches = [] def title_ok(title): title = title.lower() - for x in ('bulk pack', '[audiobook]', '[audio cd]'): + bad = ['bulk pack', '[audiobook]', '[audio cd]'] + if self.domain == 'com': + bad.append('(spanish edition)') + for x in bad: if x in title: return False return True @@ -751,13 +751,12 @@ def title_ok(title): matches.append(a.get('href')) break - # Keep only the top 5 matches as the matches are sorted by relevance by # Amazon so lower matches are not likely to be very relevant return matches[:5] # }}} - def identify(self, log, result_queue, abort, title=None, authors=None, # {{{ + def identify(self, log, result_queue, abort, title=None, authors=None, # {{{ identifiers={}, timeout=30): ''' Note this method will retry without identifiers automatically if no @@ -795,7 +794,6 @@ def identify(self, log, result_queue, abort, title=None, authors=None, # {{{ log.exception(msg) return as_unicode(msg) - raw = clean_ascii_chars(xml_to_unicode(raw, strip_encoding_pats=True, resolve_entities=True)[0]) @@ -825,7 +823,6 @@ def identify(self, log, result_queue, abort, title=None, authors=None, # {{{ # The error is almost always a not found error found = False - if found: matches = self.parse_results_page(root) @@ -863,7 +860,7 @@ def identify(self, log, result_queue, abort, title=None, authors=None, # {{{ return None # }}} - def download_cover(self, log, result_queue, abort, # {{{ + def download_cover(self, log, result_queue, abort, # {{{ title=None, authors=None, identifiers={}, timeout=30, get_best_cover=False): cached_url = self.get_cached_cover_url(identifiers) if cached_url is None: @@ -900,39 +897,44 @@ def download_cover(self, log, result_queue, abort, # {{{ log.exception('Failed to download cover from:', cached_url) # }}} -if __name__ == '__main__': # tests {{{ +if __name__ == '__main__': # tests {{{ # To run these test use: calibre-debug -e # src/calibre/ebooks/metadata/sources/amazon.py from calibre.ebooks.metadata.sources.test import (test_identify_plugin, isbn_test, title_test, authors_test, comments_test, series_test) - com_tests = [ # {{{ + com_tests = [ # {{{ - ( # + in title and uses id="main-image" for cover + ( # Has a spanish edition + {'title':'11/22/63'}, + [title_test('11/22/63: A Novel', exact=True), authors_test(['Stephen King']),] + ), + + ( # + in title and uses id="main-image" for cover {'title':'C++ Concurrency in Action'}, [title_test('C++ Concurrency in Action: Practical Multithreading', exact=True), ] ), - ( # Series + ( # Series {'identifiers':{'amazon':'0756407117'}}, [title_test( - "Throne of the Crescent Moon" - , exact=True), series_test('Crescent Moon Kingdoms', 1), + "Throne of the Crescent Moon", + exact=True), series_test('Crescent Moon Kingdoms', 1), comments_test('Makhslood'), ] ), - ( # Different comments markup, using Book Description section + ( # Different comments markup, using Book Description section {'identifiers':{'amazon':'0982514506'}}, [title_test( - "Griffin's Destiny: Book Three: The Griffin's Daughter Trilogy" - , exact=True), + "Griffin's Destiny: Book Three: The Griffin's Daughter Trilogy", + exact=True), comments_test('Jelena'), comments_test('Leslie'), ] ), - ( # # in title + ( # # in title {'title':'Expert C# 2008 Business Objects', 'authors':['Lhotka']}, [title_test('Expert C# 2008 Business Objects', exact=True), @@ -948,13 +950,13 @@ def download_cover(self, log, result_queue, abort, # {{{ ), - ( # Sophisticated comment formatting + ( # Sophisticated comment formatting {'identifiers':{'isbn': '9781416580829'}}, [title_test('Angels & Demons - Movie Tie-In: A Novel', exact=True), authors_test(['Dan Brown'])] ), - ( # No specific problems + ( # No specific problems {'identifiers':{'isbn': '0743273567'}}, [title_test('The great gatsby', exact=True), authors_test(['F. Scott Fitzgerald'])] @@ -967,9 +969,9 @@ def download_cover(self, log, result_queue, abort, # {{{ ), - ] # }}} + ] # }}} - de_tests = [ # {{{ + de_tests = [ # {{{ ( {'identifiers':{'isbn': '3548283519'}}, [title_test('Wer Wind Sät: Der Fünfte Fall Für Bodenstein Und Kirchhoff', @@ -977,9 +979,9 @@ def download_cover(self, log, result_queue, abort, # {{{ ] ), - ] # }}} + ] # }}} - it_tests = [ # {{{ + it_tests = [ # {{{ ( {'identifiers':{'isbn': '8838922195'}}, [title_test('La briscola in cinque', @@ -987,9 +989,9 @@ def download_cover(self, log, result_queue, abort, # {{{ ] ), - ] # }}} + ] # }}} - fr_tests = [ # {{{ + fr_tests = [ # {{{ ( {'identifiers':{'isbn': '2221116798'}}, [title_test('L\'étrange voyage de Monsieur Daldry', @@ -997,9 +999,9 @@ def download_cover(self, log, result_queue, abort, # {{{ ] ), - ] # }}} + ] # }}} - es_tests = [ # {{{ + es_tests = [ # {{{ ( {'identifiers':{'isbn': '8483460831'}}, [title_test('Tiempos Interesantes', @@ -1007,28 +1009,28 @@ def download_cover(self, log, result_queue, abort, # {{{ ] ), - ] # }}} + ] # }}} - jp_tests = [ # {{{ - ( # Adult filtering test + jp_tests = [ # {{{ + ( # Adult filtering test {'identifiers':{'isbn':'4799500066'}}, [title_test(u'Bitch Trap'),] ), - ( # isbn -> title, authors - {'identifiers':{'isbn': '9784101302720' }}, + ( # isbn -> title, authors + {'identifiers':{'isbn': '9784101302720'}}, [title_test(u'精霊の守り人', exact=True), authors_test([u'上橋 菜穂子']) ] ), - ( # title, authors -> isbn (will use Shift_JIS encoding in query.) + ( # title, authors -> isbn (will use Shift_JIS encoding in query.) {'title': u'考えない練習', 'authors': [u'小池 龍之介']}, [isbn_test('9784093881067'), ] ), - ] # }}} + ] # }}} - br_tests = [ # {{{ + br_tests = [ # {{{ ( {'title':'Guerra dos Tronos'}, [title_test('A Guerra dos Tronos - As Crônicas de Gelo e Fogo', @@ -1036,7 +1038,7 @@ def download_cover(self, log, result_queue, abort, # {{{ ] ), - ] # }}} + ] # }}} def do_test(domain, start=0, stop=None): tests = globals().get(domain+'_tests') diff --git a/src/calibre/ebooks/metadata/sources/base.py b/src/calibre/ebooks/metadata/sources/base.py index 13069eb86f..2d3053bd5f 100644 --- a/src/calibre/ebooks/metadata/sources/base.py +++ b/src/calibre/ebooks/metadata/sources/base.py @@ -12,27 +12,9 @@ from calibre import browser, random_user_agent from calibre.customize import Plugin -from calibre.utils.config import JSONConfig -from calibre.utils.titlecase import titlecase from calibre.utils.icu import capitalize, lower, upper from calibre.ebooks.metadata import check_isbn -msprefs = JSONConfig('metadata_sources/global.json') -msprefs.defaults['txt_comments'] = False -msprefs.defaults['ignore_fields'] = [] -msprefs.defaults['user_default_ignore_fields'] = [] -msprefs.defaults['max_tags'] = 20 -msprefs.defaults['wait_after_first_identify_result'] = 30 # seconds -msprefs.defaults['wait_after_first_cover_result'] = 60 # seconds -msprefs.defaults['swap_author_names'] = False -msprefs.defaults['fewer_tags'] = True -msprefs.defaults['find_first_edition_date'] = False - -# Google covers are often poor quality (scans/errors) but they have high -# resolution, so they trump covers from better sources. So make sure they -# are only used if no other covers are found. -msprefs.defaults['cover_priorities'] = {'Google':2, 'Google Images':2, 'Big Book Search':2} - def create_log(ostream=None): from calibre.utils.logging import ThreadSafeLog, FileStream log = ThreadSafeLog(level=ThreadSafeLog.DEBUG) @@ -162,6 +144,7 @@ def fixauthors(authors): def fixcase(x): if x: + from calibre.utils.titlecase import titlecase x = titlecase(x) return x @@ -263,6 +246,7 @@ def save_settings(self, config_widget): @property def prefs(self): if self._config_obj is None: + from calibre.utils.config import JSONConfig self._config_obj = JSONConfig('metadata_sources/%s.json'%self.name) return self._config_obj # }}} diff --git a/src/calibre/ebooks/metadata/sources/covers.py b/src/calibre/ebooks/metadata/sources/covers.py index 2df716253b..bae9203f70 100644 --- a/src/calibre/ebooks/metadata/sources/covers.py +++ b/src/calibre/ebooks/metadata/sources/covers.py @@ -13,7 +13,8 @@ from io import BytesIO from calibre.customize.ui import metadata_plugins -from calibre.ebooks.metadata.sources.base import msprefs, create_log +from calibre.ebooks.metadata.sources.base import create_log +from calibre.ebooks.metadata.sources.prefs import msprefs from calibre.utils.magick.draw import Image, save_cover_data_to class Worker(Thread): diff --git a/src/calibre/ebooks/metadata/sources/douban.py b/src/calibre/ebooks/metadata/sources/douban.py index f955fb8a79..f94e9a956d 100644 --- a/src/calibre/ebooks/metadata/sources/douban.py +++ b/src/calibre/ebooks/metadata/sources/douban.py @@ -8,7 +8,6 @@ __docformat__ = 'restructuredtext en' import time -from urllib import urlencode from functools import partial from Queue import Queue, Empty @@ -172,6 +171,7 @@ def get_book_url(self, identifiers): # {{{ # }}} def create_query(self, log, title=None, authors=None, identifiers={}): # {{{ + from urllib import urlencode SEARCH_URL = 'http://api.douban.com/book/subjects?' ISBN_URL = 'http://api.douban.com/book/subject/isbn/' SUBJECT_URL = 'http://api.douban.com/book/subject/' diff --git a/src/calibre/ebooks/metadata/sources/google.py b/src/calibre/ebooks/metadata/sources/google.py index c03f20cd6b..e2a89c272e 100644 --- a/src/calibre/ebooks/metadata/sources/google.py +++ b/src/calibre/ebooks/metadata/sources/google.py @@ -8,7 +8,6 @@ __docformat__ = 'restructuredtext en' import time, hashlib -from urllib import urlencode from functools import partial from Queue import Queue, Empty @@ -16,7 +15,6 @@ from calibre.ebooks.metadata.sources.base import Source from calibre.ebooks.metadata.book.base import Metadata from calibre.ebooks.chardet import xml_to_unicode -from calibre.utils.date import parse_date, utcnow from calibre.utils.cleantext import clean_ascii_chars from calibre.utils.localization import canonicalize_lang from calibre import as_unicode @@ -131,6 +129,7 @@ def get_text(extra, x): # pubdate pubdate = get_text(extra, date) if pubdate: + from calibre.utils.date import parse_date, utcnow try: default = utcnow().replace(day=15) mi.pubdate = parse_date(pubdate, assume_utc=True, default=default) @@ -179,6 +178,7 @@ def get_book_url(self, identifiers): # {{{ # }}} def create_query(self, log, title=None, authors=None, identifiers={}): # {{{ + from urllib import urlencode BASE_URL = 'http://books.google.com/books/feeds/volumes?' isbn = check_isbn(identifiers.get('isbn', None)) q = '' diff --git a/src/calibre/ebooks/metadata/sources/identify.py b/src/calibre/ebooks/metadata/sources/identify.py index 4a214d4e66..71055ff099 100644 --- a/src/calibre/ebooks/metadata/sources/identify.py +++ b/src/calibre/ebooks/metadata/sources/identify.py @@ -16,7 +16,8 @@ from urlparse import urlparse from calibre.customize.ui import metadata_plugins, all_metadata_plugins -from calibre.ebooks.metadata.sources.base import create_log, msprefs +from calibre.ebooks.metadata.sources.base import create_log +from calibre.ebooks.metadata.sources.prefs import msprefs from calibre.ebooks.metadata.xisbn import xisbn from calibre.ebooks.metadata.book.base import Metadata from calibre.utils.date import utc_tz, as_utc diff --git a/src/calibre/ebooks/metadata/sources/isbndb.py b/src/calibre/ebooks/metadata/sources/isbndb.py index 567673b704..7e09c12f33 100644 --- a/src/calibre/ebooks/metadata/sources/isbndb.py +++ b/src/calibre/ebooks/metadata/sources/isbndb.py @@ -7,7 +7,6 @@ __copyright__ = '2011, Kovid Goyal ' __docformat__ = 'restructuredtext en' -from urllib import quote from calibre.ebooks.metadata import check_isbn @@ -66,6 +65,7 @@ def is_configured(self): return self.isbndb_key is not None def create_query(self, title=None, authors=None, identifiers={}): # {{{ + from urllib import quote base_url = BASE_URL%self.isbndb_key isbn = check_isbn(identifiers.get('isbn', None)) q = '' diff --git a/src/calibre/ebooks/metadata/sources/ozon.py b/src/calibre/ebooks/metadata/sources/ozon.py index 0f4b0c2c53..627c7830c1 100644 --- a/src/calibre/ebooks/metadata/sources/ozon.py +++ b/src/calibre/ebooks/metadata/sources/ozon.py @@ -6,14 +6,12 @@ __docformat__ = 'restructuredtext en' import re -from urllib import quote_plus from Queue import Queue, Empty from calibre import as_unicode from calibre.ebooks.metadata import check_isbn from calibre.ebooks.metadata.sources.base import Source from calibre.ebooks.metadata.book.base import Metadata -from calibre.utils.date import parse_only_date class Ozon(Source): name = 'OZON.ru' @@ -49,6 +47,7 @@ def get_book_url(self, identifiers): # {{{ # }}} def create_query(self, log, title=None, authors=None, identifiers={}): # {{{ + from urllib import quote_plus # div_book -> search only books, ebooks and audio books search_url = self.ozon_url + '/webservice/webservice.asmx/SearchWebService?searchContext=div_book&searchText=' @@ -390,33 +389,34 @@ def _get_affiliateId(): # {{{ return aff_id # }}} -# for now only RUS ISBN are supported -#http://ru.wikipedia.org/wiki/ISBN_российских_издательств -isbn_pat = re.compile(r""" - ^ - (\d{3})? # match GS1 Prefix for ISBN13 - (5) # group identifier for rRussian-speaking countries - ( # begin variable length for Publisher - [01]\d{1}| # 2x - [2-6]\d{2}| # 3x - 7\d{3}| # 4x (starting with 7) - 8[0-4]\d{2}| # 4x (starting with 8) - 9[2567]\d{2}| # 4x (starting with 9) - 99[26]\d{1}| # 4x (starting with 99) - 8[5-9]\d{3}| # 5x (starting with 8) - 9[348]\d{3}| # 5x (starting with 9) - 900\d{2}| # 5x (starting with 900) - 91[0-8]\d{2}| # 5x (starting with 91) - 90[1-9]\d{3}| # 6x (starting with 90) - 919\d{3}| # 6x (starting with 919) - 99[^26]\d{4} # 7x (starting with 99) - ) # end variable length for Publisher - (\d+) # Title - ([\dX]) # Check digit - $ -""", re.VERBOSE) - def _format_isbn(log, isbn): # {{{ + # for now only RUS ISBN are supported + #http://ru.wikipedia.org/wiki/ISBN_российских_издательств + isbn_pat = re.compile(r""" + ^ + (\d{3})? # match GS1 Prefix for ISBN13 + (5) # group identifier for rRussian-speaking countries + ( # begin variable length for Publisher + [01]\d{1}| # 2x + [2-6]\d{2}| # 3x + 7\d{3}| # 4x (starting with 7) + 8[0-4]\d{2}| # 4x (starting with 8) + 9[2567]\d{2}| # 4x (starting with 9) + 99[26]\d{1}| # 4x (starting with 99) + 8[5-9]\d{3}| # 5x (starting with 8) + 9[348]\d{3}| # 5x (starting with 9) + 900\d{2}| # 5x (starting with 900) + 91[0-8]\d{2}| # 5x (starting with 91) + 90[1-9]\d{3}| # 6x (starting with 90) + 919\d{3}| # 6x (starting with 919) + 99[^26]\d{4} # 7x (starting with 99) + ) # end variable length for Publisher + (\d+) # Title + ([\dX]) # Check digit + $ + """, re.VERBOSE) + + res = check_isbn(isbn) if res: m = isbn_pat.match(res) @@ -460,6 +460,7 @@ def _normalizeAuthorNameWithInitials(name): # {{{ # }}} def toPubdate(log, yearAsString): # {{{ + from calibre.utils.date import parse_only_date res = None if yearAsString: try: diff --git a/src/calibre/ebooks/metadata/sources/prefs.py b/src/calibre/ebooks/metadata/sources/prefs.py new file mode 100644 index 0000000000..39e0933b3b --- /dev/null +++ b/src/calibre/ebooks/metadata/sources/prefs.py @@ -0,0 +1,28 @@ +#!/usr/bin/env python +# vim:fileencoding=utf-8 +from __future__ import (unicode_literals, division, absolute_import, + print_function) + +__license__ = 'GPL v3' +__copyright__ = '2013, Kovid Goyal ' + +from calibre.utils.config import JSONConfig + +msprefs = JSONConfig('metadata_sources/global.json') +msprefs.defaults['txt_comments'] = False +msprefs.defaults['ignore_fields'] = [] +msprefs.defaults['user_default_ignore_fields'] = [] +msprefs.defaults['max_tags'] = 20 +msprefs.defaults['wait_after_first_identify_result'] = 30 # seconds +msprefs.defaults['wait_after_first_cover_result'] = 60 # seconds +msprefs.defaults['swap_author_names'] = False +msprefs.defaults['fewer_tags'] = True +msprefs.defaults['find_first_edition_date'] = False + +# Google covers are often poor quality (scans/errors) but they have high +# resolution, so they trump covers from better sources. So make sure they +# are only used if no other covers are found. +msprefs.defaults['cover_priorities'] = {'Google':2, 'Google Images':2, 'Big Book Search':2} + + + diff --git a/src/calibre/ebooks/metadata/sources/test.py b/src/calibre/ebooks/metadata/sources/test.py index 7c790a2c0c..52a4082b31 100644 --- a/src/calibre/ebooks/metadata/sources/test.py +++ b/src/calibre/ebooks/metadata/sources/test.py @@ -14,8 +14,8 @@ from calibre.customize.ui import all_metadata_plugins from calibre import prints, sanitize_file_name2 from calibre.ebooks.metadata import check_isbn -from calibre.ebooks.metadata.sources.base import (create_log, - get_cached_cover_urls, msprefs) +from calibre.ebooks.metadata.sources.base import create_log, get_cached_cover_urls +from calibre.ebooks.metadata.sources.prefs import msprefs def isbn_test(isbn): isbn_ = check_isbn(isbn) diff --git a/src/calibre/ebooks/mobi/reader/headers.py b/src/calibre/ebooks/mobi/reader/headers.py index 8e96475e36..b5b55b2ba0 100644 --- a/src/calibre/ebooks/mobi/reader/headers.py +++ b/src/calibre/ebooks/mobi/reader/headers.py @@ -13,12 +13,12 @@ from calibre.ebooks.mobi import MobiError from calibre.ebooks.metadata import MetaInformation, check_isbn from calibre.ebooks.mobi.langcodes import main_language, sub_language, mobi2iana -from calibre.utils.cleantext import clean_ascii_chars +from calibre.utils.cleantext import clean_ascii_chars, clean_xml_chars from calibre.utils.localization import canonicalize_lang NULL_INDEX = 0xffffffff -class EXTHHeader(object): # {{{ +class EXTHHeader(object): # {{{ def __init__(self, raw, codec, title): self.doctype = raw[:4] @@ -62,7 +62,7 @@ def __init__(self, raw, codec, title): elif idx == 502: # last update time pass - elif idx == 503: # Long title + elif idx == 503: # Long title # Amazon seems to regard this as the definitive book title # rather than the title from the PDB header. In fact when # sending MOBI files through Amazon's email service if the @@ -72,7 +72,7 @@ def __init__(self, raw, codec, title): title = self.decode(content) except: pass - elif idx == 524: # Lang code + elif idx == 524: # Lang code try: lang = content.decode(codec) lang = canonicalize_lang(lang) @@ -83,22 +83,22 @@ def __init__(self, raw, codec, title): #else: # print 'unknown record', idx, repr(content) if title: - self.mi.title = replace_entities(clean_ascii_chars(title)) + self.mi.title = replace_entities(clean_xml_chars(clean_ascii_chars(title))) def process_metadata(self, idx, content, codec): if idx == 100: if self.mi.is_null('authors'): self.mi.authors = [] - au = self.decode(content).strip() + au = clean_xml_chars(self.decode(content).strip()) self.mi.authors.append(au) if self.mi.is_null('author_sort') and re.match(r'\S+?\s*,\s+\S+', au.strip()): self.mi.author_sort = au.strip() elif idx == 101: - self.mi.publisher = self.decode(content).strip() + self.mi.publisher = clean_xml_chars(self.decode(content).strip()) if self.mi.publisher in {'Unknown', _('Unknown')}: self.mi.publisher = None elif idx == 103: - self.mi.comments = self.decode(content).strip() + self.mi.comments = clean_xml_chars(self.decode(content).strip()) elif idx == 104: raw = check_isbn(self.decode(content).strip().replace('-', '')) if raw: @@ -106,7 +106,7 @@ def process_metadata(self, idx, content, codec): elif idx == 105: if not self.mi.tags: self.mi.tags = [] - self.mi.tags.extend([x.strip() for x in self.decode(content).split(';')]) + self.mi.tags.extend([x.strip() for x in clean_xml_chars(self.decode(content)).split(';')]) self.mi.tags = list(set(self.mi.tags)) elif idx == 106: try: @@ -114,8 +114,8 @@ def process_metadata(self, idx, content, codec): except: pass elif idx == 108: - self.mi.book_producer = self.decode(content).strip() - elif idx == 112: # dc:source set in some EBSP amazon samples + self.mi.book_producer = clean_xml_chars(self.decode(content).strip()) + elif idx == 112: # dc:source set in some EBSP amazon samples try: content = content.decode(codec).strip() isig = 'urn:isbn:' @@ -131,7 +131,7 @@ def process_metadata(self, idx, content, codec): self.mi.application_id = self.mi.uuid = cid except: pass - elif idx == 113: # ASIN or other id + elif idx == 113: # ASIN or other id try: self.uuid = content.decode('ascii') self.mi.set_identifier('mobi-asin', self.uuid) @@ -242,7 +242,7 @@ def __init__(self, raw, ident, user_encoding, log, try_extra_data_fix=False): # if cnt is 1 or less, fdst section number can be garbage if self.fdstcnt <= 1: self.fdstidx = NULL_INDEX - else: # Null values + else: # Null values self.skelidx = self.dividx = self.othidx = self.fdstidx = \ NULL_INDEX diff --git a/src/calibre/ebooks/mobi/reader/mobi8.py b/src/calibre/ebooks/mobi/reader/mobi8.py index a55f6bd7e3..4e79c5ef12 100644 --- a/src/calibre/ebooks/mobi/reader/mobi8.py +++ b/src/calibre/ebooks/mobi/reader/mobi8.py @@ -51,9 +51,11 @@ def reverse_tag_iter(block): end = len(block) while True: pgt = block.rfind(b'>', 0, end) - if pgt == -1: break + if pgt == -1: + break plt = block.rfind(b'<', 0, pgt) - if plt == -1: break + if plt == -1: + break yield block[plt:pgt+1] end = plt @@ -231,12 +233,12 @@ def build_parts(self): flowpart = self.flows[j] nstr = '%04d' % j m = svg_tag_pattern.search(flowpart) - if m != None: + if m is not None: # svg typ = 'svg' start = m.start() m2 = image_tag_pattern.search(flowpart) - if m2 != None: + if m2 is not None: format = 'inline' dir = None fname = None @@ -320,7 +322,7 @@ def create_guide(self): if len(pos_fid) != 2: continue except TypeError: - continue # thumbnailstandard record, ignore it + continue # thumbnailstandard record, ignore it linktgt, idtext = self.get_id_tag_by_pos_fid(*pos_fid) if idtext: linktgt += b'#' + idtext @@ -389,7 +391,7 @@ def extract_resources(self): href = None if typ in {b'FLIS', b'FCIS', b'SRCS', b'\xe9\x8e\r\n', b'RESC', b'BOUN', b'FDST', b'DATP', b'AUDI', b'VIDE'}: - pass # Ignore these records + pass # Ignore these records elif typ == b'FONT': font = read_font_record(data) href = "fonts/%05d.%s" % (fname_idx, font['ext']) @@ -406,7 +408,11 @@ def extract_resources(self): else: imgtype = what(None, data) if imgtype is None: - imgtype = 'unknown' + from calibre.utils.magick.draw import identify_data + try: + imgtype = identify_data(data)[2] + except Exception: + imgtype = 'unknown' href = 'images/%05d.%s'%(fname_idx, imgtype) with open(href.replace('/', os.sep), 'wb') as f: f.write(data) diff --git a/src/calibre/ebooks/mobi/tweak.py b/src/calibre/ebooks/mobi/tweak.py index e738af151c..91b31dc4c1 100644 --- a/src/calibre/ebooks/mobi/tweak.py +++ b/src/calibre/ebooks/mobi/tweak.py @@ -19,7 +19,7 @@ from calibre.ebooks.conversion.plumber import Plumber, create_oebbook from calibre.customize.ui import (plugin_for_input_format, plugin_for_output_format) -from calibre.utils.ipc.simple_worker import fork_job +from calibre.utils.ipc.simple_worker import fork_job class BadFormat(ValueError): pass @@ -72,7 +72,8 @@ def explode(path, dest, question=lambda x:True): dest), no_output=True)['result'] def set_cover(oeb): - if 'cover' not in oeb.guide or oeb.metadata['cover']: return + if 'cover' not in oeb.guide or oeb.metadata['cover']: + return cover = oeb.guide['cover'] if cover.href in oeb.manifest.hrefs: item = oeb.manifest.hrefs[cover.href] @@ -95,8 +96,9 @@ def rebuild(src_dir, dest_path): if not opf: raise ValueError('No OPF file found in %s'%src_dir) opf = opf[0] - # For debugging, uncomment the following line - # def fork_job(a, b, args=None, no_output=True): do_rebuild(*args) + # For debugging, uncomment the following two lines + # def fork_job(a, b, args=None, no_output=True): + # do_rebuild(*args) fork_job('calibre.ebooks.mobi.tweak', 'do_rebuild', args=(opf, dest_path), no_output=True) diff --git a/src/calibre/ebooks/mobi/writer2/resources.py b/src/calibre/ebooks/mobi/writer2/resources.py index 01ce6a0135..c364e9aa58 100644 --- a/src/calibre/ebooks/mobi/writer2/resources.py +++ b/src/calibre/ebooks/mobi/writer2/resources.py @@ -69,7 +69,8 @@ def add_resources(self, add_fonts): cover_href = item.href for item in self.oeb.manifest.values(): - if item.media_type not in OEB_RASTER_IMAGES: continue + if item.media_type not in OEB_RASTER_IMAGES: + continue try: data = self.process_image(item.data) except: @@ -116,8 +117,8 @@ def add_extra_images(self): Add any images that were created after the call to add_resources() ''' for item in self.oeb.manifest.values(): - if (item.media_type not in OEB_RASTER_IMAGES or item.href in - self.item_map): continue + if (item.media_type not in OEB_RASTER_IMAGES or item.href in self.item_map): + continue try: data = self.process_image(item.data) except: diff --git a/src/calibre/ebooks/oeb/base.py b/src/calibre/ebooks/oeb/base.py index bd6a23e871..eb5b0042e7 100644 --- a/src/calibre/ebooks/oeb/base.py +++ b/src/calibre/ebooks/oeb/base.py @@ -1,7 +1,6 @@ ''' Basic support for manipulating OEB 1.x/2.0 content and metadata. ''' -from __future__ import with_statement __license__ = 'GPL v3' __copyright__ = '2008, Marshall T. Vandegrift ' @@ -11,7 +10,7 @@ from collections import defaultdict from itertools import count from urlparse import urldefrag, urlparse, urlunparse, urljoin -from urllib import unquote as urlunquote +from urllib import unquote from lxml import etree, html from calibre.constants import filesystem_encoding, __version__ @@ -40,11 +39,11 @@ RE_NS = 'http://exslt.org/regular-expressions' MBP_NS = 'http://www.mobipocket.com' -XPNSMAP = {'h' : XHTML_NS, 'o1' : OPF1_NS, 'o2' : OPF2_NS, - 'd09': DC09_NS, 'd10': DC10_NS, 'd11': DC11_NS, - 'xsi': XSI_NS, 'dt' : DCTERMS_NS, 'ncx': NCX_NS, - 'svg': SVG_NS, 'xl' : XLINK_NS, 're': RE_NS, - 'mbp': MBP_NS, 'calibre': CALIBRE_NS } +XPNSMAP = {'h': XHTML_NS, 'o1': OPF1_NS, 'o2': OPF2_NS, + 'd09': DC09_NS, 'd10': DC10_NS, 'd11': DC11_NS, + 'xsi': XSI_NS, 'dt': DCTERMS_NS, 'ncx': NCX_NS, + 'svg': SVG_NS, 'xl': XLINK_NS, 're': RE_NS, + 'mbp': MBP_NS, 'calibre': CALIBRE_NS} OPF1_NSMAP = {'dc': DC11_NS, 'oebpackage': OPF1_NS} OPF2_NSMAP = {'opf': OPF2_NS, 'dc': DC11_NS, 'dcterms': DCTERMS_NS, @@ -142,7 +141,6 @@ def iterlinks(root, find_links_in_css=True): if attr in link_attrs: yield (el, attr, attribs[attr], 0) - if not find_links_in_css: continue if tag == XHTML('style') and el.text: @@ -270,7 +268,7 @@ def rewrite_links(root, link_repl_func, resolve_base_href=False): XHTML_CSS_NAMESPACE = u'@namespace "%s";\n' % XHTML_NS -OEB_STYLES = set([CSS_MIME, OEB_CSS_MIME, 'text/x-oeb-css']) +OEB_STYLES = set([CSS_MIME, OEB_CSS_MIME, 'text/x-oeb-css', 'xhtml/css']) OEB_DOCS = set([XHTML_MIME, 'text/html', OEB_DOC_MIME, 'text/x-oeb-document']) OEB_RASTER_IMAGES = set([GIF_MIME, JPEG_MIME, PNG_MIME]) @@ -363,7 +361,9 @@ def serialize(data, media_type, pretty_print=False): URL_UNSAFE = [ASCII_CHARS - URL_SAFE, UNIBYTE_CHARS - URL_SAFE] def urlquote(href): - """Quote URL-unsafe characters, allowing IRI-safe characters.""" + """ Quote URL-unsafe characters, allowing IRI-safe characters. + That is, this function returns valid IRIs not valid URIs. In particular, + IRIs can contain non-ascii characters. """ result = [] unsafe = 0 if isinstance(href, unicode) else 1 unsafe = URL_UNSAFE[unsafe] @@ -373,6 +373,19 @@ def urlquote(href): result.append(char) return ''.join(result) +def urlunquote(href): + # unquote must run on a bytestring and will return a bytestring + # If it runs on a unicode object, it returns a double encoded unicode + # string: unquote(u'%C3%A4') != unquote(b'%C3%A4').decode('utf-8') + # and the latter is correct + want_unicode = isinstance(href, unicode) + if want_unicode: + href = href.encode('utf-8') + href = unquote(href) + if want_unicode: + href = href.decode('utf-8') + return href + def urlnormalize(href): """Convert a URL into normalized form, with all and only URL-unsafe characters URL quoted. @@ -469,7 +482,7 @@ def __init__(self, path, log, ignore_opf=False): return def _unquote(self, path): - # urlunquote must run on a bytestring and will return a bytestring + # unquote must run on a bytestring and will return a bytestring # If it runs on a unicode object, it returns a double encoded unicode # string: unquote(u'%C3%A4') != unquote(b'%C3%A4').decode('utf-8') # and the latter is correct @@ -497,7 +510,7 @@ def exists(self, path): return False try: path = os.path.join(self.rootdir, self._unquote(path)) - except ValueError: #Happens if path contains quoted special chars + except ValueError: # Happens if path contains quoted special chars return False try: return os.path.isfile(path) @@ -577,12 +590,13 @@ def term_attr(self, obj): allowed = self.allowed if allowed is not None and term not in allowed: raise AttributeError( - 'attribute %r not valid for metadata term %r' \ + 'attribute %r not valid for metadata term %r' % (self.attr(term), barename(obj.term))) return self.attr(term) def __get__(self, obj, cls): - if obj is None: return None + if obj is None: + return None return obj.attrib.get(self.term_attr(obj), '') def __set__(self, obj, value): @@ -628,8 +642,8 @@ def fset(self, value): self.value = value return property(fget=fget, fset=fset) - scheme = Attribute(lambda term: 'scheme' if \ - term == OPF('meta') else OPF('scheme'), + scheme = Attribute(lambda term: 'scheme' if + term == OPF('meta') else OPF('scheme'), [DC('identifier'), OPF('meta')]) file_as = Attribute(OPF('file-as'), [DC('creator'), DC('contributor'), DC('title')]) @@ -882,7 +896,6 @@ def _parse_txt(self, data): return self._parse_xhtml(convert_markdown(data, title=title)) - def _parse_css(self, data): from cssutils import CSSParser, log, resolveImports log.setLevel(logging.WARN) @@ -935,7 +948,7 @@ def fget(self): data = self._loader(getattr(self, 'html_input_href', self.href)) if not isinstance(data, basestring): - pass # already parsed + pass # already parsed elif self.media_type.lower() in OEB_DOCS: data = self._parse_xhtml(data) elif self.media_type.lower()[-4:] in ('+xml', '/xml'): @@ -1022,7 +1035,8 @@ def relhref(self, href): target, frag = urldefrag(href) target = target.split('/') for index in xrange(min(len(base), len(target))): - if base[index] != target[index]: break + if base[index] != target[index]: + break else: index += 1 relhref = (['..'] * (len(base) - index)) + target[index:] diff --git a/src/calibre/ebooks/oeb/polish/container.py b/src/calibre/ebooks/oeb/polish/container.py index 2ef64bf116..63230b899b 100644 --- a/src/calibre/ebooks/oeb/polish/container.py +++ b/src/calibre/ebooks/oeb/polish/container.py @@ -30,7 +30,7 @@ from calibre.ebooks.oeb.polish.errors import InvalidBook, DRMError from calibre.ebooks.oeb.parse_utils import NotHTML, parse_html, RECOVER_PARSER from calibre.ptempfile import PersistentTemporaryDirectory, PersistentTemporaryFile -from calibre.utils.ipc.simple_worker import fork_job, WorkerError +from calibre.utils.ipc.simple_worker import fork_job, WorkerError from calibre.utils.logging import default_log from calibre.utils.zipfile import ZipFile @@ -77,7 +77,7 @@ def __init__(self, rootpath, opfpath, log): # Map of relative paths with '/' separators from root of unzipped ePub # to absolute paths on filesystem with os-specific separators - opfpath = os.path.abspath(opfpath) + opfpath = os.path.abspath(os.path.realpath(opfpath)) for dirpath, _dirnames, filenames in os.walk(self.root): for f in filenames: path = join(dirpath, f) @@ -406,8 +406,9 @@ def format_opf(self): child.get('content', '').strip() in {'{}', ''}): remove.add(child) except AttributeError: - continue # Happens for XML comments - for child in remove: mdata.remove(child) + continue # Happens for XML comments + for child in remove: + mdata.remove(child) if len(mdata) > 0: mdata[-1].tail = '\n ' @@ -473,17 +474,17 @@ class EpubContainer(Container): book_type = 'epub' META_INF = { - 'container.xml' : True, - 'manifest.xml' : False, - 'encryption.xml' : False, - 'metadata.xml' : False, - 'signatures.xml' : False, - 'rights.xml' : False, + 'container.xml': True, + 'manifest.xml': False, + 'encryption.xml': False, + 'metadata.xml': False, + 'signatures.xml': False, + 'rights.xml': False, } def __init__(self, pathtoepub, log): self.pathtoepub = pathtoepub - tdir = self.root = PersistentTemporaryDirectory('_epub_container') + tdir = self.root = os.path.abspath(os.path.realpath(PersistentTemporaryDirectory('_epub_container'))) with open(self.pathtoepub, 'rb') as stream: try: zf = ZipFile(stream) @@ -616,7 +617,7 @@ class AZW3Container(Container): def __init__(self, pathtoazw3, log): self.pathtoazw3 = pathtoazw3 - tdir = self.root = PersistentTemporaryDirectory('_azw3_container') + tdir = self.root = os.path.abspath(os.path.realpath(PersistentTemporaryDirectory('_azw3_container'))) with open(pathtoazw3, 'rb') as stream: raw = stream.read(3) if raw == b'TPZ': @@ -670,7 +671,8 @@ def commit(self, outpath=None): # }}} def get_container(path, log=None): - if log is None: log = default_log + if log is None: + log = default_log ebook = (AZW3Container if path.rpartition('.')[-1].lower() in {'azw3', 'mobi'} else EpubContainer)(path, log) return ebook diff --git a/src/calibre/ebooks/oeb/polish/cover.py b/src/calibre/ebooks/oeb/polish/cover.py index 01b9e25e59..5cee827d72 100644 --- a/src/calibre/ebooks/oeb/polish/cover.py +++ b/src/calibre/ebooks/oeb/polish/cover.py @@ -46,10 +46,11 @@ def is_raster_image(media_type): return media_type and media_type.lower() in { 'image/png', 'image/jpeg', 'image/jpg', 'image/gif'} -COVER_TYPES = { 'coverimagestandard', 'other.ms-coverimage-standard', - 'other.ms-titleimage-standard', 'other.ms-titleimage', - 'other.ms-coverimage', 'other.ms-thumbimage-standard', - 'other.ms-thumbimage', 'thumbimagestandard', 'cover'} +COVER_TYPES = { + 'coverimagestandard', 'other.ms-coverimage-standard', + 'other.ms-titleimage-standard', 'other.ms-titleimage', + 'other.ms-coverimage', 'other.ms-thumbimage-standard', + 'other.ms-thumbimage', 'thumbimagestandard', 'cover'} def find_cover_image(container): 'Find a raster image marked as a cover in the OPF' @@ -92,7 +93,8 @@ def find_cover_page(container): def find_cover_image_in_page(container, cover_page): root = container.parsed(cover_page) body = XPath('//h:body')(root) - if len(body) != 1: return + if len(body) != 1: + return body = body[0] images = [] for img in XPath('descendant::h:img[@src]|descendant::svg:svg/descendant::svg:image')(body): @@ -152,7 +154,7 @@ def create_epub_cover(container, cover_path): ar = 'xMidYMid meet' if keep_aspect else 'none' templ = CoverManager.SVG_TEMPLATE.replace('__ar__', ar) templ = templ.replace('__viewbox__', '0 0 %d %d'%(width, height)) - templ = templ.replace('__width__', str(width)) + templ = templ.replace('__width__', str(width)) templ = templ.replace('__height__', str(height)) titlepage_item = container.generate_item('titlepage.xhtml', id_prefix='titlepage') @@ -179,7 +181,7 @@ def create_epub_cover(container, cover_path): guide = container.opf_get_or_create('guide') container.insert_into_xml(guide, guide.makeelement( OPF('reference'), type='cover', title=_('Cover'), - href=container.name_to_href(titlepage))) + href=container.name_to_href(titlepage, base=container.opf_name))) metadata = container.opf_get_or_create('metadata') meta = metadata.makeelement(OPF('meta'), name='cover') meta.set('content', raster_cover_item.get('id')) diff --git a/src/calibre/ebooks/oeb/polish/main.py b/src/calibre/ebooks/oeb/polish/main.py index c04686ed6c..08b5004c91 100644 --- a/src/calibre/ebooks/oeb/polish/main.py +++ b/src/calibre/ebooks/oeb/polish/main.py @@ -43,8 +43,8 @@ changes needed for the desired effect.

You should use this tool as the last step in your ebook creation process.

- -

Note that polishing only works on files in the %s formats.

+{0} +

Note that polishing only works on files in the %s formats.

\ ''')%_(' or ').join('%s'%x for x in SUPPORTED), 'subset': _('''\ @@ -69,7 +69,7 @@ 'jacket': _('''\

Insert a "book jacket" page at the start of the book that contains all the book metadata such as title, tags, authors, series, comments, -etc.

'''), +etc. Any previous book jacket will be replaced.

'''), 'remove_jacket': _('''\

Remove a previous inserted book jacket page.

@@ -85,7 +85,7 @@ def hfix(name, raw): if name == 'about': - return raw + return raw.format('') raw = raw.replace('\n\n', '__XX__') raw = raw.replace('\n', ' ') raw = raw.replace('__XX__', '\n') @@ -175,7 +175,7 @@ def gui_polish(data): if not data.pop('metadata'): data.pop('opf') if not data.pop('do_cover'): - data.pop('cover') + data.pop('cover', None) file_map = {x:x for x in files} opts = ALL_OPTS.copy() opts.update(data) diff --git a/src/calibre/ebooks/oeb/reader.py b/src/calibre/ebooks/oeb/reader.py index d0474fa7e8..eb7e2eca4c 100644 --- a/src/calibre/ebooks/oeb/reader.py +++ b/src/calibre/ebooks/oeb/reader.py @@ -24,6 +24,7 @@ urlnormalize, BINARY_MIME, \ OEBError, OEBBook, DirContainer from calibre.ebooks.oeb.writer import OEBWriter +from calibre.utils.cleantext import clean_xml_chars from calibre.utils.localization import get_lang from calibre.ptempfile import TemporaryDirectory from calibre.constants import __appname__, __version__ @@ -106,7 +107,7 @@ def _read_opf(self): try: opf = etree.fromstring(data) except etree.XMLSyntaxError: - data = xml_replace_entities(data, encoding=None) + data = xml_replace_entities(clean_xml_chars(data), encoding=None) try: opf = etree.fromstring(data) self.logger.warn('OPF contains invalid HTML named entities') @@ -148,7 +149,6 @@ def _metadata_from_opf(self, opf): if not has_aut: m.add('creator', self.oeb.translate(__('Unknown')), role='aut') - def _manifest_prune_invalid(self): ''' Remove items from manifest that contain invalid data. This prevents @@ -197,6 +197,8 @@ def _manifest_add_missing(self, invalid): item.media_type[-4:] in ('/xml', '+xml')): hrefs = [r[2] for r in iterlinks(data)] for href in hrefs: + if isinstance(href, bytes): + href = href.decode('utf-8') href, _ = urldefrag(href) if not href: continue @@ -293,7 +295,7 @@ def _spine_add_extra(self): continue try: href = item.abshref(urlnormalize(href)) - except ValueError: # Malformed URL + except ValueError: # Malformed URL continue if href not in manifest.hrefs: continue @@ -394,9 +396,9 @@ def _toc_from_navpoint(self, item, toc, navpoint): authorElement = xpath(child, 'descendant::calibre:meta[@name = "author"]') - if authorElement : + if authorElement: author = authorElement[0].text - else : + else: author = None descriptionElement = xpath(child, @@ -406,7 +408,7 @@ def _toc_from_navpoint(self, item, toc, navpoint): method='text', encoding=unicode).strip() if not description: description = None - else : + else: description = None index_image = xpath(child, @@ -497,7 +499,8 @@ def _toc_from_spine(self, opf): titles = [] headers = [] for item in self.oeb.spine: - if not item.linear: continue + if not item.linear: + continue html = item.data title = ''.join(xpath(html, '/h:html/h:head/h:title/text()')) title = COLLAPSE_RE.sub(' ', title.strip()) @@ -515,17 +518,21 @@ def _toc_from_spine(self, opf): if len(titles) > len(set(titles)): use = headers for title, item in izip(use, self.oeb.spine): - if not item.linear: continue + if not item.linear: + continue toc.add(title, item.href) return True def _toc_from_opf(self, opf, item): self.oeb.auto_generated_toc = False - if self._toc_from_ncx(item): return + if self._toc_from_ncx(item): + return # Prefer HTML to tour based TOC, since several LIT files # have good HTML TOCs but bad tour based TOCs - if self._toc_from_html(opf): return - if self._toc_from_tour(opf): return + if self._toc_from_html(opf): + return + if self._toc_from_tour(opf): + return self._toc_from_spine(opf) self.oeb.auto_generated_toc = True @@ -589,8 +596,10 @@ def _pages_from_page_map(self, opf): return True def _pages_from_opf(self, opf, item): - if self._pages_from_ncx(opf, item): return - if self._pages_from_page_map(opf): return + if self._pages_from_ncx(opf, item): + return + if self._pages_from_page_map(opf): + return return def _cover_from_html(self, hcover): diff --git a/src/calibre/ebooks/oeb/transforms/page_margin.py b/src/calibre/ebooks/oeb/transforms/page_margin.py index 67ba490a81..382f0c8f53 100644 --- a/src/calibre/ebooks/oeb/transforms/page_margin.py +++ b/src/calibre/ebooks/oeb/transforms/page_margin.py @@ -20,9 +20,10 @@ def __call__(self, oeb, log, opts): self.oeb, self.opts, self.log = oeb, opts, log for item in self.oeb.manifest: - if (item.media_type in ('application/vnd.adobe-page-template+xml', - 'application/vnd.adobe.page-template+xml') and - hasattr(item.data, 'xpath')): + if item.media_type in { + 'application/vnd.adobe-page-template+xml', 'application/vnd.adobe.page-template+xml', + 'application/adobe-page-template+xml', 'application/adobe.page-template+xml', + } and hasattr(item.data, 'xpath'): self.log('Removing page margins specified in the' ' Adobe page template') for elem in item.data.xpath( @@ -84,13 +85,12 @@ def get_margins(self, elem): except: pass else: - if ( (hasattr(ti, 'startswith') and ti.startswith('-')) or + if ((hasattr(ti, 'startswith') and ti.startswith('-')) or isinstance(ti, (int, float)) and ti < 0): raise NegativeTextIndent() return style.marginLeft, style.marginRight, style return '', '', None - def process_level(self, level): elems = self.levels[level] self.stats[level+'_left'] = Counter() @@ -107,7 +107,6 @@ def process_level(self, level): remove_left = self.analyze_stats(self.stats[level+'_left']) remove_right = self.analyze_stats(self.stats[level+'_right']) - if remove_left: mcl = self.stats[level+'_left'].most_common(1)[0][0] self.log('Removing level %s left margin of:'%level, mcl) diff --git a/src/calibre/ebooks/oeb/transforms/trimmanifest.py b/src/calibre/ebooks/oeb/transforms/trimmanifest.py index 3d56f0ef3d..67d55a581e 100644 --- a/src/calibre/ebooks/oeb/transforms/trimmanifest.py +++ b/src/calibre/ebooks/oeb/transforms/trimmanifest.py @@ -47,6 +47,8 @@ def __call__(self, oeb, context): item.data is not None: hrefs = [r[2] for r in iterlinks(item.data)] for href in hrefs: + if isinstance(href, bytes): + href = href.decode('utf-8') try: href = item.abshref(urlnormalize(href)) except: diff --git a/src/calibre/ebooks/pdf/render/links.py b/src/calibre/ebooks/pdf/render/links.py index 97a6551dbd..2d0b91bbfe 100644 --- a/src/calibre/ebooks/pdf/render/links.py +++ b/src/calibre/ebooks/pdf/render/links.py @@ -44,14 +44,18 @@ def add(self, base_path, start_page, links, anchors): for link in links: href, page, rect = link p, frag = href.partition('#')[0::2] - link = ((path, p, frag or None), self.pdf.get_pageref(page).obj, Array(rect)) + try: + link = ((path, p, frag or None), self.pdf.get_pageref(page).obj, Array(rect)) + except IndexError: + self.log.warn('Unable to find page for link: %r, ignoring it' % link) + continue self.links.append(link) def add_links(self): for link in self.links: path, href, frag = link[0] page, rect = link[1:] - combined_path = os.path.abspath(os.path.join(os.path.dirname(path), *href.split('/'))) + combined_path = os.path.normcase(os.path.abspath(os.path.join(os.path.dirname(path), *unquote(href).split('/')))) is_local = not href or combined_path in self.anchors annot = Dictionary({ 'Type':Name('Annot'), 'Subtype':Name('Link'), diff --git a/src/calibre/gui2/__init__.py b/src/calibre/gui2/__init__.py index 4a6ff9bb93..5fcde65ff5 100644 --- a/src/calibre/gui2/__init__.py +++ b/src/calibre/gui2/__init__.py @@ -187,7 +187,7 @@ def _config(): # {{{ c.add_opt('shortcuts_search_history', default=[], help='Search history for the keyboard preferences') c.add_opt('jobs_search_history', default=[], - help='Search history for the keyboard preferences') + help='Search history for the tweaks preferences') c.add_opt('tweaks_search_history', default=[], help='Search history for tweaks') c.add_opt('worker_limit', default=6, @@ -716,10 +716,11 @@ def choose_save_file(window, name, title, filters=[], all_files=True): ans = ans[0] return ans -def choose_images(window, name, title, select_only_single_file=True): +def choose_images(window, name, title, select_only_single_file=True, + formats=('png', 'gif', 'jpg', 'jpeg', 'svg')): mode = QFileDialog.ExistingFile if select_only_single_file else QFileDialog.ExistingFiles fd = FileDialog(title=title, name=name, - filters=[('Images', ['png', 'gif', 'jpeg', 'jpg', 'svg'])], + filters=[('Images', list(formats))], parent=window, add_all_files_filter=False, mode=mode, ) fd.setParent(None) diff --git a/src/calibre/gui2/actions/choose_library.py b/src/calibre/gui2/actions/choose_library.py index d38c16ddf3..0d096d66bd 100644 --- a/src/calibre/gui2/actions/choose_library.py +++ b/src/calibre/gui2/actions/choose_library.py @@ -116,11 +116,12 @@ def __init__(self, stats, location, parent=None): self.cd.setIcon(QIcon(I('document_open.png'))) self.cd.clicked.connect(self.choose_dir) l.addWidget(self.cd, 2, 1, 1, 1) - self.bb = QDialogButtonBox(self) + self.bb = QDialogButtonBox(QDialogButtonBox.Abort) b = self.bb.addButton(_('Library moved'), self.bb.AcceptRole) b.setIcon(QIcon(I('ok.png'))) b = self.bb.addButton(_('Forget library'), self.bb.RejectRole) b.setIcon(QIcon(I('edit-clear.png'))) + b.clicked.connect(self.forget_library) self.bb.accepted.connect(self.accept) self.bb.rejected.connect(self.reject) l.addWidget(self.bb, 3, 0, 1, ncols) @@ -132,9 +133,8 @@ def choose_dir(self): if d is not None: self.loc.setText(d) - def reject(self): + def forget_library(self): self.stats.remove(self.location) - QDialog.reject(self) def accept(self): newloc = unicode(self.loc.text()) diff --git a/src/calibre/gui2/actions/copy_to_library.py b/src/calibre/gui2/actions/copy_to_library.py index 15155990a0..8465cb98f0 100644 --- a/src/calibre/gui2/actions/copy_to_library.py +++ b/src/calibre/gui2/actions/copy_to_library.py @@ -10,8 +10,7 @@ from threading import Thread from contextlib import closing -from PyQt4.Qt import (QToolButton, QDialog, QGridLayout, QIcon, QLabel, - QCheckBox, QDialogButtonBox) +from PyQt4.Qt import (QToolButton, QDialog, QGridLayout, QIcon, QLabel, QDialogButtonBox) from calibre.gui2.actions import InterfaceAction from calibre.gui2 import (error_dialog, Dispatcher, warning_dialog, gprefs, @@ -21,7 +20,7 @@ from calibre.utils.config import prefs, tweaks from calibre.utils.date import now -class Worker(Thread): # {{{ +class Worker(Thread): # {{{ def __init__(self, ids, db, loc, progress, done, delete_after): Thread.__init__(self) @@ -71,8 +70,10 @@ def _doit(self, newdb): mi.timestamp = now() self.progress(i, mi.title) fmts = self.db.formats(x, index_is_id=True) - if not fmts: fmts = [] - else: fmts = fmts.split(',') + if not fmts: + fmts = [] + else: + fmts = fmts.split(',') paths = [] for fmt in fmts: p = self.db.format(x, fmt, index_is_id=True, @@ -82,7 +83,7 @@ def _doit(self, newdb): automerged = False if prefs['add_formats_to_existing']: identical_book_list = newdb.find_identical_books(mi) - if identical_book_list: # books with same author and nearly same title exist in newdb + if identical_book_list: # books with same author and nearly same title exist in newdb self.auto_merged_ids[x] = _('%(title)s by %(author)s')%\ dict(title=mi.title, author=mi.format_field('authors')[1]) automerged = True @@ -127,7 +128,7 @@ def _doit(self, newdb): # }}} -class ChooseLibrary(QDialog): # {{{ +class ChooseLibrary(QDialog): # {{{ def __init__(self, parent): super(ChooseLibrary, self).__init__(parent) @@ -146,12 +147,19 @@ def __init__(self, parent): b.setToolTip(_('Browse for library')) b.clicked.connect(self.browse) l.addWidget(b, 0, 2) - self.c = c = QCheckBox(_('&Delete after copy')) - l.addWidget(c, 1, 0, 1, 3) - self.bb = bb = QDialogButtonBox(QDialogButtonBox.Ok|QDialogButtonBox.Cancel) + self.bb = bb = QDialogButtonBox(QDialogButtonBox.Cancel) bb.accepted.connect(self.accept) bb.rejected.connect(self.reject) - l.addWidget(bb, 2, 0, 1, 3) + self.delete_after_copy = False + b = bb.addButton(_('&Copy'), bb.AcceptRole) + b.setIcon(QIcon(I('edit-copy.png'))) + b.setToolTip(_('Copy to the specified library')) + b2 = bb.addButton(_('&Move'), bb.AcceptRole) + b2.clicked.connect(lambda: setattr(self, 'delete_after_copy', True)) + b2.setIcon(QIcon(I('edit-cut.png'))) + b2.setToolTip(_('Copy to the specified library and delete from the current library')) + b.setDefault(True) + l.addWidget(bb, 1, 0, 1, 3) le.setMinimumWidth(350) self.resize(self.sizeHint()) @@ -163,7 +171,7 @@ def browse(self): @property def args(self): - return (unicode(self.le.text()), self.c.isChecked()) + return (unicode(self.le.text()), self.delete_after_copy) # }}} class CopyToLibraryAction(InterfaceAction): @@ -204,7 +212,7 @@ def build_menus(self): self.menu.addAction(name, partial(self.copy_to_library, loc)) self.menu.addAction(name + ' ' + _('(delete after copy)'), - partial(self.copy_to_library, loc, delete_after=True)) + partial(self.copy_to_library, loc, delete_after=True)) self.menu.addSeparator() self.menu.addAction(_('Choose library by path...'), self.choose_library) @@ -214,6 +222,8 @@ def choose_library(self): d = ChooseLibrary(self.gui) if d.exec_() == d.Accepted: path, delete_after = d.args + if not path: + return db = self.gui.library_view.model().db current = os.path.normcase(os.path.abspath(db.library_path)) if current == os.path.normcase(os.path.abspath(path)): diff --git a/src/calibre/gui2/actions/delete.py b/src/calibre/gui2/actions/delete.py index 7bdcb18644..178d94a477 100644 --- a/src/calibre/gui2/actions/delete.py +++ b/src/calibre/gui2/actions/delete.py @@ -180,6 +180,13 @@ def remove_format_by_id(self, book_id, fmt): self.gui.library_view.currentIndex()) self.gui.tags_view.recount() + def restore_format(self, book_id, original_fmt): + self.gui.current_db.restore_original_format(book_id, original_fmt) + self.gui.library_view.model().refresh_ids([book_id]) + self.gui.library_view.model().current_changed(self.gui.library_view.currentIndex(), + self.gui.library_view.currentIndex()) + self.gui.tags_view.recount() + def delete_selected_formats(self, *args): ids = self._get_selected_ids() if not ids: diff --git a/src/calibre/gui2/actions/edit_metadata.py b/src/calibre/gui2/actions/edit_metadata.py index 4a78c6663a..0fd5d31944 100644 --- a/src/calibre/gui2/actions/edit_metadata.py +++ b/src/calibre/gui2/actions/edit_metadata.py @@ -5,10 +5,10 @@ __copyright__ = '2010, Kovid Goyal ' __docformat__ = 'restructuredtext en' -import os, shutil +import os, shutil, copy from functools import partial -from PyQt4.Qt import QMenu, QModelIndex, QTimer +from PyQt4.Qt import QMenu, QModelIndex, QTimer, QIcon from calibre.gui2 import error_dialog, Dispatcher, question_dialog from calibre.gui2.dialogs.metadata_bulk import MetadataBulkDialog @@ -16,7 +16,8 @@ from calibre.gui2.dialogs.device_category_editor import DeviceCategoryEditor from calibre.gui2.actions import InterfaceAction from calibre.ebooks.metadata import authors_to_string -from calibre.ebooks.metadata.opf2 import OPF +from calibre.ebooks.metadata.book.base import Metadata +from calibre.ebooks.metadata.opf2 import OPF, metadata_to_opf from calibre.utils.icu import sort_key from calibre.db.errors import NoSuchFormat @@ -147,14 +148,18 @@ def metadata_downloaded(self, job): payload = (id_map, tdir, log_file, lm_map, failed_ids.union(failed_covers)) - self.gui.proceed_question(self.apply_downloaded_metadata, payload, + review_apply = partial(self.apply_downloaded_metadata, True) + normal_apply = partial(self.apply_downloaded_metadata, False) + self.gui.proceed_question(normal_apply, payload, log_file, _('Download log'), _('Download complete'), msg, det_msg=det_msg, show_copy_button=show_copy_button, cancel_callback=partial(self.cleanup_bulk_download, tdir), log_is_file=True, checkbox_msg=checkbox_msg, - checkbox_checked=False) + checkbox_checked=False, action_callback=review_apply, + action_label=_('Review downloaded metadata'), + action_icon=QIcon(I('auto_author_sort.png'))) - def apply_downloaded_metadata(self, payload, *args): + def apply_downloaded_metadata(self, review, payload, *args): good_ids, tdir, log_file, lm_map, failed_ids = payload if not good_ids: return @@ -194,6 +199,58 @@ def apply_downloaded_metadata(self, payload, *args): cov = None id_map[bid] = (opf, cov) + if review: + def get_metadata(book_id): + oldmi = db.get_metadata(book_id, index_is_id=True, get_cover=True, cover_as_data=True) + opf, cov = id_map[book_id] + if opf is None: + newmi = Metadata(oldmi.title, authors=tuple(oldmi.authors)) + else: + with open(opf, 'rb') as f: + newmi = OPF(f, basedir=os.path.dirname(opf), populate_spine=False).to_book_metadata() + newmi.cover, newmi.cover_data = None, (None, None) + for x in ('title', 'authors'): + if newmi.is_null(x): + # Title and author are set to null if they are + # the same as the originals as an optimization, + # we undo that, as it is confusing. + newmi.set(x, copy.copy(oldmi.get(x))) + if cov: + with open(cov, 'rb') as f: + newmi.cover_data = ('jpg', f.read()) + return oldmi, newmi + from calibre.gui2.metadata.diff import CompareMany + d = CompareMany( + set(id_map), get_metadata, db.field_metadata, parent=self.gui, + window_title=_('Review downloaded metadata'), + reject_button_tooltip=_('Discard downloaded metadata for this book'), + accept_all_tooltip=_('Use the downloaded metadata for all remaining books'), + reject_all_tooltip=_('Discard downloaded metadata for all remaining books'), + revert_tooltip=_('Discard the downloaded value for: %s'), + intro_msg=_('The downloaded metadata is on the left and the original metadata' + ' is on the right. If a downloaded value is blank or unknown,' + ' the original value is used.') + ) + if d.exec_() == d.Accepted: + nid_map = {} + for book_id, (changed, mi) in d.accepted.iteritems(): + if mi is None: # discarded + continue + if changed: + opf, cov = id_map[book_id] + cfile = mi.cover + mi.cover, mi.cover_data = None, (None, None) + if opf is not None: + with open(opf, 'wb') as f: + f.write(metadata_to_opf(mi)) + if cfile and cov: + shutil.copyfile(cfile, cov) + os.remove(cfile) + nid_map[book_id] = id_map[book_id] + id_map = nid_map + else: + id_map = {} + restrict_to_failed = bool(args and args[0]) if restrict_to_failed: db.data.set_marked_ids(failed_ids) @@ -279,7 +336,7 @@ def edit_bulk_metadata(self, checked): ''' Edit metadata of selected books in library in bulk. ''' - rows = [r.row() for r in \ + rows = [r.row() for r in self.gui.library_view.selectionModel().selectedRows()] m = self.gui.library_view.model() ids = [m.id(r) for r in rows] @@ -469,45 +526,39 @@ def merge_metadata(self, dest_id, src_ids): if not had_orig_cover and dest_cover: db.set_cover(dest_id, dest_cover) - for key in db.field_metadata: #loop thru all defined fields - if db.field_metadata[key]['is_custom']: - colnum = db.field_metadata[key]['colnum'] + for key in db.field_metadata: # loop thru all defined fields + fm = db.field_metadata[key] + if not fm['is_custom']: + continue + dt = fm['datatype'] + colnum = fm['colnum'] # Get orig_dest_comments before it gets changed - if db.field_metadata[key]['datatype'] == 'comments': - orig_dest_value = db.get_custom(dest_id, num=colnum, index_is_id=True) + if dt == 'comments': + orig_dest_value = db.get_custom(dest_id, num=colnum, index_is_id=True) + for src_id in src_ids: - dest_value = db.get_custom(dest_id, num=colnum, index_is_id=True) - src_value = db.get_custom(src_id, num=colnum, index_is_id=True) - if db.field_metadata[key]['datatype'] == 'comments': - if src_value and src_value != orig_dest_value: - if not dest_value: + dest_value = db.get_custom(dest_id, num=colnum, index_is_id=True) + src_value = db.get_custom(src_id, num=colnum, index_is_id=True) + if (dt == 'comments' and src_value and src_value != orig_dest_value): + if not dest_value: + db.set_custom(dest_id, src_value, num=colnum) + else: + dest_value = unicode(dest_value) + u'\n\n' + unicode(src_value) + db.set_custom(dest_id, dest_value, num=colnum) + if (dt in {'bool', 'int', 'float', 'rating', 'datetime'} and dest_value is None): db.set_custom(dest_id, src_value, num=colnum) - else: - dest_value = unicode(dest_value) + u'\n\n' + unicode(src_value) + if (dt == 'series' and not dest_value and src_value): + src_index = db.get_custom_extra(src_id, num=colnum, index_is_id=True) + db.set_custom(dest_id, src_value, num=colnum, extra=src_index) + if (dt == 'enumeration' or (dt == 'text' and not fm['is_multiple']) and not dest_value): + db.set_custom(dest_id, src_value, num=colnum) + if (dt == 'text' and fm['is_multiple'] and src_value): + if not dest_value: + dest_value = src_value + else: + dest_value.extend(src_value) db.set_custom(dest_id, dest_value, num=colnum) - if db.field_metadata[key]['datatype'] in \ - ('bool', 'int', 'float', 'rating', 'datetime') \ - and dest_value is None: - db.set_custom(dest_id, src_value, num=colnum) - if db.field_metadata[key]['datatype'] == 'series' \ - and not dest_value: - if src_value: - src_index = db.get_custom_extra(src_id, num=colnum, index_is_id=True) - db.set_custom(dest_id, src_value, num=colnum, extra=src_index) - if (db.field_metadata[key]['datatype'] == 'enumeration' or - (db.field_metadata[key]['datatype'] == 'text' and - not db.field_metadata[key]['is_multiple']) - and not dest_value): - db.set_custom(dest_id, src_value, num=colnum) - if db.field_metadata[key]['datatype'] == 'text' \ - and db.field_metadata[key]['is_multiple']: - if src_value: - if not dest_value: - dest_value = src_value - else: - dest_value.extend(src_value) - db.set_custom(dest_id, dest_value, num=colnum) - # }}} + # }}} def edit_device_collections(self, view, oncard=None): model = view.model() @@ -515,8 +566,8 @@ def edit_device_collections(self, view, oncard=None): d = DeviceCategoryEditor(self.gui, tag_to_match=None, data=result, key=sort_key) d.exec_() if d.result() == d.Accepted: - to_rename = d.to_rename # dict of new text to old ids - to_delete = d.to_delete # list of ids + to_rename = d.to_rename # dict of new text to old ids + to_delete = d.to_delete # list of ids for old_id, new_name in to_rename.iteritems(): model.rename_collection(old_id, new_name=unicode(new_name)) for item in to_delete: @@ -585,7 +636,6 @@ def do_one_apply(self): self.apply_pd.value += 1 QTimer.singleShot(50, self.do_one_apply) - def apply_mi(self, book_id, mi): db = self.gui.current_db diff --git a/src/calibre/gui2/actions/polish.py b/src/calibre/gui2/actions/polish.py index 127749cc51..eb21fb2626 100644 --- a/src/calibre/gui2/actions/polish.py +++ b/src/calibre/gui2/actions/polish.py @@ -17,14 +17,14 @@ QSizePolicy, QTimer, QModelIndex, QTextEdit, QInputDialog, QMenu) -from calibre.gui2 import error_dialog, Dispatcher, gprefs +from calibre.gui2 import error_dialog, Dispatcher, gprefs, question_dialog from calibre.gui2.actions import InterfaceAction from calibre.gui2.convert.metadata import create_opf_file from calibre.gui2.dialogs.progress import ProgressDialog from calibre.ptempfile import PersistentTemporaryDirectory from calibre.utils.config_base import tweaks -class Polish(QDialog): # {{{ +class Polish(QDialog): # {{{ def __init__(self, db, book_id_map, parent=None): from calibre.ebooks.oeb.polish.main import HELP @@ -37,7 +37,13 @@ def __init__(self, db, book_id_map, parent=None): self.setWindowTitle(title) self.help_text = { - 'polish': _('

About Polishing books

%s')%HELP['about'], + 'polish': _('

About Polishing books

%s')%HELP['about'].format( + _('''

If you have both EPUB and ORIGINAL_EPUB in your book, + then polishing will run on ORIGINAL_EPUB (the same for other + ORIGINAL_* formats). So if you + want Polishing to not run on the ORIGINAL_* format, delete the + ORIGINAL_* format before running it.

''') + ), 'subset':_('

Subsetting fonts

%s')%HELP['subset'], @@ -52,7 +58,7 @@ def __init__(self, db, book_id_map, parent=None): ' formats are not capable of supporting all the' ' metadata in calibre.

There is a separate option to' ' update the cover.

'), - 'do_cover': _('

Update the covers in the ebook files to match the' + 'do_cover': _('

Update the covers in the ebook files to match the' ' current cover in the calibre library.

' '

If the ebook file does not have' ' an identifiable cover, a new cover is inserted.

' @@ -198,6 +204,15 @@ def accept(self): ac[action] = saved_prefs[action] = bool(getattr(self, 'opt_'+action).isChecked()) if ac[action]: something = True + if ac['jacket'] and not ac['metadata']: + if not question_dialog(self, _('Must update metadata'), + _('You have selected the option to add metadata as ' + 'a "book jacket". For this option to work, you ' + 'must also select the option to update metadata in' + ' the book files. Do you want to select it?')): + return + ac['metadata'] = saved_prefs['metadata'] = True + self.opt_metadata.setChecked(True) if not something: return error_dialog(self, _('No actions selected'), _('You must select at least one action, or click Cancel.'), @@ -269,7 +284,7 @@ def do_book(self, num, book_id, formats): self.jobs.append((desc, data, book_id, base, is_orig)) # }}} -class Report(QDialog): # {{{ +class Report(QDialog): # {{{ def __init__(self, parent): QDialog.__init__(self, parent) @@ -421,7 +436,7 @@ def get_supported_books(self, book_ids): supported = set(SUPPORTED) for x in SUPPORTED: supported.add('ORIGINAL_'+x) - ans = [(x, set( (db.formats(x, index_is_id=True) or '').split(',') ) + ans = [(x, set((db.formats(x, index_is_id=True) or '').split(',')) .intersection(supported)) for x in book_ids] ans = [x for x in ans if x[1]] if not ans: @@ -470,8 +485,7 @@ def book_polished(self, job): db.save_original_format(book_id, fmt, notify=False) with open(path, 'rb') as f: db.add_format(book_id, fmt, f, index_is_id=True) - self.gui.status_bar.show_message(job.description + \ - (' completed'), 2000) + self.gui.status_bar.show_message(job.description + (' completed'), 2000) try: shutil.rmtree(base) parent = os.path.dirname(base) diff --git a/src/calibre/gui2/book_details.py b/src/calibre/gui2/book_details.py index 4d00d282d5..44c324fa43 100644 --- a/src/calibre/gui2/book_details.py +++ b/src/calibre/gui2/book_details.py @@ -405,6 +405,8 @@ class BookInfo(QWebView): link_clicked = pyqtSignal(object) remove_format = pyqtSignal(int, object) save_format = pyqtSignal(int, object) + restore_format = pyqtSignal(int, object) + copy_link = pyqtSignal(object) def __init__(self, vertical, parent=None): QWebView.__init__(self, parent) @@ -418,23 +420,33 @@ def __init__(self, vertical, parent=None): palette.setBrush(QPalette.Base, Qt.transparent) self.page().setPalette(palette) self.css = P('templates/book_details.css', data=True).decode('utf-8') - for x, icon in [('remove', 'trash.png'), ('save', 'save.png')]: + for x, icon in [('remove_format', 'trash.png'), ('save_format', 'save.png'), ('restore_format', 'edit-undo.png'), ('copy_link','edit-copy.png')]: ac = QAction(QIcon(I(icon)), '', self) ac.current_fmt = None - ac.triggered.connect(getattr(self, '%s_format_triggerred'%x)) - setattr(self, '%s_format_action'%x, ac) + ac.current_url = None + ac.triggered.connect(getattr(self, '%s_triggerred'%x)) + setattr(self, '%s_action'%x, ac) def context_action_triggered(self, which): - f = getattr(self, '%s_format_action'%which).current_fmt - if f: + f = getattr(self, '%s_action'%which).current_fmt + url = getattr(self, '%s_action'%which).current_url + if f and 'format' in which: book_id, fmt = f - getattr(self, '%s_format'%which).emit(book_id, fmt) + getattr(self, which).emit(book_id, fmt) + if url and 'link' in which: + getattr(self, which).emit(url) def remove_format_triggerred(self): - self.context_action_triggered('remove') + self.context_action_triggered('remove_format') def save_format_triggerred(self): - self.context_action_triggered('save') + self.context_action_triggered('save_format') + + def restore_format_triggerred(self): + self.context_action_triggered('restore_format') + + def copy_link_triggerred(self): + self.context_action_triggered('copy_link') def link_activated(self, link): self._link_clicked = True @@ -470,20 +482,33 @@ def contextMenuEvent(self, ev): for action in list(menu.actions()): if action is not ca: menu.removeAction(action) - if not r.isNull() and url.startswith('format:'): - parts = url.split(':') - try: - book_id, fmt = int(parts[1]), parts[2] - except: - import traceback - traceback.print_exc() - else: - for a, t in [('remove', _('Delete the %s format')), - ('save', _('Save the %s format to disk'))]: - ac = getattr(self, '%s_format_action'%a) - ac.current_fmt = (book_id, fmt) - ac.setText(t%parts[2]) + if not r.isNull(): + if url.startswith('http'): + for a, t in [('copy', _('&Copy Link')), + ]: + ac = getattr(self, '%s_link_action'%a) + ac.current_url = url + ac.setText(t) menu.addAction(ac) + + if url.startswith('format:'): + parts = url.split(':') + try: + book_id, fmt = int(parts[1]), parts[2] + except: + import traceback + traceback.print_exc() + else: + for a, t in [('remove', _('Delete the %s format')), + ('save', _('Save the %s format to disk')), + ('restore', _('Restore the %s format')), + ]: + if a == 'restore' and not fmt.upper().startswith('ORIGINAL_'): + continue + ac = getattr(self, '%s_format_action'%a) + ac.current_fmt = (book_id, fmt) + ac.setText(t%parts[2]) + menu.addAction(ac) if len(menu.actions()) > 0: menu.exec_(ev.globalPos()) @@ -585,6 +610,8 @@ class BookDetails(QWidget): # {{{ view_specific_format = pyqtSignal(int, object) remove_specific_format = pyqtSignal(int, object) save_specific_format = pyqtSignal(int, object) + restore_specific_format = pyqtSignal(int, object) + copy_link = pyqtSignal(object) remote_file_dropped = pyqtSignal(object, object) files_dropped = pyqtSignal(object, object) cover_changed = pyqtSignal(object, object) @@ -654,6 +681,8 @@ def __init__(self, vertical, parent=None): self.book_info.link_clicked.connect(self.handle_click) self.book_info.remove_format.connect(self.remove_specific_format) self.book_info.save_format.connect(self.save_specific_format) + self.book_info.restore_format.connect(self.restore_specific_format) + self.book_info.copy_link.connect(self.copy_link) self.setCursor(Qt.PointingHandCursor) def handle_click(self, link): diff --git a/src/calibre/gui2/comments_editor.py b/src/calibre/gui2/comments_editor.py index 41f92b509a..c043fccba4 100644 --- a/src/calibre/gui2/comments_editor.py +++ b/src/calibre/gui2/comments_editor.py @@ -66,6 +66,7 @@ class EditorWidget(QWebView): # {{{ def __init__(self, parent=None): QWebView.__init__(self, parent) + self.readonly = False self.comments_pat = re.compile(r'', re.DOTALL) @@ -163,7 +164,11 @@ def __init__(self, parent=None): self.page().linkClicked.connect(self.link_clicked) self.setHtml('') - self.page().setContentEditable(True) + self.set_readonly(False) + + def set_readonly(self, what): + self.readonly = what + self.page().setContentEditable(not self.readonly) def clear_text(self, *args): us = self.page().undoStack() @@ -313,7 +318,7 @@ def set_font_style(self): # toList() is needed because PyQt on Debian is old/broken for body in self.page().mainFrame().documentElement().findAll('body').toList(): body.setAttribute('style', style) - self.page().setContentEditable(True) + self.page().setContentEditable(not self.readonly) def keyPressEvent(self, ev): if ev.key() in (Qt.Key_Tab, Qt.Key_Escape, Qt.Key_Backtab): @@ -585,6 +590,7 @@ def __init__(self, parent=None, one_line_toolbar=False): self.tabs.addTab(self.code_edit, _('HTML Source')) self.tabs.currentChanged[int].connect(self.change_tab) self.highlighter = Highlighter(self.code_edit.document()) + self.layout().setContentsMargins(0, 0, 0, 0) # toolbar1 {{{ self.toolbar1.addAction(self.editor.action_undo) @@ -666,6 +672,12 @@ def hide_toolbars(self): self.toolbar2.setVisible(False) self.toolbar3.setVisible(False) + def set_readonly(self, what): + self.editor.set_readonly(what) + + def hide_tabs(self): + self.tabs.tabBar().setVisible(False) + # }}} if __name__ == '__main__': diff --git a/src/calibre/gui2/convert/single.py b/src/calibre/gui2/convert/single.py index 469091162b..1a915288a8 100644 --- a/src/calibre/gui2/convert/single.py +++ b/src/calibre/gui2/convert/single.py @@ -75,7 +75,7 @@ def data(self, index, role): def get_preferred_input_format_for_book(db, book_id): recs = load_specifics(db, book_id) if recs: - return recs.get('gui_preferred_input_format', None) + return recs.get('gui_preferred_input_format', None) def get_available_formats_for_book(db, book_id): available_formats = db.formats(book_id, index_is_id=True) @@ -147,6 +147,7 @@ def __init__(self, parent, db, book_id, self.connect(self.groups, SIGNAL('entered(QModelIndex)'), self.show_group_help) rb = self.buttonBox.button(self.buttonBox.RestoreDefaults) + rb.setText(_('Restore &Defaults')) self.connect(rb, SIGNAL('clicked()'), self.restore_defaults) self.groups.setMouseTracking(True) geom = gprefs.get('convert_single_dialog_geom', None) @@ -188,7 +189,6 @@ def widget_factory(cls): return cls(self.stack, self.plumber.get_option_by_name, self.plumber.get_option_help, self.db, self.book_id) - self.mw = widget_factory(MetadataWidget) self.setWindowTitle(_('Convert')+ ' ' + unicode(self.mw.title.text())) lf = widget_factory(LookAndFeelWidget) @@ -209,7 +209,8 @@ def widget_factory(cls): self.plumber.get_option_help, self.db, self.book_id) while True: c = self.stack.currentWidget() - if not c: break + if not c: + break self.stack.removeWidget(c) widgets = [self.mw, lf, hw, ps, sd, toc, sr] @@ -234,7 +235,6 @@ def widget_factory(cls): except: pass - def setup_input_output_formats(self, db, book_id, preferred_input_format, preferred_output_format): if preferred_output_format: diff --git a/src/calibre/gui2/device.py b/src/calibre/gui2/device.py index b2dedf74db..45778ec309 100644 --- a/src/calibre/gui2/device.py +++ b/src/calibre/gui2/device.py @@ -1131,6 +1131,13 @@ def books_deleted(self, job): # so we don't need to worry about whether some succeeded or not. self.refresh_ondevice(reset_only=False) + try: + if not self.current_view().currentIndex().isValid(): + self.current_view().set_current_row() + self.current_view().refresh_book_details() + except: + traceback.print_exc() + def dispatch_sync_event(self, dest, delete, specific): rows = self.library_view.selectionModel().selectedRows() if not rows or len(rows) == 0: diff --git a/src/calibre/gui2/dialogs/metadata_bulk.py b/src/calibre/gui2/dialogs/metadata_bulk.py index 3aac439815..84ca9135f0 100644 --- a/src/calibre/gui2/dialogs/metadata_bulk.py +++ b/src/calibre/gui2/dialogs/metadata_bulk.py @@ -12,7 +12,7 @@ from calibre.gui2.dialogs.metadata_bulk_ui import Ui_MetadataBulkDialog from calibre.gui2.dialogs.tag_editor import TagEditor from calibre.ebooks.metadata import string_to_authors, authors_to_string, title_sort -from calibre.ebooks.metadata.book.base import SafeFormat +from calibre.ebooks.metadata.book.formatter import SafeFormat from calibre.gui2.custom_column_widgets import populate_metadata_page from calibre.gui2 import error_dialog, ResizableDialog, UNDEFINED_QDATETIME, \ gprefs, question_dialog diff --git a/src/calibre/gui2/dialogs/template_dialog.py b/src/calibre/gui2/dialogs/template_dialog.py index fc8a528830..b60449512b 100644 --- a/src/calibre/gui2/dialogs/template_dialog.py +++ b/src/calibre/gui2/dialogs/template_dialog.py @@ -11,7 +11,8 @@ from calibre.gui2 import error_dialog from calibre.gui2.dialogs.template_dialog_ui import Ui_TemplateDialog from calibre.utils.formatter_functions import formatter_functions -from calibre.ebooks.metadata.book.base import SafeFormat, Metadata +from calibre.ebooks.metadata.book.base import Metadata +from calibre.ebooks.metadata.book.formatter import SafeFormat from calibre.library.coloring import (displayable_columns) @@ -178,7 +179,7 @@ def check_cursor_pos(self, chr, block, pos_in_block): list = reversed(self.paren_positions[0:found_pp]) for pp in list: if pp.paren == chr: - stack += 1; + stack += 1 elif stack: stack -= 1 else: diff --git a/src/calibre/gui2/init.py b/src/calibre/gui2/init.py index eff36e865b..131adc3216 100644 --- a/src/calibre/gui2/init.py +++ b/src/calibre/gui2/init.py @@ -7,7 +7,7 @@ import functools -from PyQt4.Qt import (Qt, QStackedWidget, QMenu, QTimer, +from PyQt4.Qt import (Qt, QApplication, QStackedWidget, QMenu, QTimer, QSize, QSizePolicy, QStatusBar, QLabel, QFont) from calibre.utils.config import prefs @@ -272,6 +272,10 @@ def finalize_layout(self): self.iactions['Remove Books'].remove_format_by_id) self.book_details.save_specific_format.connect( self.iactions['Save To Disk'].save_library_format_by_ids) + self.book_details.restore_specific_format.connect( + self.iactions['Remove Books'].restore_format) + self.book_details.copy_link.connect(self.bd_copy_link, + type=Qt.QueuedConnection) self.book_details.view_device_book.connect( self.iactions['View'].view_device_book) @@ -293,6 +297,10 @@ def bd_cover_removed(self, id_): if self.cover_flow: self.cover_flow.dataChanged() + def bd_copy_link(self, url): + if url: + QApplication.clipboard().setText(url) + def save_layout_state(self): for x in ('library', 'memory', 'card_a', 'card_b'): getattr(self, x+'_view').save_state() diff --git a/src/calibre/gui2/languages.py b/src/calibre/gui2/languages.py index f49fc863cb..f234a9c56b 100644 --- a/src/calibre/gui2/languages.py +++ b/src/calibre/gui2/languages.py @@ -23,14 +23,17 @@ def __init__(self, parent=None, db=None): self.comma_map = {k:k.replace(',', '|') for k in self.names_with_commas} self.comma_rmap = {v:k for k, v in self.comma_map.iteritems()} self._rmap = {lower(v):k for k,v in self._lang_map.iteritems()} - if db is not None: - self.init_langs(db) + self.init_langs(db) def init_langs(self, db): - pmap = {self._lang_map.get(x[1], x[1]):1 for x in - db.get_languages_with_ids()} - all_items = sorted(self._lang_map.itervalues(), - key=lambda x: (-pmap.get(x, 0), sort_key(x))) + if db is not None: + pmap = {self._lang_map.get(x[1], x[1]):1 for x in + db.get_languages_with_ids()} + all_items = sorted(self._lang_map.itervalues(), + key=lambda x: (-pmap.get(x, 0), sort_key(x))) + else: + all_items = sorted(self._lang_map.itervalues(), + key=lambda x: sort_key(x)) self.update_items_cache(all_items) @property diff --git a/src/calibre/gui2/layout.py b/src/calibre/gui2/layout.py index 6563059821..82e127970c 100644 --- a/src/calibre/gui2/layout.py +++ b/src/calibre/gui2/layout.py @@ -16,11 +16,10 @@ from calibre.gui2.search_box import SearchBox2, SavedSearchBox from calibre.gui2.throbber import ThrobbingButton from calibre.gui2.bars import BarsManager -from calibre.gui2.widgets import ComboBoxWithHelp from calibre.utils.config_base import tweaks from calibre import human_readable -class LocationManager(QObject): # {{{ +class LocationManager(QObject): # {{{ locations_changed = pyqtSignal() unmount_device = pyqtSignal() @@ -165,7 +164,7 @@ def available_actions(self): # }}} -class SearchBar(QWidget): # {{{ +class SearchBar(QWidget): # {{{ def __init__(self, parent): QWidget.__init__(self, parent) @@ -173,11 +172,13 @@ def __init__(self, parent): self.setLayout(self._layout) self._layout.setContentsMargins(0,5,0,0) - x = ComboBoxWithHelp(self) - x.setMaximumSize(QSize(150, 16777215)) - x.setObjectName("search_restriction") + x = QToolButton(self) + x.setText(_('Vi&rtual Library')) + x.setIcon(QIcon(I('lt.png'))) + x.setObjectName("virtual_library") + x.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) l.addWidget(x) - parent.search_restriction = x + parent.virtual_library = x x = QLabel(self) x.setObjectName("search_count") @@ -243,7 +244,7 @@ def __init__(self, parent): # }}} -class Spacer(QWidget): # {{{ +class Spacer(QWidget): # {{{ def __init__(self, parent): QWidget.__init__(self, parent) @@ -252,7 +253,7 @@ def __init__(self, parent): self.l.addStretch(10) # }}} -class MainWindowMixin(object): # {{{ +class MainWindowMixin(object): # {{{ def __init__(self, db): self.setObjectName('MainWindow') diff --git a/src/calibre/gui2/library/models.py b/src/calibre/gui2/library/models.py index a08c13c79b..d252af6395 100644 --- a/src/calibre/gui2/library/models.py +++ b/src/calibre/gui2/library/models.py @@ -12,9 +12,9 @@ QModelIndex, QVariant, QDateTime, QColor, QPixmap) from calibre.gui2 import NONE, UNDEFINED_QDATETIME, error_dialog -from calibre.utils.pyparsing import ParseException +from calibre.utils.search_query_parser import ParseException from calibre.ebooks.metadata import fmt_sidx, authors_to_string, string_to_authors -from calibre.ebooks.metadata.book.base import SafeFormat +from calibre.ebooks.metadata.book.formatter import SafeFormat from calibre.ptempfile import PersistentTemporaryFile from calibre.utils.config import tweaks, device_prefs, prefs from calibre.utils.date import dt_factory, qt_to_dt, as_local_time diff --git a/src/calibre/gui2/library/views.py b/src/calibre/gui2/library/views.py index 2dc84cf240..b7fe690717 100644 --- a/src/calibre/gui2/library/views.py +++ b/src/calibre/gui2/library/views.py @@ -807,6 +807,14 @@ def set_current_row(self, row=0, select=True): sm = self.selectionModel() sm.select(index, sm.ClearAndSelect|sm.Rows) + def keyPressEvent(self, ev): + val = self.horizontalScrollBar().value() + ret = super(BooksView, self).keyPressEvent(ev) + if ev.isAccepted() and ev.key() in (Qt.Key_Home, Qt.Key_End + ) and ev.modifiers() & Qt.ControlModifier: + self.horizontalScrollBar().setValue(val) + return ret + def ids_to_rows(self, ids): row_map = OrderedDict() ids = frozenset(ids) diff --git a/src/calibre/gui2/metadata/basic_widgets.py b/src/calibre/gui2/metadata/basic_widgets.py index 5e031a4b2c..5544c52273 100644 --- a/src/calibre/gui2/metadata/basic_widgets.py +++ b/src/calibre/gui2/metadata/basic_widgets.py @@ -101,7 +101,7 @@ def commit(self, db, id_): getattr(db, 'set_'+ self.TITLE_ATTR)(id_, title, notify=False, commit=False) except (IOError, OSError) as err: - if getattr(err, 'errno', None) == errno.EACCES: # Permission denied + if getattr(err, 'errno', None) == errno.EACCES: # Permission denied import traceback fname = getattr(err, 'filename', None) p = 'Locked file: %s\n\n'%fname if fname else '' @@ -273,7 +273,7 @@ def commit(self, db, id_): self.books_to_refresh |= db.set_authors(id_, authors, notify=False, allow_case_change=True) except (IOError, OSError) as err: - if getattr(err, 'errno', None) == errno.EACCES: # Permission denied + if getattr(err, 'errno', None) == errno.EACCES: # Permission denied import traceback fname = getattr(err, 'filename', None) p = 'Locked file: %s\n\n'%fname if fname else '' @@ -485,7 +485,7 @@ def fset(self, val): def initialize(self, db, id_): self.books_to_refresh = set([]) all_series = db.all_series() - all_series.sort(key=lambda x : sort_key(x[1])) + all_series.sort(key=lambda x: sort_key(x[1])) self.update_items_cache([x[1] for x in all_series]) series_id = db.series_id(id_, index_is_id=True) inval = '' @@ -586,7 +586,7 @@ def break_cycles(self): # }}} -class BuddyLabel(QLabel): # {{{ +class BuddyLabel(QLabel): # {{{ def __init__(self, buddy): QLabel.__init__(self, buddy.LABEL) @@ -698,11 +698,11 @@ def __init__(self, parent, copy_fmt): self.formats.setIconSize(QSize(32, 32)) self.formats.setMaximumWidth(200) - l.addWidget(self.cover_from_format_button, 0, 0, 1, 1) + l.addWidget(self.cover_from_format_button, 0, 0, 1, 1) l.addWidget(self.metadata_from_format_button, 2, 0, 1, 1) - l.addWidget(self.add_format_button, 0, 2, 1, 1) - l.addWidget(self.remove_format_button, 2, 2, 1, 1) - l.addWidget(self.formats, 0, 1, 3, 1) + l.addWidget(self.add_format_button, 0, 2, 1, 1) + l.addWidget(self.remove_format_button, 2, 2, 1, 1) + l.addWidget(self.formats, 0, 1, 3, 1) self.temp_files = [] @@ -882,7 +882,7 @@ def break_cycles(self): self.temp_files = [] # }}} -class Cover(ImageView): # {{{ +class Cover(ImageView): # {{{ download_cover = pyqtSignal() @@ -927,9 +927,9 @@ def sizeHint(self): return sz def select_cover(self, *args): - files = choose_images(self, 'change cover dialog', - _('Choose cover for ') + - self.dialog.title.current_val) + files = choose_images( + self, 'change cover dialog', _('Choose cover for ') + self.dialog.title.current_val, + formats=('png', 'gif', 'jpg', 'jpeg')) if not files: return _file = files[0] @@ -1052,7 +1052,7 @@ def break_cycles(self): # }}} -class CommentsEdit(Editor): # {{{ +class CommentsEdit(Editor): # {{{ @dynamic_property def current_val(self): @@ -1076,7 +1076,7 @@ def commit(self, db, id_): return True # }}} -class RatingEdit(QSpinBox): # {{{ +class RatingEdit(QSpinBox): # {{{ LABEL = _('&Rating:') TOOLTIP = _('Rating of this book. 0-5 stars') @@ -1120,7 +1120,7 @@ def zero(self): # }}} -class TagsEdit(EditWithComplete): # {{{ +class TagsEdit(EditWithComplete): # {{{ LABEL = _('Ta&gs:') TOOLTIP = '

'+_('Tags categorize the book. This is particularly ' 'useful while searching.

They can be any words ' @@ -1174,7 +1174,6 @@ def edit(self, db, id_): self.current_val = d.tags self.all_items = db.all_tags() - def commit(self, db, id_): self.books_to_refresh |= db.set_tags( id_, self.current_val, notify=False, commit=False, @@ -1183,7 +1182,7 @@ def commit(self, db, id_): # }}} -class LanguagesEdit(LE): # {{{ +class LanguagesEdit(LE): # {{{ LABEL = _('&Languages:') TOOLTIP = _('A comma separated list of languages for this book') @@ -1194,8 +1193,10 @@ def __init__(self, *args, **kwargs): @dynamic_property def current_val(self): - def fget(self): return self.lang_codes - def fset(self, val): self.lang_codes = val + def fget(self): + return self.lang_codes + def fset(self, val): + self.lang_codes = val return property(fget=fget, fset=fset) def initialize(self, db, id_): @@ -1221,7 +1222,7 @@ def commit(self, db, id_): return True # }}} -class IdentifiersEdit(QLineEdit): # {{{ +class IdentifiersEdit(QLineEdit): # {{{ LABEL = _('I&ds:') BASE_TT = _('Edit the identifiers for this book. ' 'For example: \n\n%s')%( @@ -1309,7 +1310,7 @@ def paste_isbn(self): # }}} -class ISBNDialog(QDialog) : # {{{ +class ISBNDialog(QDialog): # {{{ def __init__(self, parent, txt): QDialog.__init__(self, parent) @@ -1320,7 +1321,7 @@ def __init__(self, parent, txt): l.addWidget(w, 0, 0, 1, 2) w = QLabel(_('ISBN:')) l.addWidget(w, 1, 0, 1, 1) - self.line_edit = w = QLineEdit(); + self.line_edit = w = QLineEdit() w.setText(txt) w.selectAll() w.textChanged.connect(self.checkText) @@ -1361,7 +1362,7 @@ def text(self): # }}} -class PublisherEdit(EditWithComplete): # {{{ +class PublisherEdit(EditWithComplete): # {{{ LABEL = _('&Publisher:') def __init__(self, parent): @@ -1388,7 +1389,7 @@ def fset(self, val): def initialize(self, db, id_): self.books_to_refresh = set([]) all_publishers = db.all_publishers() - all_publishers.sort(key=lambda x : sort_key(x[1])) + all_publishers.sort(key=lambda x: sort_key(x[1])) self.update_items_cache([x[1] for x in all_publishers]) publisher_id = db.publisher_id(id_, index_is_id=True) inval = '' @@ -1421,7 +1422,7 @@ class DateEdit(QDateTimeEdit): ATTR = 'timestamp' TWEAK = 'gui_timestamp_display_format' - def __init__(self, parent): + def __init__(self, parent, create_clear_button=True): QDateTimeEdit.__init__(self, parent) self.setToolTip(self.TOOLTIP) self.setWhatsThis(self.TOOLTIP) @@ -1435,10 +1436,11 @@ def __init__(self, parent): self.setCalendarWidget(self.cw) self.setMinimumDateTime(UNDEFINED_QDATETIME) self.setSpecialValueText(_('Undefined')) - self.clear_button = QToolButton(parent) - self.clear_button.setIcon(QIcon(I('trash.png'))) - self.clear_button.setToolTip(_('Clear date')) - self.clear_button.clicked.connect(self.reset_date) + if create_clear_button: + self.clear_button = QToolButton(parent) + self.clear_button.setIcon(QIcon(I('trash.png'))) + self.clear_button.setToolTip(_('Clear date')) + self.clear_button.clicked.connect(self.reset_date) def reset_date(self, *args): self.current_val = None diff --git a/src/calibre/gui2/metadata/diff.py b/src/calibre/gui2/metadata/diff.py new file mode 100644 index 0000000000..477743aa7a --- /dev/null +++ b/src/calibre/gui2/metadata/diff.py @@ -0,0 +1,557 @@ +#!/usr/bin/env python +# vim:fileencoding=utf-8 +from __future__ import (unicode_literals, division, absolute_import, + print_function) + +__license__ = 'GPL v3' +__copyright__ = '2013, Kovid Goyal ' + +import os +from collections import OrderedDict, namedtuple +from functools import partial +from future_builtins import zip + +from PyQt4.Qt import ( + QDialog, QWidget, QGridLayout, QLineEdit, QLabel, QToolButton, QIcon, + QVBoxLayout, QDialogButtonBox, QApplication, pyqtSignal, QFont, QPixmap, + QSize, QPainter, Qt, QColor, QPen, QSizePolicy, QScrollArea, QFrame) + +from calibre import fit_image +from calibre.ebooks.metadata import title_sort, authors_to_sort_string +from calibre.gui2 import pixmap_to_data, gprefs +from calibre.gui2.comments_editor import Editor +from calibre.gui2.languages import LanguagesEdit as LE +from calibre.gui2.metadata.basic_widgets import PubdateEdit, RatingEdit +from calibre.ptempfile import PersistentTemporaryFile +from calibre.utils.date import UNDEFINED_DATE + +Widgets = namedtuple('Widgets', 'new old label button') + +# Widgets {{{ + +class LineEdit(QLineEdit): + + changed = pyqtSignal() + + def __init__(self, field, is_new, parent, metadata, extra): + QLineEdit.__init__(self, parent) + self.is_new = is_new + self.field = field + self.metadata = metadata + if not is_new: + self.setReadOnly(True) + self.textChanged.connect(self.changed) + + def from_mi(self, mi): + val = mi.get(self.field, default='') or '' + ism = self.metadata['is_multiple'] + if ism: + if not val: + val = '' + else: + val = ism['list_to_ui'].join(val) + self.setText(val) + self.setCursorPosition(0) + + def to_mi(self, mi): + val = unicode(self.text()).strip() + ism = self.metadata['is_multiple'] + if ism: + if not val: + val = [] + else: + val = [x.strip() for x in val.split(ism['list_to_ui']) if x.strip()] + mi.set(self.field, val) + if self.field == 'title': + mi.set('title_sort', title_sort(val, lang=mi.language)) + elif self.field == 'authors': + mi.set('author_sort', authors_to_sort_string(val)) + + @dynamic_property + def current_val(self): + def fget(self): + return unicode(self.text()) + def fset(self, val): + self.setText(val) + self.setCursorPosition(0) + return property(fget=fget, fset=fset) + + @property + def is_blank(self): + val = self.current_val.strip() + if self.field in {'title', 'authors'}: + return val in {'', _('Unknown')} + return not val + + def same_as(self, other): + return self.current_val == other.current_val + +class LanguagesEdit(LE): + + changed = pyqtSignal() + + def __init__(self, field, is_new, parent, metadata, extra): + LE.__init__(self, parent=parent) + self.is_new = is_new + self.field = field + self.metadata = metadata + self.textChanged.connect(self.changed) + if not is_new: + self.lineEdit().setReadOnly(True) + + @dynamic_property + def current_val(self): + def fget(self): + return self.lang_codes + def fset(self, val): + self.lang_codes = val + return property(fget=fget, fset=fset) + + def from_mi(self, mi): + self.lang_codes = mi.languages + + def to_mi(self, mi): + mi.languages = self.lang_codes + + @property + def is_blank(self): + return not self.current_val + + def same_as(self, other): + return self.current_val == other.current_val + +class RatingsEdit(RatingEdit): + + changed = pyqtSignal() + + def __init__(self, field, is_new, parent, metadata, extra): + RatingEdit.__init__(self, parent) + self.is_new = is_new + self.field = field + self.metadata = metadata + self.valueChanged.connect(self.changed) + if not is_new: + self.setReadOnly(True) + + def from_mi(self, mi): + val = (mi.get(self.field, default=0) or 0)/2 + self.setValue(val) + + def to_mi(self, mi): + mi.set(self.field, self.value() * 2) + + @property + def is_blank(self): + return self.value() == 0 + + def same_as(self, other): + return self.current_val == other.current_val + +class DateEdit(PubdateEdit): + + changed = pyqtSignal() + + def __init__(self, field, is_new, parent, metadata, extra): + PubdateEdit.__init__(self, parent, create_clear_button=False) + self.is_new = is_new + self.field = field + self.metadata = metadata + self.setDisplayFormat(extra) + self.dateTimeChanged.connect(self.changed) + if not is_new: + self.setReadOnly(True) + + def from_mi(self, mi): + self.current_val = mi.get(self.field, default=None) + + def to_mi(self, mi): + mi.set(self.field, self.current_val) + + @property + def is_blank(self): + return self.current_val.year <= UNDEFINED_DATE.year + + def same_as(self, other): + return self.text() == other.text() + +class SeriesEdit(LineEdit): + + def from_mi(self, mi): + series = mi.get(self.field, default='') + series_index = mi.get(self.field + '_index', default=1.0) + val = '' + if series: + val = '%s [%s]' % (series, mi.format_series_index(series_index)) + self.setText(val) + self.setCursorPosition(0) + + def to_mi(self, mi): + val = unicode(self.text()).strip() + try: + series_index = float(val.rpartition('[')[-1].rstrip(']').strip()) + except: + series_index = 1.0 + series = val.rpartition('[')[0].strip() or None + mi.set(self.field, series) + mi.set(self.field + '_index', series_index) + +class IdentifiersEdit(LineEdit): + + def from_mi(self, mi): + val = ('%s:%s' % (k, v) for k, v in mi.identifiers.iteritems()) + self.setText(', '.join(val)) + self.setCursorPosition(0) + + def to_mi(self, mi): + parts = (x.strip() for x in self.current_val.split(',') if x.strip()) + val = {x.partition(':')[0].strip():x.partition(':')[-1].strip() for x in parts} + mi.set_identifiers({k:v for k, v in val.iteritems() if k and v}) + +class CommentsEdit(Editor): + + changed = pyqtSignal() + + def __init__(self, field, is_new, parent, metadata, extra): + Editor.__init__(self, parent, one_line_toolbar=False) + self.is_new = is_new + self.field = field + self.metadata = metadata + self.hide_tabs() + if not is_new: + self.hide_toolbars() + self.set_readonly(True) + + @dynamic_property + def current_val(self): + def fget(self): + return self.html + def fset(self, val): + self.html = val or '' + self.changed.emit() + return property(fget=fget, fset=fset) + + def from_mi(self, mi): + val = mi.get(self.field, default='') + self.current_val = val + + def to_mi(self, mi): + mi.set(self.field, self.current_val) + + def sizeHint(self): + return QSize(450, 200) + + @property + def is_blank(self): + return not self.current_val.strip() + + def same_as(self, other): + return self.current_val == other.current_val + +class CoverView(QWidget): + + changed = pyqtSignal() + + def __init__(self, field, is_new, parent, metadata, extra): + QWidget.__init__(self, parent) + self.is_new = is_new + self.field = field + self.metadata = metadata + self.pixmap = None + self.blank = QPixmap(I('blank.png')) + self.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.GrowFlag|QSizePolicy.ExpandFlag) + self.sizePolicy().setHeightForWidth(True) + + @property + def is_blank(self): + return self.pixmap is None + + @dynamic_property + def current_val(self): + def fget(self): + return self.pixmap + def fset(self, val): + self.pixmap = val + self.changed.emit() + self.update() + return property(fget=fget, fset=fset) + + def from_mi(self, mi): + p = getattr(mi, 'cover', None) + if p and os.path.exists(p): + pmap = QPixmap() + with open(p, 'rb') as f: + pmap.loadFromData(f.read()) + if not pmap.isNull(): + self.pixmap = pmap + self.update() + self.changed.emit() + return + cd = getattr(mi, 'cover_data', (None, None)) + if cd and cd[1]: + pmap = QPixmap() + pmap.loadFromData(cd[1]) + if not pmap.isNull(): + self.pixmap = pmap + self.update() + self.changed.emit() + return + self.pixmap = None + self.update() + self.changed.emit() + + def to_mi(self, mi): + mi.cover, mi.cover_data = None, (None, None) + if self.pixmap is not None and not self.pixmap.isNull(): + with PersistentTemporaryFile('.jpg') as pt: + pt.write(pixmap_to_data(self.pixmap)) + mi.cover = pt.name + + def same_as(self, other): + return self.current_val == other.current_val + + def sizeHint(self): + return QSize(225, 300) + + def paintEvent(self, event): + pmap = self.blank if self.pixmap is None or self.pixmap.isNull() else self.pixmap + target = self.rect() + scaled, width, height = fit_image(pmap.width(), pmap.height(), target.width(), target.height()) + target.setRect(target.x(), target.y(), width, height) + p = QPainter(self) + p.setRenderHints(QPainter.Antialiasing | QPainter.SmoothPixmapTransform) + p.drawPixmap(target, pmap) + + if self.pixmap is not None and not self.pixmap.isNull(): + sztgt = target.adjusted(0, 0, 0, -4) + f = p.font() + f.setBold(True) + p.setFont(f) + sz = u'\u00a0%d x %d\u00a0'%(self.pixmap.width(), self.pixmap.height()) + flags = Qt.AlignBottom|Qt.AlignRight|Qt.TextSingleLine + szrect = p.boundingRect(sztgt, flags, sz) + p.fillRect(szrect.adjusted(0, 0, 0, 4), QColor(0, 0, 0, 200)) + p.setPen(QPen(QColor(255,255,255))) + p.drawText(sztgt, flags, sz) + p.end() +# }}} + +class CompareSingle(QWidget): + + def __init__( + self, field_metadata, parent=None, revert_tooltip=None, + datetime_fmt='MMMM yyyy', blank_as_equal=True, + fields=('title', 'authors', 'series', 'tags', 'rating', 'publisher', 'pubdate', 'identifiers', 'languages', 'comments', 'cover')): + QWidget.__init__(self, parent) + self.l = l = QGridLayout() + l.setContentsMargins(0, 0, 0, 0) + self.setLayout(l) + revert_tooltip = revert_tooltip or _('Revert %s') + self.current_mi = None + self.changed_font = QFont(QApplication.font()) + self.changed_font.setBold(True) + self.changed_font.setItalic(True) + self.blank_as_equal = blank_as_equal + + self.widgets = OrderedDict() + row = 0 + + for field in fields: + m = field_metadata[field] + dt = m['datatype'] + extra = None + if 'series' in {field, dt}: + cls = SeriesEdit + elif field == 'identifiers': + cls = IdentifiersEdit + elif field == 'languages': + cls = LanguagesEdit + elif 'comments' in {field, dt}: + cls = CommentsEdit + elif 'rating' in {field, dt}: + cls = RatingsEdit + elif dt == 'datetime': + extra = datetime_fmt + cls = DateEdit + elif field == 'cover': + cls = CoverView + elif dt in {'text', 'enum'}: + cls = LineEdit + else: + continue + neww = cls(field, True, self, m, extra) + neww.changed.connect(partial(self.changed, field)) + oldw = cls(field, False, self, m, extra) + newl = QLabel('&%s:' % m['name']) + newl.setBuddy(neww) + button = QToolButton(self) + button.setIcon(QIcon(I('back.png'))) + button.clicked.connect(partial(self.revert, field)) + button.setToolTip(revert_tooltip % m['name']) + self.widgets[field] = Widgets(neww, oldw, newl, button) + for i, w in enumerate((newl, neww, button, oldw)): + c = i if i < 2 else i + 1 + if w is oldw: + c += 1 + l.addWidget(w, row, c) + row += 1 + + self.sep = f = QFrame(self) + f.setFrameShape(f.VLine) + l.addWidget(f, 0, 2, row, 1) + self.sep2 = f = QFrame(self) + f.setFrameShape(f.VLine) + l.addWidget(f, 0, 4, row, 1) + + def changed(self, field): + w = self.widgets[field] + if not w.new.same_as(w.old) and (not self.blank_as_equal or not w.new.is_blank): + w.label.setFont(self.changed_font) + else: + w.label.setFont(QApplication.font()) + + def revert(self, field): + widgets = self.widgets[field] + neww, oldw = widgets[:2] + neww.current_val = oldw.current_val + + def __call__(self, oldmi, newmi): + self.current_mi = newmi + self.initial_vals = {} + for field, widgets in self.widgets.iteritems(): + widgets.old.from_mi(oldmi) + widgets.new.from_mi(newmi) + self.initial_vals[field] = widgets.new.current_val + + def apply_changes(self): + changed = False + for field, widgets in self.widgets.iteritems(): + val = widgets.new.current_val + if val != self.initial_vals[field]: + widgets.new.to_mi(self.current_mi) + changed = True + return changed + +class CompareMany(QDialog): + + def __init__(self, ids, get_metadata, field_metadata, parent=None, + window_title=None, + reject_button_tooltip=None, + accept_all_tooltip=None, + reject_all_tooltip=None, + revert_tooltip=None, + intro_msg=None, + **kwargs): + QDialog.__init__(self, parent) + self.l = l = QVBoxLayout() + self.setLayout(l) + self.setWindowIcon(QIcon(I('auto_author_sort.png'))) + self.get_metadata = get_metadata + self.ids = list(ids) + self.total = len(self.ids) + self.accepted = OrderedDict() + self.window_title = window_title or _('Compare metadata') + + if intro_msg: + self.la = la = QLabel(intro_msg) + la.setWordWrap(True) + l.addWidget(la) + + self.compare_widget = CompareSingle(field_metadata, parent=parent, revert_tooltip=revert_tooltip, **kwargs) + self.sa = sa = QScrollArea() + l.addWidget(sa) + sa.setWidget(self.compare_widget) + sa.setWidgetResizable(True) + + self.bb = bb = QDialogButtonBox(QDialogButtonBox.Cancel) + bb.rejected.connect(self.reject) + if self.total > 1: + self.aarb = b = bb.addButton(_('&Accept all remaining'), bb.YesRole) + b.setIcon(QIcon(I('ok.png'))) + if accept_all_tooltip: + b.setToolTip(accept_all_tooltip) + b.clicked.connect(self.accept_all_remaining) + self.rarb = b = bb.addButton(_('Re&ject all remaining'), bb.NoRole) + b.setIcon(QIcon(I('minus.png'))) + if reject_all_tooltip: + b.setToolTip(reject_all_tooltip) + b.clicked.connect(self.reject_all_remaining) + self.sb = b = bb.addButton(_('&Reject'), bb.ActionRole) + b.clicked.connect(partial(self.next_item, False)) + b.setIcon(QIcon(I('minus.png'))) + if reject_button_tooltip: + b.setToolTip(reject_button_tooltip) + self.nb = b = bb.addButton(_('&Next') if self.total > 1 else _('&OK'), bb.ActionRole) + b.setIcon(QIcon(I('forward.png' if self.total > 1 else 'ok.png'))) + b.clicked.connect(partial(self.next_item, True)) + b.setDefault(True) + l.addWidget(bb) + + self.next_item(True) + + desktop = QApplication.instance().desktop() + geom = desktop.availableGeometry(parent or self) + width = max(700, min(950, geom.width()-50)) + height = max(650, min(1000, geom.height()-100)) + self.resize(QSize(width, height)) + geom = gprefs.get('diff_dialog_geom', None) + if geom is not None: + self.restoreGeometry(geom) + b.setFocus(Qt.OtherFocusReason) + + def accept(self): + gprefs.set('diff_dialog_geom', bytearray(self.saveGeometry())) + super(CompareMany, self).accept() + + def reject(self): + gprefs.set('diff_dialog_geom', bytearray(self.saveGeometry())) + super(CompareMany, self).reject() + + @property + def current_mi(self): + return self.compare_widget.current_mi + + def next_item(self, accept): + if not self.ids: + return self.accept() + if self.current_mi is not None: + changed = self.compare_widget.apply_changes() + if self.current_mi is not None: + old_id = self.ids.pop(0) + self.accepted[old_id] = (changed, self.current_mi) if accept else (False, None) + if not self.ids: + return self.accept() + self.setWindowTitle(self.window_title + _(' [%(num)d of %(tot)d]') % dict( + num=(self.total - len(self.ids) + 1), tot=self.total)) + oldmi, newmi = self.get_metadata(self.ids[0]) + self.compare_widget(oldmi, newmi) + + def accept_all_remaining(self): + self.next_item(True) + for id_ in self.ids: + oldmi, newmi = self.get_metadata(id_) + self.accepted[id_] = (False, newmi) + self.ids = [] + self.accept() + + def reject_all_remaining(self): + self.next_item(False) + for id_ in self.ids: + oldmi, newmi = self.get_metadata(id_) + self.accepted[id_] = (False, None) + self.ids = [] + self.accept() + +if __name__ == '__main__': + app = QApplication([]) + from calibre.library import db + db = db() + ids = sorted(db.all_ids(), reverse=True) + ids = tuple(zip(ids[0::2], ids[1::2])) + gm = partial(db.get_metadata, index_is_id=True, get_cover=True, cover_as_data=True) + get_metadata = lambda x:map(gm, ids[x]) + d = CompareMany(list(xrange(len(ids))), get_metadata, db.field_metadata) + if d.exec_() == d.Accepted: + for changed, mi in d.accepted.itervalues(): + if changed and mi is not None: + print (mi) + diff --git a/src/calibre/gui2/metadata/single.py b/src/calibre/gui2/metadata/single.py index e254b711cc..1593c977ff 100644 --- a/src/calibre/gui2/metadata/single.py +++ b/src/calibre/gui2/metadata/single.py @@ -421,7 +421,7 @@ def fetch_metadata(self, *args): ret = d.start(title=self.title.current_val, authors=self.authors.current_val, identifiers=self.identifiers.current_val) if ret == d.Accepted: - from calibre.ebooks.metadata.sources.base import msprefs + from calibre.ebooks.metadata.sources.prefs import msprefs mi = d.book dummy = Metadata(_('Unknown')) for f in msprefs['ignore_fields']: diff --git a/src/calibre/gui2/metadata/single_download.py b/src/calibre/gui2/metadata/single_download.py index ffa83b6ea8..3e9bb87687 100644 --- a/src/calibre/gui2/metadata/single_download.py +++ b/src/calibre/gui2/metadata/single_download.py @@ -21,7 +21,7 @@ QDialog, QVBoxLayout, QLabel, QDialogButtonBox, QStyle, QStackedWidget, QWidget, QTableView, QGridLayout, QFontInfo, QPalette, QTimer, pyqtSignal, QAbstractTableModel, QVariant, QSize, QListView, QPixmap, QModelIndex, - QAbstractListModel, QColor, QRect, QTextBrowser, QStringListModel) + QAbstractListModel, QColor, QRect, QTextBrowser, QStringListModel, QMenu, QCursor) from PyQt4.QtWebKit import QWebView from calibre.customize.ui import metadata_plugins @@ -40,7 +40,7 @@ from calibre.ptempfile import TemporaryDirectory # }}} -class RichTextDelegate(QStyledItemDelegate): # {{{ +class RichTextDelegate(QStyledItemDelegate): # {{{ def __init__(self, parent=None, max_width=160): QStyledItemDelegate.__init__(self, parent) @@ -77,7 +77,7 @@ def paint(self, painter, option, index): painter.restore() # }}} -class CoverDelegate(QStyledItemDelegate): # {{{ +class CoverDelegate(QStyledItemDelegate): # {{{ needs_redraw = pyqtSignal() @@ -143,7 +143,7 @@ def paint(self, painter, option, index): # }}} -class ResultsModel(QAbstractTableModel): # {{{ +class ResultsModel(QAbstractTableModel): # {{{ COLUMNS = ( '#', _('Title'), _('Published'), _('Has cover'), _('Has summary') @@ -182,7 +182,6 @@ def data_as_text(self, book, col): p = book.publisher if book.publisher else '' return '%s
%s' % (d, p) - def data(self, index, role): row, col = index.row(), index.column() try: @@ -233,7 +232,7 @@ def dategetter(x): # }}} -class ResultsView(QTableView): # {{{ +class ResultsView(QTableView): # {{{ show_details_signal = pyqtSignal(object) book_selected = pyqtSignal(object) @@ -316,7 +315,7 @@ def get_result(self): # }}} -class Comments(QWebView): # {{{ +class Comments(QWebView): # {{{ def __init__(self, parent=None): QWebView.__init__(self, parent) @@ -384,7 +383,7 @@ def sizeHint(self): return QSize(800, 300) # }}} -class IdentifyWorker(Thread): # {{{ +class IdentifyWorker(Thread): # {{{ def __init__(self, log, abort, title, authors, identifiers, caches): Thread.__init__(self) @@ -441,7 +440,7 @@ def run(self): # }}} -class IdentifyWidget(QWidget): # {{{ +class IdentifyWidget(QWidget): # {{{ rejected = pyqtSignal() results_found = pyqtSignal() @@ -552,12 +551,11 @@ def process_results(self): self.results_view.show_results(self.worker.results) self.results_found.emit() - def cancel(self): self.abort.set() # }}} -class CoverWorker(Thread): # {{{ +class CoverWorker(Thread): # {{{ def __init__(self, log, abort, title, authors, identifiers, caches): Thread.__init__(self) @@ -609,7 +607,8 @@ def run_fork(self): def scan_once(self, tdir, seen): for x in list(os.listdir(tdir)): - if x in seen: continue + if x in seen: + continue if x.endswith('.cover') and os.path.exists(os.path.join(tdir, x+'.done')): name = x.rpartition('.')[0] @@ -635,7 +634,7 @@ def monitor_tdir(self, tdir): # }}} -class CoversModel(QAbstractListModel): # {{{ +class CoversModel(QAbstractListModel): # {{{ def __init__(self, current_cover, parent=None): QAbstractListModel.__init__(self, parent) @@ -770,7 +769,7 @@ def cover_pixmap(self, index): # }}} -class CoversView(QListView): # {{{ +class CoversView(QListView): # {{{ chosen = pyqtSignal() @@ -793,6 +792,8 @@ def __init__(self, current_cover, parent=None): type=Qt.QueuedConnection) self.doubleClicked.connect(self.chosen, type=Qt.QueuedConnection) + self.setContextMenuPolicy(Qt.CustomContextMenu) + self.customContextMenuRequested.connect(self.show_context_menu) def select(self, num): current = self.model().index(num) @@ -814,9 +815,24 @@ def clear_failed(self): else: self.select(self.m.index_from_pointer(pointer).row()) + def show_context_menu(self, point): + idx = self.currentIndex() + if idx and idx.isValid() and not idx.data(Qt.UserRole).toPyObject(): + m = QMenu() + m.addAction(QIcon(I('view.png')), _('View this cover at full size'), self.show_cover) + m.exec_(QCursor.pos()) + + def show_cover(self): + idx = self.currentIndex() + pmap = self.model().cover_pixmap(idx) + if pmap is not None: + from calibre.gui2.viewer.image_popup import ImageView + d = ImageView(self, pmap, unicode(idx.data(Qt.DisplayRole).toString()), geom_name='metadata_download_cover_popup_geom') + d(use_exec=True) + # }}} -class CoversWidget(QWidget): # {{{ +class CoversWidget(QWidget): # {{{ chosen = pyqtSignal() finished = pyqtSignal() @@ -922,7 +938,7 @@ def cover_pixmap(self): # }}} -class LogViewer(QDialog): # {{{ +class LogViewer(QDialog): # {{{ def __init__(self, log, parent=None): QDialog.__init__(self, parent) @@ -970,7 +986,7 @@ def update_log(self): # }}} -class FullFetch(QDialog): # {{{ +class FullFetch(QDialog): # {{{ def __init__(self, current_cover=None, parent=None): QDialog.__init__(self, parent) @@ -1085,7 +1101,7 @@ def start(self, title=None, authors=None, identifiers={}): return self.exec_() # }}} -class CoverFetch(QDialog): # {{{ +class CoverFetch(QDialog): # {{{ def __init__(self, current_cover=None, parent=None): QDialog.__init__(self, parent) diff --git a/src/calibre/gui2/preferences/adding.ui b/src/calibre/gui2/preferences/adding.ui index b98a476864..8b9b9c0cd1 100644 --- a/src/calibre/gui2/preferences/adding.ui +++ b/src/calibre/gui2/preferences/adding.ui @@ -164,7 +164,7 @@ Author matching is exact. - Ignore files with the following extensions when automatically adding + <b>Ignore</b> files with the following extensions when automatically adding true diff --git a/src/calibre/gui2/preferences/behavior.py b/src/calibre/gui2/preferences/behavior.py index b5070cbdea..820e93296b 100644 --- a/src/calibre/gui2/preferences/behavior.py +++ b/src/calibre/gui2/preferences/behavior.py @@ -14,7 +14,6 @@ from calibre.gui2 import config, info_dialog, dynamic, gprefs from calibre.utils.config import prefs from calibre.customize.ui import available_output_formats, all_input_formats -from calibre.utils.search_query_parser import saved_searches from calibre.ebooks import BOOK_EXTENSIONS from calibre.ebooks.oeb.iterator import is_supported from calibre.constants import iswindows @@ -48,9 +47,13 @@ def genesis(self, gui): choices = [(x.upper(), x) for x in output_formats] r('output_format', prefs, choices=choices, setting=OutputFormatSetting) - restrictions = sorted(saved_searches().names(), key=sort_key) + restrictions = sorted(db.prefs['virtual_libraries'].iterkeys(), key=sort_key) choices = [('', '')] + [(x, x) for x in restrictions] - r('gui_restriction', db.prefs, choices=choices) + # check that the virtual library still exists + vls = db.prefs['virtual_lib_on_startup'] + if vls and vls not in restrictions: + db.prefs['virtual_lib_on_startup'] = '' + r('virtual_lib_on_startup', db.prefs, choices=choices) self.reset_confirmation_button.clicked.connect(self.reset_confirmation_dialogs) self.input_up_button.clicked.connect(self.up_input) diff --git a/src/calibre/gui2/preferences/behavior.ui b/src/calibre/gui2/preferences/behavior.ui index ffd59d72bb..61620e4e21 100644 --- a/src/calibre/gui2/preferences/behavior.ui +++ b/src/calibre/gui2/preferences/behavior.ui @@ -147,15 +147,15 @@ If not checked, the values can be Yes or No. - Restriction to apply when the current library is opened: + Virtual library to apply when the current library is opened: - opt_gui_restriction + opt_virtual_lib_on_startup - + 250 @@ -163,7 +163,7 @@ If not checked, the values can be Yes or No. - Apply this restriction on calibre startup if the current library is being used. Also applied when switching to this library. Note that this setting is per library. + Use this virtual library on calibre startup if the current library is being used. Also applied when switching to this library. Note that this setting is per library. QComboBox::AdjustToMinimumContentsLengthWithIcon diff --git a/src/calibre/gui2/preferences/metadata_sources.py b/src/calibre/gui2/preferences/metadata_sources.py index db4d4a01e9..c091203824 100644 --- a/src/calibre/gui2/preferences/metadata_sources.py +++ b/src/calibre/gui2/preferences/metadata_sources.py @@ -14,7 +14,7 @@ from calibre.gui2.preferences import ConfigWidgetBase, test_widget from calibre.gui2.preferences.metadata_sources_ui import Ui_Form -from calibre.ebooks.metadata.sources.base import msprefs +from calibre.ebooks.metadata.sources.prefs import msprefs from calibre.customize.ui import (all_metadata_plugins, is_disabled, enable_plugin, disable_plugin, default_disabled_plugins) from calibre.gui2 import NONE, error_dialog, question_dialog diff --git a/src/calibre/gui2/preferences/server.py b/src/calibre/gui2/preferences/server.py index 2a62fe555f..269eec1a8a 100644 --- a/src/calibre/gui2/preferences/server.py +++ b/src/calibre/gui2/preferences/server.py @@ -12,7 +12,6 @@ from calibre.gui2.preferences import ConfigWidgetBase, test_widget from calibre.gui2.preferences.server_ui import Ui_Form -from calibre.utils.search_query_parser import saved_searches from calibre.library.server import server_config from calibre.utils.config import ConfigProxy from calibre.gui2 import error_dialog, config, open_url, warning_dialog, \ @@ -44,13 +43,13 @@ def genesis(self, gui): else self.opt_password.Password)) self.opt_password.setEchoMode(self.opt_password.Password) - restrictions = sorted(saved_searches().names(), key=sort_key) - # verify that the current restriction still exists. If not, clear it. - csr = db.prefs.get('cs_restriction', None) - if csr and csr not in restrictions: - db.prefs.set('cs_restriction', '') + restrictions = sorted(db.prefs['virtual_libraries'].iterkeys(), key=sort_key) choices = [('', '')] + [(x, x) for x in restrictions] - r('cs_restriction', db.prefs, choices=choices) + # check that the virtual library still exists + vls = db.prefs['cs_virtual_lib_on_startup'] + if vls and vls not in restrictions: + db.prefs['cs_virtual_lib_on_startup'] = '' + r('cs_virtual_lib_on_startup', db.prefs, choices=choices) self.start_button.setEnabled(not getattr(self.server, 'is_running', False)) self.test_button.setEnabled(not self.start_button.isEnabled()) diff --git a/src/calibre/gui2/preferences/server.ui b/src/calibre/gui2/preferences/server.ui index 163221594f..85d27eab57 100644 --- a/src/calibre/gui2/preferences/server.ui +++ b/src/calibre/gui2/preferences/server.ui @@ -129,7 +129,7 @@ - Max. OPDS &ungrouped items: + Max. &ungrouped items: opt_max_opds_ungrouped_items @@ -139,14 +139,14 @@ - Restriction (saved search) to apply: + Virtual library to apply: - + - This restriction (based on a saved search) will restrict the books the content server makes available to those matching the search. This setting is per library (i.e. you can have a different restriction per library). + Setting a virtual library will restrict the books the content server makes available to those in the library. This setting is per library (i.e. you can have a different value per library). QComboBox::AdjustToMinimumContentsLengthWithIcon diff --git a/src/calibre/gui2/proceed.py b/src/calibre/gui2/proceed.py index 9bdf48e086..67efe48b53 100644 --- a/src/calibre/gui2/proceed.py +++ b/src/calibre/gui2/proceed.py @@ -18,7 +18,8 @@ Question = namedtuple('Question', 'payload callback cancel_callback ' 'title msg html_log log_viewer_title log_is_file det_msg ' - 'show_copy_button checkbox_msg checkbox_checked') + 'show_copy_button checkbox_msg checkbox_checked action_callback ' + 'action_label action_icon') class ProceedQuestion(QDialog): @@ -51,6 +52,8 @@ def __init__(self, parent): self.copy_button = self.bb.addButton(_('&Copy to clipboard'), self.bb.ActionRole) self.copy_button.clicked.connect(self.copy_to_clipboard) + self.action_button = self.bb.addButton('', self.bb.ActionRole) + self.action_button.clicked.connect(self.action_clicked) self.show_det_msg = _('Show &details') self.hide_det_msg = _('Hide &details') self.det_msg_toggle = self.bb.addButton(self.show_det_msg, self.bb.ActionRole) @@ -81,6 +84,12 @@ def copy_to_clipboard(self, *args): unicode(self.det_msg.toPlainText()))) self.copy_button.setText(_('Copied')) + def action_clicked(self): + if self.questions: + q = self.questions[0] + self.questions[0] = q._replace(callback=q.action_callback) + self.accept() + def accept(self): if self.questions: payload, callback, cancel_callback = self.questions[0][:3] @@ -123,13 +132,19 @@ def do_resize(self): self.resize(sz) def show_question(self): - if self.isVisible(): return + if self.isVisible(): + return if self.questions: question = self.questions[0] self.msg_label.setText(question.msg) self.setWindowTitle(question.title) self.log_button.setVisible(bool(question.html_log)) self.copy_button.setVisible(bool(question.show_copy_button)) + self.action_button.setVisible(question.action_callback is not None) + if question.action_callback is not None: + self.action_button.setText(question.action_label or '') + self.action_button.setIcon( + QIcon() if question.action_icon is None else question.action_icon) self.det_msg.setPlainText(question.det_msg or '') self.det_msg.setVisible(False) self.det_msg_toggle.setVisible(bool(question.det_msg)) @@ -145,7 +160,8 @@ def show_question(self): def __call__(self, callback, payload, html_log, log_viewer_title, title, msg, det_msg='', show_copy_button=False, cancel_callback=None, - log_is_file=False, checkbox_msg=None, checkbox_checked=False): + log_is_file=False, checkbox_msg=None, checkbox_checked=False, + action_callback=None, action_label=None, action_icon=None): ''' A non modal popup that notifies the user that a background task has been completed. This class guarantees that only a single popup is @@ -170,11 +186,19 @@ def __call__(self, callback, payload, html_log, log_viewer_title, title, called with both the payload and the state of the checkbox as arguments. :param checkbox_checked: If True the checkbox is checked by default. + :param action_callback: If not None, an extra button is added, which + when clicked will cause action_callback to be called + instead of callback. action_callback is called in + exactly the same way as callback. + :param action_label: The text on the action button + :param action_icon: The icon for the action button, must be a QIcon object or None ''' - question = Question(payload, callback, cancel_callback, title, msg, - html_log, log_viewer_title, log_is_file, det_msg, - show_copy_button, checkbox_msg, checkbox_checked) + question = Question( + payload, callback, cancel_callback, title, msg, html_log, + log_viewer_title, log_is_file, det_msg, show_copy_button, + checkbox_msg, checkbox_checked, action_callback, action_label, + action_icon) self.questions.append(question) self.show_question() diff --git a/src/calibre/gui2/search_box.py b/src/calibre/gui2/search_box.py index 54a80571e6..6cfa3d0fec 100644 --- a/src/calibre/gui2/search_box.py +++ b/src/calibre/gui2/search_box.py @@ -19,9 +19,8 @@ from calibre.gui2.dialogs.saved_search_editor import SavedSearchEditor from calibre.gui2.dialogs.search import SearchDialog from calibre.utils.search_query_parser import saved_searches -from calibre.utils.icu import sort_key -class SearchLineEdit(QLineEdit): # {{{ +class SearchLineEdit(QLineEdit): # {{{ key_pressed = pyqtSignal(object) def keyPressEvent(self, event): @@ -42,7 +41,7 @@ def paste(self, *args): return QLineEdit.paste(self) # }}} -class SearchBox2(QComboBox): # {{{ +class SearchBox2(QComboBox): # {{{ ''' To use this class: @@ -59,7 +58,7 @@ class SearchBox2(QComboBox): # {{{ accurate. ''' - INTERVAL = 1500 #: Time to wait before emitting search signal + INTERVAL = 1500 #: Time to wait before emitting search signal MAX_COUNT = 25 search = pyqtSignal(object) @@ -254,7 +253,7 @@ def current_text(self): # }}} -class SavedSearchBox(QComboBox): # {{{ +class SavedSearchBox(QComboBox): # {{{ ''' To use this class: @@ -332,6 +331,10 @@ def save_search_button_clicked(self): name = unicode(self.currentText()) if not name.strip(): name = unicode(self.search_box.text()).replace('"', '') + if not (name and self.search_box.text()): + error_dialog(self, _('Create saved search'), + _('There is no search to save'), show=True) + return saved_searches().delete(name) saved_searches().add(name, unicode(self.search_box.text())) # now go through an initialization cycle to ensure that the combobox has @@ -339,7 +342,7 @@ def save_search_button_clicked(self): # references the new search instead of the text in the search. self.clear() self.setCurrentIndex(self.findText(name)) - self.saved_search_selected (name) + self.saved_search_selected(name) self.changed.emit() def delete_current_search(self): @@ -361,15 +364,15 @@ def delete_current_search(self): self.changed.emit() # SIGNALed from the main UI - def copy_search_button_clicked (self): - idx = self.currentIndex(); + def copy_search_button_clicked(self): + idx = self.currentIndex() if idx < 0: return self.search_box.set_search_string(saved_searches().lookup(unicode(self.currentText()))) # }}} -class SearchBoxMixin(object): # {{{ +class SearchBoxMixin(object): # {{{ def __init__(self): self.search.initialize('main_search_history', colorize=True, @@ -443,7 +446,7 @@ def focus_to_library(self): # }}} -class SavedSearchBoxMixin(object): # {{{ +class SavedSearchBoxMixin(object): # {{{ def __init__(self): self.saved_search.changed.connect(self.saved_searches_changed) @@ -452,7 +455,7 @@ def __init__(self): self.saved_search.save_search_button_clicked) self.copy_search_button.clicked.connect( self.saved_search.copy_search_button_clicked) - self.saved_searches_changed() + # self.saved_searches_changed() self.saved_search.initialize(self.search, colorize=True, help_text=_('Saved Searches')) self.saved_search.setToolTip( @@ -479,18 +482,10 @@ def __init__(self): partial(self.do_saved_search_edit, None)) def saved_searches_changed(self, set_restriction=None, recount=True): - p = sorted(saved_searches().names(), key=sort_key) - if set_restriction is None: - set_restriction = unicode(self.search_restriction.currentText()) - # rebuild the restrictions combobox using current saved searches - self.search_restriction.clear() - self.search_restriction.addItem('') - self.search_restriction.addItem(_('*Current search')) + self.build_search_restriction_list() if recount: self.tags_view.recount() - for s in p: - self.search_restriction.addItem(s) - if set_restriction: # redo the search restriction if there was one + if set_restriction: # redo the search restriction if there was one self.apply_named_search_restriction(set_restriction) def do_saved_search_edit(self, search): diff --git a/src/calibre/gui2/search_restriction_mixin.py b/src/calibre/gui2/search_restriction_mixin.py index 1319f8d17d..7b9fb21340 100644 --- a/src/calibre/gui2/search_restriction_mixin.py +++ b/src/calibre/gui2/search_restriction_mixin.py @@ -4,23 +4,509 @@ @author: charles ''' -from PyQt4.Qt import Qt +from functools import partial + +from PyQt4.Qt import ( + Qt, QMenu, QPoint, QIcon, QDialog, QGridLayout, QLabel, QLineEdit, QComboBox, + QDialogButtonBox, QSize, QVBoxLayout, QListWidget, QStringList, QRadioButton) + +from calibre.gui2 import error_dialog, question_dialog +from calibre.gui2.widgets import ComboBoxWithHelp +from calibre.utils.config_base import tweaks +from calibre.utils.icu import sort_key +from calibre.utils.search_query_parser import ParseException +from calibre.utils.search_query_parser import saved_searches + +class SelectNames(QDialog): # {{{ + + def __init__(self, names, txt, parent=None): + QDialog.__init__(self, parent) + self.l = l = QVBoxLayout(self) + self.setLayout(l) + + self.la = la = QLabel(_('Create a Virtual Library based on %s') % txt) + l.addWidget(la) + + self._names = QListWidget(self) + self._names.addItems(QStringList(sorted(names, key=sort_key))) + self._names.setSelectionMode(self._names.ExtendedSelection) + l.addWidget(self._names) + + self._or = QRadioButton(_('Match any of the selected %s names')%txt) + self._and = QRadioButton(_('Match all of the selected %s names')%txt) + self._or.setChecked(True) + l.addWidget(self._or) + l.addWidget(self._and) + + self.bb = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) + self.bb.accepted.connect(self.accept) + self.bb.rejected.connect(self.reject) + l.addWidget(self.bb) + + self.resize(self.sizeHint()) + + @property + def names(self): + for item in self._names.selectedItems(): + yield unicode(item.data(Qt.DisplayRole).toString()) + + @property + def match_type(self): + return ' and ' if self._and.isChecked() else ' or ' + +# }}} + +MAX_VIRTUAL_LIBRARY_NAME_LENGTH = 40 + +def _build_full_search_string(gui): + search_templates = ( + '', + '{cl}', + '{cr}', + '(({cl}) and ({cr}))', + '{sb}', + '(({cl}) and ({sb}))', + '(({cr}) and ({sb}))', + '(({cl}) and ({cr}) and ({sb}))' + ) + + sb = gui.search.current_text + db = gui.current_db + cr = db.data.get_search_restriction() + cl = db.data.get_base_restriction() + dex = 0 + if sb: + dex += 4 + if cr: + dex += 2 + if cl: + dex += 1 + template = search_templates[dex] + return template.format(cl=cl, cr=cr, sb=sb).strip() + +class CreateVirtualLibrary(QDialog): # {{{ + + def __init__(self, gui, existing_names, editing=None): + QDialog.__init__(self, gui) + + self.gui = gui + self.existing_names = existing_names + + if editing: + self.setWindowTitle(_('Edit virtual library')) + else: + self.setWindowTitle(_('Create virtual library')) + self.setWindowIcon(QIcon(I('lt.png'))) + + gl = QGridLayout() + self.setLayout(gl) + self.la1 = la1 = QLabel(_('Virtual library &name:')) + gl.addWidget(la1, 0, 0) + self.vl_name = QComboBox() + self.vl_name.setEditable(True) + self.vl_name.lineEdit().setMaxLength(MAX_VIRTUAL_LIBRARY_NAME_LENGTH) + la1.setBuddy(self.vl_name) + gl.addWidget(self.vl_name, 0, 1) + self.editing = editing + + self.saved_searches_label = QLabel('') + self.saved_searches_label.setTextInteractionFlags(Qt.TextSelectableByMouse) + gl.addWidget(self.saved_searches_label, 2, 0, 1, 2) + + self.la2 = la2 = QLabel(_('&Search expression:')) + gl.addWidget(la2, 1, 0) + self.vl_text = QLineEdit() + self.vl_text.textChanged.connect(self.search_text_changed) + la2.setBuddy(self.vl_text) + gl.addWidget(self.vl_text, 1, 1) + self.vl_text.setText(_build_full_search_string(self.gui)) + + self.sl = sl = QLabel('

'+_('Create a virtual library based on: ')+ + ('{0}, ' + '{1}, ' + '{2}, ' + '{3}, ' + '{4}.').format(_('Authors'), _('Tags'), + _('Publishers'), _('Series'), _('Saved Searches'))) + sl.setWordWrap(True) + sl.setTextInteractionFlags(Qt.LinksAccessibleByMouse) + sl.linkActivated.connect(self.link_activated) + gl.addWidget(sl, 3, 0, 1, 2) + gl.setRowStretch(3,10) + + self.hl = hl = QLabel(_(''' +

Virtual Libraries

+ +

Using virtual libraries you can restrict calibre to only show + you books that match a search. When a virtual library is in effect, calibre + behaves as though the library contains only the matched books. The Tag Browser + display only the tags/authors/series/etc. that belong to the matched books and any searches + you do will only search within the books in the virtual library. This + is a good way to partition your large library into smaller and easier to work with subsets.

+ +

For example you can use a Virtual Library to only show you books with the Tag "Unread" + or only books by "My Favorite Author" or only books in a particular series.

+ ''')) + hl.setWordWrap(True) + hl.setFrameStyle(hl.StyledPanel) + gl.addWidget(hl, 0, 3, 4, 1) + + bb = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) + bb.accepted.connect(self.accept) + bb.rejected.connect(self.reject) + gl.addWidget(bb, 4, 0, 1, 0) + + if editing: + db = self.gui.current_db + virt_libs = db.prefs.get('virtual_libraries', {}) + for dex,vl in enumerate(sorted(virt_libs.keys(), key=sort_key)): + self.vl_name.addItem(vl, virt_libs.get(vl, '')) + if vl == editing: + self.vl_name.setCurrentIndex(dex) + self.original_index = dex + self.original_search = virt_libs.get(editing, '') + self.vl_text.setText(self.original_search) + self.new_name = editing + self.vl_name.currentIndexChanged[int].connect(self.name_index_changed) + self.vl_name.lineEdit().textEdited.connect(self.name_text_edited) + + self.resize(self.sizeHint()+QSize(150, 25)) + + def search_text_changed(self, txt): + searches = [_('Saved searches recognized in the expression:')] + txt = unicode(txt) + while txt: + p = txt.partition('search:') + if p[1]: # found 'search:' + possible_search = p[2] + if possible_search: # something follows the 'search:' + if possible_search[0] == '"': # strip any quotes + possible_search = possible_search[1:].partition('"') + else: # find end of the search name. Is EOL, space, rparen + sp = possible_search.find(' ') + pp = possible_search.find(')') + if pp < 0 or (sp > 0 and sp <= pp): + # space in string before rparen, or neither found + possible_search = possible_search.partition(' ') + else: + # rparen in string before space + possible_search = possible_search.partition(')') + txt = possible_search[2] # grab remainder of the string + search_name = possible_search[0] + if search_name.startswith('='): + search_name = search_name[1:] + if search_name in saved_searches().names(): + searches.append(search_name + '=' + + saved_searches().lookup(search_name)) + else: + txt = '' + else: + txt = '' + if len(searches) > 1: + self.saved_searches_label.setText('\n'.join(searches)) + else: + self.saved_searches_label.setText('') + + def name_text_edited(self, new_name): + self.new_name = unicode(new_name) + + def name_index_changed(self, dex): + if self.editing and (self.vl_text.text() != self.original_search or + self.new_name != self.editing): + if not question_dialog(self.gui, _('Search text changed'), + _('The virtual library name or the search text has changed. ' + 'Do you want to discard these changes?'), + default_yes=False): + self.vl_name.blockSignals(True) + self.vl_name.setCurrentIndex(self.original_index) + self.vl_name.lineEdit().setText(self.new_name) + self.vl_name.blockSignals(False) + return + self.new_name = self.editing = self.vl_name.currentText() + self.original_index = dex + self.original_search = unicode(self.vl_name.itemData(dex).toString()) + self.vl_text.setText(self.original_search) + + def link_activated(self, url): + db = self.gui.current_db + f, txt = unicode(url).partition('.')[0::2] + if f == 'search': + names = saved_searches().names() + else: + names = getattr(db, 'all_%s_names'%f)() + d = SelectNames(names, txt, parent=self) + if d.exec_() == d.Accepted: + prefix = f+'s' if f in {'tag', 'author'} else f + if f == 'search': + search = ['(%s)'%(saved_searches().lookup(x)) for x in d.names] + else: + search = ['%s:"=%s"'%(prefix, x.replace('"', '\\"')) for x in d.names] + if search: + if not self.editing: + self.vl_name.lineEdit().setText(d.names.next()) + self.vl_name.lineEdit().setCursorPosition(0) + self.vl_text.setText(d.match_type.join(search)) + self.vl_text.setCursorPosition(0) + + def accept(self): + n = unicode(self.vl_name.currentText()).strip() + if not n: + error_dialog(self.gui, _('No name'), + _('You must provide a name for the new virtual library'), + show=True) + return + + if n.startswith('*'): + error_dialog(self.gui, _('Invalid name'), + _('A virtual library name cannot begin with "*"'), + show=True) + return + + if n in self.existing_names and n != self.editing: + if not question_dialog(self.gui, _('Name already in use'), + _('That name is already in use. Do you want to replace it ' + 'with the new search?'), + default_yes=False): + return + + v = unicode(self.vl_text.text()).strip() + if not v: + error_dialog(self.gui, _('No search string'), + _('You must provide a search to define the new virtual library'), + show=True) + return + + try: + db = self.gui.library_view.model().db + recs = db.data.search_getting_ids('', v, use_virtual_library=False) + except ParseException as e: + error_dialog(self.gui, _('Invalid search'), + _('The search in the search box is not valid'), + det_msg=e.msg, show=True) + return + + if not recs and not question_dialog( + self.gui, _('Search found no books'), + _('The search found no books, so the virtual library ' + 'will be empty. Do you really want to use that search?'), + default_yes=False): + return + + self.library_name = n + self.library_search = v + QDialog.accept(self) +# }}} class SearchRestrictionMixin(object): + no_restriction = _('') + def __init__(self): - self.search_restriction.initialize(help_text=_('Restrict to')) - self.search_restriction.activated[int].connect(self.apply_search_restriction) - self.library_view.model().count_changed_signal.connect(self.set_number_of_books_shown) - self.search_restriction.setSizeAdjustPolicy( - self.search_restriction.AdjustToMinimumContentsLengthWithIcon) - self.search_restriction.setMinimumContentsLength(10) - self.search_restriction.setStatusTip(self.search_restriction.toolTip()) + self.checked = QIcon(I('ok.png')) + self.empty = QIcon(I('blank.png')) + self.search_based_vl_name = None + self.search_based_vl = None + + self.virtual_library_menu = QMenu() + + self.virtual_library.clicked.connect(self.virtual_library_clicked) + + self.virtual_library_tooltip = \ + _('Use a "virtual library" to show only a subset of the books present in this library') + self.virtual_library.setToolTip(self.virtual_library_tooltip) + + self.search_restriction = ComboBoxWithHelp(self) + self.search_restriction.setVisible(False) self.search_count.setText(_("(all books)")) - self.search_restriction_tooltip = \ - _('Books display will be restricted to those matching a ' - 'selected saved search') - self.search_restriction.setToolTip(self.search_restriction_tooltip) + self.ar_menu = QMenu(_('Additional restriction')) + self.edit_menu = QMenu(_('Edit Virtual Library')) + self.rm_menu = QMenu(_('Remove Virtual Library')) + + def add_virtual_library(self, db, name, search): + virt_libs = db.prefs.get('virtual_libraries', {}) + virt_libs[name] = search + db.prefs.set('virtual_libraries', virt_libs) + + def do_create_edit(self, name=None): + db = self.library_view.model().db + virt_libs = db.prefs.get('virtual_libraries', {}) + cd = CreateVirtualLibrary(self, virt_libs.keys(), editing=name) + if cd.exec_() == cd.Accepted: + if name: + self._remove_vl(name, reapply=False) + self.add_virtual_library(db, cd.library_name, cd.library_search) + if not name or name == db.data.get_base_restriction_name(): + self.apply_virtual_library(cd.library_name) + + def virtual_library_clicked(self): + m = self.virtual_library_menu + m.clear() + + a = m.addAction(_('Create Virtual Library')) + a.triggered.connect(partial(self.do_create_edit, name=None)) + + a = self.edit_menu + self.build_virtual_library_list(a, self.do_create_edit) + m.addMenu(a) + + a = self.rm_menu + self.build_virtual_library_list(a, self.remove_vl_triggered) + m.addMenu(a) + + m.addSeparator() + + db = self.library_view.model().db + + a = self.ar_menu + a.clear() + a.setIcon(self.checked if db.data.get_search_restriction_name() else self.empty) + self.build_search_restriction_list() + m.addMenu(a) + + m.addSeparator() + + current_lib = db.data.get_base_restriction_name() + + if current_lib == '': + a = m.addAction(self.checked, self.no_restriction) + else: + a = m.addAction(self.empty, self.no_restriction) + a.triggered.connect(partial(self.apply_virtual_library, library='')) + + a = m.addAction(self.empty, _('*current search')) + a.triggered.connect(partial(self.apply_virtual_library, library='*')) + + if self.search_based_vl_name: + a = m.addAction( + self.checked if db.data.get_base_restriction_name().startswith('*') + else self.empty, + self.search_based_vl_name) + a.triggered.connect(partial(self.apply_virtual_library, + library=self.search_based_vl_name)) + + m.addSeparator() + + virt_libs = db.prefs.get('virtual_libraries', {}) + for vl in sorted(virt_libs.keys(), key=sort_key): + a = m.addAction(self.checked if vl == current_lib else self.empty, vl) + a.triggered.connect(partial(self.apply_virtual_library, library=vl)) + + p = QPoint(0, self.virtual_library.height()) + self.virtual_library_menu.popup(self.virtual_library.mapToGlobal(p)) + + def apply_virtual_library(self, library=None): + db = self.library_view.model().db + virt_libs = db.prefs.get('virtual_libraries', {}) + if not library: + db.data.set_base_restriction('') + db.data.set_base_restriction_name('') + elif library == '*': + if not self.search.current_text: + error_dialog(self, _('No search'), + _('There is no current search to use'), show=True) + return + + txt = _build_full_search_string(self) + try: + db.data.search_getting_ids('', txt, use_virtual_library=False) + except ParseException as e: + error_dialog(self, _('Invalid search'), + _('The search in the search box is not valid'), + det_msg=e.msg, show=True) + return + + self.search_based_vl = txt + db.data.set_base_restriction(txt) + self.search_based_vl_name = self._trim_restriction_name('*' + txt) + db.data.set_base_restriction_name(self.search_based_vl_name) + elif library == self.search_based_vl_name: + db.data.set_base_restriction(self.search_based_vl) + db.data.set_base_restriction_name(self.search_based_vl_name) + elif library in virt_libs: + db.data.set_base_restriction(virt_libs[library]) + db.data.set_base_restriction_name(library) + self.virtual_library.setToolTip(self.virtual_library_tooltip + '\n' + + db.data.get_base_restriction()) + self._apply_search_restriction(db.data.get_search_restriction(), + db.data.get_search_restriction_name()) + + def build_virtual_library_list(self, menu, handler): + db = self.library_view.model().db + virt_libs = db.prefs.get('virtual_libraries', {}) + menu.clear() + menu.setIcon(self.empty) + + def add_action(name, search): + a = menu.addAction(name) + a.triggered.connect(partial(handler, name=name)) + a.setIcon(self.empty) + + libs = sorted(virt_libs.keys(), key=sort_key) + if libs: + menu.setEnabled(True) + for n in libs: + add_action(n, virt_libs[n]) + else: + menu.setEnabled(False) + + def remove_vl_triggered(self, name=None): + if not question_dialog(self, _('Are you sure?'), + _('Are you sure you want to remove ' + 'the virtual library {0}').format(name), + default_yes=False): + return + self._remove_vl(name, reapply=True) + + def _remove_vl(self, name, reapply=True): + db = self.library_view.model().db + virt_libs = db.prefs.get('virtual_libraries', {}) + virt_libs.pop(name, None) + db.prefs.set('virtual_libraries', virt_libs) + if reapply and db.data.get_base_restriction_name() == name: + self.apply_virtual_library('') + + def _trim_restriction_name(self, name): + return name[0:MAX_VIRTUAL_LIBRARY_NAME_LENGTH].strip() + + def build_search_restriction_list(self): + m = self.ar_menu + m.clear() + + current_restriction_text = None + + if self.search_restriction.count() > 1: + txt = unicode(self.search_restriction.itemText(2)) + if txt.startswith('*'): + current_restriction_text = txt + self.search_restriction.clear() + + current_restriction = self.library_view.model().db.data.get_search_restriction_name() + m.setIcon(self.checked if current_restriction else self.empty) + + def add_action(txt, index): + self.search_restriction.addItem(txt) + txt = self._trim_restriction_name(txt) + if txt == current_restriction: + a = m.addAction(self.checked, txt if txt else self.no_restriction) + else: + a = m.addAction(self.empty, txt if txt else self.no_restriction) + a.triggered.connect(partial(self.search_restriction_triggered, + action=a, index=index)) + + add_action('', 0) + add_action(_('*current search'), 1) + dex = 2 + if current_restriction_text: + add_action(current_restriction_text, 2) + dex += 1 + + for n in sorted(saved_searches().names(), key=sort_key): + add_action(n, dex) + dex += 1 + + def search_restriction_triggered(self, action=None, index=None): + self.search_restriction.setCurrentIndex(index) + self.apply_search_restriction(index) def apply_named_search_restriction(self, name): if not name: @@ -29,15 +515,14 @@ def apply_named_search_restriction(self, name): r = self.search_restriction.findText(name) if r < 0: r = 0 - if r != self.search_restriction.currentIndex(): - self.search_restriction.setCurrentIndex(r) - self.apply_search_restriction(r) + self.search_restriction.setCurrentIndex(r) + self.apply_search_restriction(r) def apply_text_search_restriction(self, search): search = unicode(search) if not search: self.search_restriction.setCurrentIndex(0) - self._apply_search_restriction('') + self._apply_search_restriction('', '') else: s = '*' + search if self.search_restriction.count() > 1: @@ -49,10 +534,7 @@ def apply_text_search_restriction(self, search): else: self.search_restriction.insertItem(2, s) self.search_restriction.setCurrentIndex(2) - self.search_restriction.setToolTip('

' + - self.search_restriction_tooltip + - _(' or the search ') + "'" + search + "'

") - self._apply_search_restriction(search) + self._apply_search_restriction(search, self._trim_restriction_name(s)) def apply_search_restriction(self, i): if i == 1: @@ -66,18 +548,27 @@ def apply_search_restriction(self, i): restriction = 'search:"%s"'%(r) else: restriction = '' - self._apply_search_restriction(restriction) + self._apply_search_restriction(restriction, r) - def _apply_search_restriction(self, restriction): + def clear_additional_restriction(self): + self._apply_search_restriction('', '') + + def _apply_search_restriction(self, restriction, name): self.saved_search.clear() # The order below is important. Set the restriction, force a '' search # to apply it, reset the tag browser to take it into account, then set # the book count. self.library_view.model().db.data.set_search_restriction(restriction) + self.library_view.model().db.data.set_search_restriction_name(name) self.search.clear(emit_search=True) - self.tags_view.set_search_restriction(restriction) + self.tags_view.recount() self.set_number_of_books_shown() self.current_view().setFocus(Qt.OtherFocusReason) + self.set_window_title() + v = self.current_view() + if not v.currentIndex().isValid(): + v.set_current_row() + v.refresh_book_details() def set_number_of_books_shown(self): db = self.library_view.model().db @@ -86,9 +577,10 @@ def set_number_of_books_shown(self): rows = self.current_view().row_count() rbc = max(rows, db.data.get_search_restriction_book_count()) t = _("({0} of {1})").format(rows, rbc) - self.search_count.setStyleSheet \ - ('QLabel { border-radius: 8px; background-color: yellow; }') - else: # No restriction or not library view + if tweaks['highlight_virtual_library_book_count']: + self.search_count.setStyleSheet( + 'QLabel { border-radius: 8px; background-color: yellow; }') + else: # No restriction or not library view if not self.search.in_a_search(): t = _("(all books)") else: @@ -96,3 +588,14 @@ def set_number_of_books_shown(self): self.search_count.setStyleSheet( 'QLabel { background-color: transparent; }') self.search_count.setText(t) + +if __name__ == '__main__': + from calibre.gui2 import Application + from calibre.gui2.preferences import init_gui + app = Application([]) + app + gui = init_gui() + d = CreateVirtualLibrary(gui, []) + d.exec_() + + diff --git a/src/calibre/gui2/store/stores/google_books_plugin.py b/src/calibre/gui2/store/stores/google_books_plugin.py index f6f91fd81d..f5af8bd161 100644 --- a/src/calibre/gui2/store/stores/google_books_plugin.py +++ b/src/calibre/gui2/store/stores/google_books_plugin.py @@ -1,13 +1,12 @@ # -*- coding: utf-8 -*- from __future__ import (unicode_literals, division, absolute_import, print_function) -store_version = 1 # Needed for dynamic plugin loading +store_version = 2 # Needed for dynamic plugin loading __license__ = 'GPL 3' __copyright__ = '2011, John Schember ' __docformat__ = 'restructuredtext en' -import random import urllib from contextlib import closing @@ -25,25 +24,7 @@ class GoogleBooksStore(BasicStoreConfig, StorePlugin): def open(self, parent=None, detail_item=None, external=False): - aff_id = { - 'lid': '41000000033185143', - 'pubid': '21000000000352219', - 'ganpub': 'k352219', - 'ganclk': 'GOOG_1335334761', - } - # Use Kovid's affiliate id 30% of the time. - if random.randint(1, 10) in (1, 2, 3): - aff_id = { - 'lid': '41000000031855266', - 'pubid': '21000000000352583', - 'ganpub': 'k352583', - 'ganclk': 'GOOG_1335335464', - } - - url = 'http://gan.doubleclick.net/gan_click?lid=%(lid)s&pubid=%(pubid)s' % aff_id - if detail_item: - detail_item += '&ganpub=%(ganpub)s&ganclk=%(ganclk)s' % aff_id - + url = 'http://books.google.com/books' if external or self.config.get('open_external', False): open_url(QUrl(url_slash_cleaner(detail_item if detail_item else url))) else: diff --git a/src/calibre/gui2/store/stores/gutenberg_plugin.py b/src/calibre/gui2/store/stores/gutenberg_plugin.py index b057cfe50f..99d404c74c 100644 --- a/src/calibre/gui2/store/stores/gutenberg_plugin.py +++ b/src/calibre/gui2/store/stores/gutenberg_plugin.py @@ -1,91 +1,104 @@ # -*- coding: utf-8 -*- from __future__ import (unicode_literals, division, absolute_import, print_function) -store_version = 2 # Needed for dynamic plugin loading +store_version = 3 # Needed for dynamic plugin loading __license__ = 'GPL 3' -__copyright__ = '2011, John Schember ' +__copyright__ = '2011, 2013, John Schember ' __docformat__ = 'restructuredtext en' +import base64 import mimetypes +import re import urllib from contextlib import closing -from lxml import html +from lxml import etree -from PyQt4.Qt import QUrl - -from calibre import browser, random_user_agent, url_slash_cleaner -from calibre.gui2 import open_url -from calibre.gui2.store import StorePlugin +from calibre import browser, url_slash_cleaner +from calibre.constants import __version__ from calibre.gui2.store.basic_config import BasicStoreConfig +from calibre.gui2.store.opensearch_store import OpenSearchOPDSStore from calibre.gui2.store.search_result import SearchResult -from calibre.gui2.store.web_store_dialog import WebStoreDialog -class GutenbergStore(BasicStoreConfig, StorePlugin): +class GutenbergStore(BasicStoreConfig, OpenSearchOPDSStore): - def open(self, parent=None, detail_item=None, external=False): - url = 'http://gutenberg.org/' - - if detail_item: - detail_item = url_slash_cleaner(url + detail_item) - - if external or self.config.get('open_external', False): - open_url(QUrl(detail_item if detail_item else url)) - else: - d = WebStoreDialog(self.gui, url, parent, detail_item) - d.setWindowTitle(self.name) - d.set_tags(self.config.get('tags', '')) - d.exec_() + open_search_url = 'http://www.gutenberg.org/catalog/osd-books.xml' + web_url = 'http://m.gutenberg.org/' def search(self, query, max_results=10, timeout=60): - url = 'http://m.gutenberg.org/ebooks/search.mobile/?default_prefix=all&sort_order=title&query=' + urllib.quote_plus(query) + ''' + Gutenberg's ODPS feed is poorly implmented and has a number of issues + which require very special handling to fix the results. - br = browser(user_agent=random_user_agent()) + Issues: + * "Sort Alphabetically" and "Sort by Release Date" are returned + as book entries. + * The author is put into a "content" tag and not the author tag. + * The link to the book itself goes to an odps page which we need + to turn into a link to a web page. + * acquisition links are not part of the search result so we have + to go to the odps item itself. Detail item pages have a nasty + note saying: + DON'T USE THIS PAGE FOR SCRAPING. + Seriously. You'll only get your IP blocked. + We're using the ODPS feed because people are getting blocked with + the previous implementation so due to this using ODPS probably + won't solve this issue. + * Images are not links but base64 encoded strings. They are also not + real cover images but a little blue book thumbnail. + ''' + + url = 'http://m.gutenberg.org/ebooks/search.opds/?query=' + urllib.quote_plus(query) counter = max_results + br = browser(user_agent='calibre/'+__version__) with closing(br.open(url, timeout=timeout)) as f: - doc = html.fromstring(f.read()) - for data in doc.xpath('//ol[@class="results"]/li[@class="booklink"]'): + doc = etree.fromstring(f.read()) + for data in doc.xpath('//*[local-name() = "entry"]'): if counter <= 0: break - id = ''.join(data.xpath('./a/@href')) - id = id.split('.mobile')[0] - - title = ''.join(data.xpath('.//span[@class="title"]/text()')) - author = ''.join(data.xpath('.//span[@class="subtitle"]/text()')) - counter -= 1 s = SearchResult() - s.cover_url = '' - s.detail_item = id.strip() - s.title = title.strip() - s.author = author.strip() - s.price = '$0.00' - s.drm = SearchResult.DRM_UNLOCKED + # We could use the tag from the + # detail odps page but this is easier. + id = ''.join(data.xpath('./*[local-name() = "id"]/text()')).strip() + s.detail_item = url_slash_cleaner('%s/ebooks/%s' % (self.web_url, re.sub('[^\d]', '', id))) + if not s.detail_item: + continue + + s.title = ' '.join(data.xpath('./*[local-name() = "title"]//text()')).strip() + s.author = ', '.join(data.xpath('./*[local-name() = "content"]//text()')).strip() + if not s.title or not s.author: + continue + + # Get the formats and direct download links. + with closing(br.open(id, timeout=timeout/4)) as nf: + ndoc = etree.fromstring(nf.read()) + for link in ndoc.xpath('//*[local-name() = "link" and @rel = "http://opds-spec.org/acquisition"]'): + type = link.get('type') + href = link.get('href') + if type: + ext = mimetypes.guess_extension(type) + if ext: + ext = ext[1:].upper().strip() + s.downloads[ext] = href + + s.formats = ', '.join(s.downloads.keys()) + if not s.formats: + continue + + for link in data.xpath('./*[local-name() = "link"]'): + rel = link.get('rel') + href = link.get('href') + type = link.get('type') + + if rel and href and type: + if rel in ('http://opds-spec.org/thumbnail', 'http://opds-spec.org/image/thumbnail'): + if href.startswith('data:image/png;base64,'): + s.cover_data = base64.b64decode(href.replace('data:image/png;base64,', '')) yield s - - def get_details(self, search_result, timeout): - url = url_slash_cleaner('http://m.gutenberg.org/' + search_result.detail_item) - - br = browser(user_agent=random_user_agent()) - with closing(br.open(url, timeout=timeout)) as nf: - doc = html.fromstring(nf.read()) - - for save_item in doc.xpath('//li[contains(@class, "icon_save")]/a'): - type = save_item.get('type') - href = save_item.get('href') - - if type: - ext = mimetypes.guess_extension(type) - if ext: - ext = ext[1:].upper().strip() - search_result.downloads[ext] = href - - search_result.formats = ', '.join(search_result.downloads.keys()) - - return True diff --git a/src/calibre/gui2/store/stores/kobo_plugin.py b/src/calibre/gui2/store/stores/kobo_plugin.py index 44f4f4001c..62652ca855 100644 --- a/src/calibre/gui2/store/stores/kobo_plugin.py +++ b/src/calibre/gui2/store/stores/kobo_plugin.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- from __future__ import (unicode_literals, division, absolute_import, print_function) -store_version = 1 # Needed for dynamic plugin loading +store_version = 2 # Needed for dynamic plugin loading __license__ = 'GPL 3' __copyright__ = '2011, John Schember ' @@ -31,10 +31,10 @@ def open(self, parent=None, detail_item=None, external=False): if random.randint(1, 10) in (1, 2, 3): pub_id = '0dsO3kDu/AU' - murl = 'http://click.linksynergy.com/fs-bin/click?id=%s&offerid=268429.4&type=3&subid=0' % pub_id + murl = 'http://click.linksynergy.com/fs-bin/click?id=%s&subid=&offerid=280046.1&type=10&tmpid=9310&RD_PARM1=http%%3A%%2F%%2Fkobo.com' % pub_id if detail_item: - purl = 'http://click.linksynergy.com/link?id=%s&offerid=268429&type=2&murl=%s' % (pub_id, urllib.quote_plus(detail_item)) + purl = 'http://click.linksynergy.com/link?id=%s&offerid=280046&type=2&murl=%s' % (pub_id, urllib.quote_plus(detail_item)) url = purl else: purl = None diff --git a/src/calibre/gui2/store/stores/koobe_plugin.py b/src/calibre/gui2/store/stores/koobe_plugin.py new file mode 100644 index 0000000000..b6ecdea6be --- /dev/null +++ b/src/calibre/gui2/store/stores/koobe_plugin.py @@ -0,0 +1,84 @@ +# -*- coding: utf-8 -*- + +from __future__ import (division, absolute_import, print_function) +store_version = 2 # Needed for dynamic plugin loading + +__license__ = 'GPL 3' +__copyright__ = '2013, Tomasz Długosz ' +__docformat__ = 'restructuredtext en' + +import urllib +from base64 import b64encode +from contextlib import closing + +from lxml import html + +from PyQt4.Qt import QUrl + +from calibre import browser, url_slash_cleaner +from calibre.gui2 import open_url +from calibre.gui2.store import StorePlugin +from calibre.gui2.store.basic_config import BasicStoreConfig +from calibre.gui2.store.search_result import SearchResult +from calibre.gui2.store.web_store_dialog import WebStoreDialog + +class KoobeStore(BasicStoreConfig, StorePlugin): + + def open(self, parent=None, detail_item=None, external=False): + #aff_root = 'https://www.a4b-tracking.com/pl/stat-click-text-link/15/58/' + url = 'http://www.koobe.pl/' + + #aff_url = aff_root + str(b64encode(url)) + + detail_url = None + if detail_item: + detail_url = detail_item #aff_root + str(b64encode(detail_item)) + + if external or self.config.get('open_external', False): + #open_url(QUrl(url_slash_cleaner(detail_url if detail_url else aff_url))) + open_url(QUrl(url_slash_cleaner(detail_url if detail_url else url))) + else: + #d = WebStoreDialog(self.gui, url, parent, detail_url if detail_url else aff_url) + d = WebStoreDialog(self.gui, url, parent, detail_url if detail_url else url) + d.setWindowTitle(self.name) + d.set_tags(self.config.get('tags', '')) + d.exec_() + + def search(self, query, max_results=10, timeout=60): + + br = browser() + page=1 + + counter = max_results + while counter: + with closing(br.open('http://www.koobe.pl/s,p,' + str(page) + ',szukaj/fraza:' + urllib.quote(query), timeout=timeout)) as f: + doc = html.fromstring(f.read().decode('utf-8')) + for data in doc.xpath('//div[@class="seach_result"]/div[@class="result"]'): + if counter <= 0: + break + + id = ''.join(data.xpath('.//div[@class="cover"]/a/@href')) + if not id: + continue + + cover_url = ''.join(data.xpath('.//div[@class="cover"]/a/img/@src')) + price = ''.join(data.xpath('.//span[@class="current_price"]/text()')) + title = ''.join(data.xpath('.//h2[@class="title"]/a/text()')) + author = ''.join(data.xpath('.//h3[@class="book_author"]/a/text()')) + formats = ', '.join(data.xpath('.//div[@class="formats"]/div/div/@title')) + + counter -= 1 + + s = SearchResult() + s.cover_url = 'http://koobe.pl/' + cover_url + s.title = title.strip() + s.author = author.strip() + s.price = price + s.detail_item = 'http://koobe.pl' + id[1:] + s.formats = formats.upper() + s.drm = SearchResult.DRM_UNLOCKED + + yield s + if not doc.xpath('//div[@class="site_bottom"]//a[@class="right"]'): + break + page+=1 diff --git a/src/calibre/gui2/store/stores/nook_uk_plugin.py b/src/calibre/gui2/store/stores/nook_uk_plugin.py index cc97d5cf93..84d6c214f2 100644 --- a/src/calibre/gui2/store/stores/nook_uk_plugin.py +++ b/src/calibre/gui2/store/stores/nook_uk_plugin.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- from __future__ import (unicode_literals, division, absolute_import, print_function) -store_version = 1 # Needed for dynamic plugin loading +store_version = 2 # Needed for dynamic plugin loading __license__ = 'GPL 3' __copyright__ = '2012, John Schember ' @@ -25,11 +25,19 @@ class NookUKStore(BasicStoreConfig, StorePlugin): def open(self, parent=None, detail_item=None, external=False): - url = "http://uk.nook.com" + url = 'http://www.awin1.com/awclick.php?mid=5266&id=120917' + detail_url = 'http://www.awin1.com/cread.php?awinmid=5266&awinaffid=120917&clickref=&p=' if external or self.config.get('open_external', False): - open_url(QUrl(url_slash_cleaner(detail_item if detail_item else url))) + if detail_item: + url = detail_url + detail_item + + open_url(QUrl(url_slash_cleaner(url))) else: + if detail_item: + detail_url = detail_url + detail_item + else: + detail_url = None d = WebStoreDialog(self.gui, url, parent, detail_item) d.setWindowTitle(self.name) d.set_tags(self.config.get('tags', '')) diff --git a/src/calibre/gui2/store/stores/woblink_plugin.py b/src/calibre/gui2/store/stores/woblink_plugin.py index 63ec259dbf..6434488b21 100644 --- a/src/calibre/gui2/store/stores/woblink_plugin.py +++ b/src/calibre/gui2/store/stores/woblink_plugin.py @@ -1,14 +1,15 @@ # -*- coding: utf-8 -*- from __future__ import (unicode_literals, division, absolute_import, print_function) -store_version = 1 # Needed for dynamic plugin loading +store_version = 3 # Needed for dynamic plugin loading __license__ = 'GPL 3' -__copyright__ = '2011-2012, Tomasz Długosz ' +__copyright__ = '2011-2013, Tomasz Długosz ' __docformat__ = 'restructuredtext en' import re import urllib +from base64 import b64encode from contextlib import closing from lxml import html @@ -25,17 +26,21 @@ class WoblinkStore(BasicStoreConfig, StorePlugin): def open(self, parent=None, detail_item=None, external=False): - + #aff_root = 'https://www.a4b-tracking.com/pl/stat-click-text-link/16/58/' url = 'http://woblink.com/publication' + + #aff_url = aff_root + str(b64encode(url)) detail_url = None if detail_item: - detail_url = 'http://woblink.com' + detail_item + detail_url = 'http://woblink.com' + detail_item #aff_root + str(b64encode('http://woblink.com' + detail_item)) if external or self.config.get('open_external', False): + #open_url(QUrl(url_slash_cleaner(detail_url if detail_url else aff_url))) open_url(QUrl(url_slash_cleaner(detail_url if detail_url else url))) else: - d = WebStoreDialog(self.gui, url, parent, detail_url) + #d = WebStoreDialog(self.gui, url, parent, detail_url if detail_url else aff_url) + d = WebStoreDialog(self.gui, url, parent, detail_url if detail_url else url) d.setWindowTitle(self.name) d.set_tags(self.config.get('tags', '')) d.exec_() diff --git a/src/calibre/gui2/tag_browser/model.py b/src/calibre/gui2/tag_browser/model.py index 742f2b2776..33d1235f8b 100644 --- a/src/calibre/gui2/tag_browser/model.py +++ b/src/calibre/gui2/tag_browser/model.py @@ -264,13 +264,8 @@ def reread_collapse_model(self, state_map, rebuild=True): if rebuild: self.rebuild_node_tree(state_map) - def set_search_restriction(self, s): - self.search_restriction = s - self.rebuild_node_tree() - def set_database(self, db): self.beginResetModel() - self.search_restriction = None hidden_cats = db.prefs.get('tag_browser_hidden_categories', None) # migrate from config to db prefs if hidden_cats is None: @@ -848,7 +843,7 @@ def _get_category_nodes(self, sort): self.categories = {} # Get the categories - if self.search_restriction: + if self.db.data.get_base_restriction() or self.db.data.get_search_restriction(): try: data = self.db.get_categories(sort=sort, icon_map=self.category_icon_map, diff --git a/src/calibre/gui2/tag_browser/ui.py b/src/calibre/gui2/tag_browser/ui.py index ded019c600..6d6531cdae 100644 --- a/src/calibre/gui2/tag_browser/ui.py +++ b/src/calibre/gui2/tag_browser/ui.py @@ -23,7 +23,7 @@ from calibre.gui2.dialogs.tag_list_editor import TagListEditor from calibre.gui2.dialogs.edit_authors_dialog import EditAuthorsDialog -class TagBrowserMixin(object): # {{{ +class TagBrowserMixin(object): # {{{ def __init__(self, db): self.library_view.model().count_changed_signal.connect(self.tags_view.recount) @@ -60,7 +60,7 @@ def __init__(self, db): self.do_saved_search_edit, (None,), 'search') ): m = self.alter_tb.manage_menu - m.addAction( QIcon(I(category_icon_map[cat_name])), text, + m.addAction(QIcon(I(category_icon_map[cat_name])), text, partial(func, *args)) def do_restriction_error(self): @@ -213,9 +213,9 @@ def do_tags_list_edit(self, tag, category): tag_to_match=tag, data=result, sorter=key) d.exec_() if d.result() == d.Accepted: - to_rename = d.to_rename # dict of old id to new name - to_delete = d.to_delete # list of ids - orig_name = d.original_names # dict of id: name + to_rename = d.to_rename # dict of old id to new name + to_delete = d.to_delete # list of ids + orig_name = d.original_names # dict of id: name rename_func = None if category == 'tags': @@ -227,7 +227,7 @@ def do_tags_list_edit(self, tag, category): elif category == 'publisher': rename_func = db.rename_publisher delete_func = db.delete_publisher_using_id - else: # must be custom + else: # must be custom cc_label = db.field_metadata[category]['label'] rename_func = partial(db.rename_custom_item, label=cc_label) delete_func = partial(db.delete_custom_item_using_id, label=cc_label) @@ -265,7 +265,7 @@ def do_tag_item_delete(self, category, item_id, orig_name): delete_func = db.delete_series_using_id elif category == 'publisher': delete_func = db.delete_publisher_using_id - else: # must be custom + else: # must be custom cc_label = db.field_metadata[category]['label'] delete_func = partial(db.delete_custom_item_using_id, label=cc_label) m = self.tags_view.model() @@ -280,7 +280,7 @@ def do_tag_item_delete(self, category, item_id, orig_name): def do_tag_item_renamed(self): # Clean up library view and search # get information to redo the selection - rows = [r.row() for r in \ + rows = [r.row() for r in self.library_view.selectionModel().selectedRows()] m = self.library_view.model() ids = [m.id(r) for r in rows] @@ -315,7 +315,7 @@ def drag_drop_finished(self, ids): # }}} -class TagBrowserWidget(QWidget): # {{{ +class TagBrowserWidget(QWidget): # {{{ def __init__(self, parent): QWidget.__init__(self, parent) @@ -407,22 +407,24 @@ def __init__(self, parent): a = sb.m.addAction(x) sb.bg.addAction(a) a.setCheckable(True) - if i == 0: a.setChecked(True) + if i == 0: + a.setChecked(True) sb.setToolTip( _('Set the sort order for entries in the Tag Browser')) sb.setStatusTip(sb.toolTip()) - ma = l.m.addAction(_('Match type')) + ma = l.m.addAction(_('Search type when selecting multiple items')) ma.m = l.match_menu = QMenu(l.m) ma.setMenu(ma.m) ma.ag = QActionGroup(ma) # Must be in the same order as db2.MATCH_TYPE - for i, x in enumerate((_('Match any'), _('Match all'))): + for i, x in enumerate((_('Match any of the items'), _('Match all of the items'))): a = ma.m.addAction(x) ma.ag.addAction(a) a.setCheckable(True) - if i == 0: a.setChecked(True) + if i == 0: + a.setChecked(True) ma.setToolTip( _('When selecting multiple entries in the Tag Browser ' 'match any or all of them')) diff --git a/src/calibre/gui2/tag_browser/view.py b/src/calibre/gui2/tag_browser/view.py index 7070eaaa04..cefa0f8975 100644 --- a/src/calibre/gui2/tag_browser/view.py +++ b/src/calibre/gui2/tag_browser/view.py @@ -232,10 +232,6 @@ def match_changed(self, action): except: pass - def set_search_restriction(self, s): - s = s if s else None - self._model.set_search_restriction(s) - def mouseMoveEvent(self, event): dex = self.indexAt(event.pos()) if self.in_drag_drop or not dex.isValid(): diff --git a/src/calibre/gui2/toc/location.py b/src/calibre/gui2/toc/location.py index 28268d0998..6636079732 100644 --- a/src/calibre/gui2/toc/location.py +++ b/src/calibre/gui2/toc/location.py @@ -11,14 +11,14 @@ from PyQt4.Qt import (QWidget, QGridLayout, QListWidget, QSize, Qt, QUrl, pyqtSlot, pyqtSignal, QVBoxLayout, QFrame, QLabel, - QLineEdit, QTimer, QPushButton, QIcon) + QLineEdit, QTimer, QPushButton, QIcon, QSplitter) from PyQt4.QtWebKit import QWebView, QWebPage, QWebElement from calibre.ebooks.oeb.display.webview import load_html -from calibre.gui2 import error_dialog, question_dialog +from calibre.gui2 import error_dialog, question_dialog, gprefs from calibre.utils.logging import default_log -class Page(QWebPage): # {{{ +class Page(QWebPage): # {{{ elem_clicked = pyqtSignal(object, object, object, object) @@ -67,7 +67,7 @@ def load_js(self): self.evaljs(self.js) # }}} -class WebView(QWebView): # {{{ +class WebView(QWebView): # {{{ elem_clicked = pyqtSignal(object, object, object, object) @@ -106,38 +106,46 @@ class ItemEdit(QWidget): def __init__(self, parent): QWidget.__init__(self, parent) - self.l = l = QGridLayout() - self.setLayout(l) + self.setLayout(QVBoxLayout()) self.la = la = QLabel(''+_( 'Select a destination for the Table of Contents entry')) - l.addWidget(la, 0, 0, 1, 3) + self.layout().addWidget(la) + self.splitter = sp = QSplitter(self) + self.layout().addWidget(sp) + self.layout().setStretch(1, 10) + sp.setOpaqueResize(False) + sp.setChildrenCollapsible(False) self.dest_list = dl = QListWidget(self) dl.setMinimumWidth(250) dl.currentItemChanged.connect(self.current_changed) - l.addWidget(dl, 1, 0, 2, 1) + sp.addWidget(dl) + w = self.w = QWidget(self) + l = w.l = QGridLayout() + w.setLayout(l) self.view = WebView(self) self.view.elem_clicked.connect(self.elem_clicked) - l.addWidget(self.view, 1, 1, 1, 3) + l.addWidget(self.view, 0, 0, 1, 3) + sp.addWidget(w) + + self.search_text = s = QLineEdit(self) + s.setPlaceholderText(_('Search for text...')) + l.addWidget(s, 1, 0) + self.ns_button = b = QPushButton(QIcon(I('arrow-down.png')), _('Find &next'), self) + b.clicked.connect(self.find_next) + l.addWidget(b, 1, 1) + self.ps_button = b = QPushButton(QIcon(I('arrow-up.png')), _('Find &previous'), self) + l.addWidget(b, 1, 2) + b.clicked.connect(self.find_previous) self.f = f = QFrame() f.setFrameShape(f.StyledPanel) f.setMinimumWidth(250) - l.addWidget(f, 1, 4, 2, 1) - self.search_text = s = QLineEdit(self) - s.setPlaceholderText(_('Search for text...')) - l.addWidget(s, 2, 1, 1, 1) - self.ns_button = b = QPushButton(QIcon(I('arrow-down.png')), _('Find &next'), self) - b.clicked.connect(self.find_next) - l.addWidget(b, 2, 2, 1, 1) - self.ps_button = b = QPushButton(QIcon(I('arrow-up.png')), _('Find &previous'), self) - l.addWidget(b, 2, 3, 1, 1) - b.clicked.connect(self.find_previous) - l.setRowStretch(1, 10) l = f.l = QVBoxLayout() f.setLayout(l) + sp.addWidget(f) f.la = la = QLabel('

'+_( 'Here you can choose a destination for the Table of Contents\' entry' @@ -167,6 +175,10 @@ def __init__(self, parent): l.addStretch() + state = gprefs.get('toc_edit_splitter_state', None) + if state is not None: + sp.restoreState(state) + def keyPressEvent(self, ev): if ev.key() in (Qt.Key_Return, Qt.Key_Enter) and self.search_text.hasFocus(): # Prevent pressing enter in the search box from triggering the dialog's accept() method @@ -236,6 +248,7 @@ def __call__(self, item, where): if item is not None: if where is None: self.name.setText(item.data(0, Qt.DisplayRole).toString()) + self.name.setCursorPosition(0) toc = item.data(0, Qt.UserRole).toPyObject() if toc.dest: for i in xrange(self.dest_list.count()): @@ -272,7 +285,6 @@ def get_loctext(self, frac): loctext = _('Approximately %d%% from the top')%frac return loctext - def elem_clicked(self, tag, frac, elem_id, loc): self.current_frag = elem_id or loc base = _('Location: A <%s> tag inside the file')%tag diff --git a/src/calibre/gui2/toc/main.py b/src/calibre/gui2/toc/main.py index 90d9a8f4a8..b6c6b081f8 100644 --- a/src/calibre/gui2/toc/main.py +++ b/src/calibre/gui2/toc/main.py @@ -14,7 +14,7 @@ from PyQt4.Qt import (QPushButton, QFrame, QVariant, QMenu, QInputDialog, QDialog, QVBoxLayout, QDialogButtonBox, QSize, QStackedWidget, QWidget, QLabel, Qt, pyqtSignal, QIcon, QTreeWidget, QGridLayout, QTreeWidgetItem, - QToolButton, QItemSelectionModel, QCursor) + QToolButton, QItemSelectionModel, QCursor, QKeySequence) from calibre.ebooks.oeb.polish.container import get_container, AZW3Container from calibre.ebooks.oeb.polish.toc import ( @@ -27,7 +27,7 @@ ICON_SIZE = 24 -class XPathDialog(QDialog): # {{{ +class XPathDialog(QDialog): # {{{ def __init__(self, parent): QDialog.__init__(self, parent) @@ -118,7 +118,7 @@ def xpaths(self): return [w.xpath for w in self.widgets if w.xpath.strip()] # }}} -class ItemView(QFrame): # {{{ +class ItemView(QFrame): # {{{ add_new_item = pyqtSignal(object, object) delete_item = pyqtSignal() @@ -207,7 +207,6 @@ def __init__(self, parent): ))) l.addWidget(b) - l.addStretch() self.w1 = la = QLabel(_('WARNING: calibre only supports the ' 'creation of linear ToCs in AZW3 files. In a ' @@ -349,7 +348,9 @@ def data_changed(self, item): # }}} -class TreeWidget(QTreeWidget): # {{{ +class TreeWidget(QTreeWidget): # {{{ + + edit_item = pyqtSignal() def __init__(self, parent): QTreeWidget.__init__(self, parent) @@ -510,25 +511,30 @@ def keyPressEvent(self, ev): def show_context_menu(self, point): item = self.currentItem() + def key(k): + sc = unicode(QKeySequence(k | Qt.CTRL).toString(QKeySequence.NativeText)) + return ' [%s]'%sc + if item is not None: m = QMenu() ci = unicode(item.data(0, Qt.DisplayRole).toString()) p = item.parent() or self.invisibleRootItem() idx = p.indexOfChild(item) if idx > 0: - m.addAction(QIcon(I('arrow-up.png')), _('Move "%s" up')%ci, self.move_up) + m.addAction(QIcon(I('arrow-up.png')), (_('Move "%s" up')%ci)+key(Qt.Key_Up), self.move_up) if idx + 1 < p.childCount(): - m.addAction(QIcon(I('arrow-down.png')), _('Move "%s" down')%ci, self.move_down) + m.addAction(QIcon(I('arrow-down.png')), (_('Move "%s" down')%ci)+key(Qt.Key_Down), self.move_down) m.addAction(QIcon(I('trash.png')), _('Remove all selected items'), self.del_items) if item.parent() is not None: - m.addAction(QIcon(I('back.png')), _('Unindent "%s"')%ci, self.move_left) + m.addAction(QIcon(I('back.png')), (_('Unindent "%s"')%ci)+key(Qt.Key_Left), self.move_left) if idx > 0: - m.addAction(QIcon(I('forward.png')), _('Indent "%s"')%ci, self.move_right) + m.addAction(QIcon(I('forward.png')), (_('Indent "%s"')%ci)+key(Qt.Key_Right), self.move_right) + m.addAction(QIcon(I('edit_input.png')), _('Change the location this entry points to'), self.edit_item) m.addAction(_('Change all selected items to title case'), self.title_case) m.exec_(QCursor.pos()) # }}} -class TOCView(QWidget): # {{{ +class TOCView(QWidget): # {{{ add_new_item = pyqtSignal(object, object) @@ -537,6 +543,7 @@ def __init__(self, parent): l = self.l = QGridLayout() self.setLayout(l) self.tocw = t = TreeWidget(self) + self.tocw.edit_item.connect(self.edit_item) l.addWidget(t, 0, 0, 7, 3) self.up_button = b = QToolButton(self) b.setIcon(QIcon(I('arrow-up.png'))) @@ -595,6 +602,9 @@ def __init__(self, parent): l.setColumnStretch(2, 10) + def edit_item(self): + self.item_view.edit_item() + def event(self, e): if e.type() == e.StatusTip: txt = unicode(e.tip()) or self.default_msg @@ -742,12 +752,12 @@ def update_item(self, item, where, name, frag, title): else: parent = item.parent() or self.root idx = parent.indexOfChild(item) - if where == 'after': idx += 1 + if where == 'after': + idx += 1 c = self.create_item(parent, child, idx=idx) self.tocw.setCurrentItem(c, 0, QItemSelectionModel.ClearAndSelect) self.tocw.scrollToItem(c) - def create_toc(self): root = TOC() @@ -799,7 +809,7 @@ def create_from_files(self): # }}} -class TOCEditor(QDialog): # {{{ +class TOCEditor(QDialog): # {{{ explode_done = pyqtSignal(object) writing_done = pyqtSignal(object) @@ -857,6 +867,7 @@ def add_new_item(self, item, where): def accept(self): if self.stacks.currentIndex() == 2: self.toc_view.update_item(*self.item_edit.result) + gprefs['toc_edit_splitter_state'] = bytearray(self.item_edit.splitter.saveState()) self.stacks.setCurrentIndex(1) elif self.stacks.currentIndex() == 1: self.working = False @@ -883,6 +894,7 @@ def reject(self): if not self.bb.isEnabled(): return if self.stacks.currentIndex() == 2: + gprefs['toc_edit_splitter_state'] = bytearray(self.item_edit.splitter.saveState()) self.stacks.setCurrentIndex(1) else: self.working = False @@ -938,5 +950,5 @@ def write_toc(self): d = TOCEditor(sys.argv[-1]) d.start() d.exec_() - del d # Needed to prevent sigsegv in exit cleanup + del d # Needed to prevent sigsegv in exit cleanup diff --git a/src/calibre/gui2/ui.py b/src/calibre/gui2/ui.py index 65993ff31c..aafea4ef2b 100644 --- a/src/calibre/gui2/ui.py +++ b/src/calibre/gui2/ui.py @@ -15,7 +15,7 @@ from collections import OrderedDict from PyQt4.Qt import (Qt, SIGNAL, QTimer, QHelpEvent, QAction, - QMenu, QIcon, pyqtSignal, QUrl, + QMenu, QIcon, pyqtSignal, QUrl, QFont, QDialog, QSystemTrayIcon, QApplication) from calibre import prints, force_unicode @@ -47,7 +47,7 @@ from calibre.gui2.dialogs.message_box import JobError from calibre.gui2.job_indicator import Pointer -class Listener(Thread): # {{{ +class Listener(Thread): # {{{ def __init__(self, listener): Thread.__init__(self) @@ -76,7 +76,7 @@ def close(self): # }}} -class SystemTrayIcon(QSystemTrayIcon): # {{{ +class SystemTrayIcon(QSystemTrayIcon): # {{{ tooltip_requested = pyqtSignal(object) @@ -98,7 +98,7 @@ def event(self, ev): def get_gui(): return _gui -class Main(MainWindow, MainWindowMixin, DeviceMixin, EmailMixin, # {{{ +class Main(MainWindow, MainWindowMixin, DeviceMixin, EmailMixin, # {{{ TagBrowserMixin, CoverFlowMixin, LibraryViewMixin, SearchBoxMixin, SavedSearchBoxMixin, SearchRestrictionMixin, LayoutMixin, UpdateMixin, EbookDownloadMixin @@ -187,7 +187,6 @@ def add_istore(self, st): else: stmap[st.name] = st - def initialize(self, library_path, db, listener, actions, show_gui=True): opts = self.opts self.preferences_action, self.quit_action = actions @@ -266,6 +265,27 @@ def initialize(self, library_path, db, listener, actions, show_gui=True): action=self.esc_action) self.esc_action.triggered.connect(self.esc) + self.shift_esc_action = QAction(self) + self.addAction(self.shift_esc_action) + self.keyboard.register_shortcut('focus book list', + _('Focus the book list'), default_keys=('Shift+Esc',), + action=self.shift_esc_action) + self.shift_esc_action.triggered.connect(self.shift_esc) + + self.ctrl_esc_action = QAction(self) + self.addAction(self.ctrl_esc_action) + self.keyboard.register_shortcut('clear virtual library', + _('Clear the virtual library'), default_keys=('Ctrl+Esc',), + action=self.ctrl_esc_action) + self.ctrl_esc_action.triggered.connect(self.ctrl_esc) + + self.alt_esc_action = QAction(self) + self.addAction(self.alt_esc_action) + self.keyboard.register_shortcut('clear additional restriction', + _('Clear the additional restriction'), default_keys=('Alt+Esc',), + action=self.alt_esc_action) + self.alt_esc_action.triggered.connect(self.clear_additional_restriction) + ####################### Start spare job server ######################## QTimer.singleShot(1000, self.add_spare_server) @@ -279,6 +299,7 @@ def initialize(self, library_path, db, listener, actions, show_gui=True): UpdateMixin.__init__(self, opts) ####################### Search boxes ######################## + SearchRestrictionMixin.__init__(self) SavedSearchBoxMixin.__init__(self) SearchBoxMixin.__init__(self) @@ -313,9 +334,8 @@ def initialize(self, library_path, db, listener, actions, show_gui=True): TagBrowserMixin.__init__(self, db) ######################### Search Restriction ########################## - SearchRestrictionMixin.__init__(self) - if db.prefs['gui_restriction']: - self.apply_named_search_restriction(db.prefs['gui_restriction']) + if db.prefs['virtual_lib_on_startup']: + self.apply_virtual_library(db.prefs['virtual_lib_on_startup']) ########################### Cover Flow ################################ @@ -339,7 +359,6 @@ def initialize(self, library_path, db, listener, actions, show_gui=True): if config['autolaunch_server']: self.start_content_server() - self.keyboard_interrupt.connect(self.quit, type=Qt.QueuedConnection) self.read_settings() @@ -379,6 +398,13 @@ def initialize(self, library_path, db, listener, actions, show_gui=True): def esc(self, *args): self.clear_button.click() + def shift_esc(self): + self.current_view().setFocus(Qt.OtherFocusReason) + + def ctrl_esc(self): + self.apply_virtual_library() + self.current_view().setFocus(Qt.OtherFocusReason) + def start_smartdevice(self): message = None if self.device_manager.get_option('smartdevice', 'autostart'): @@ -393,7 +419,7 @@ def start_smartdevice(self): if not self.device_manager.is_running('Wireless Devices'): error_dialog(self, _('Problem starting the wireless device'), _('The wireless device driver did not start. ' - 'It said "%s"')%message, show=True) + 'It said "%s"')%message, show=True) self.iactions['Connect Share'].set_smartdevice_action_state() def start_content_server(self, check_started=True): @@ -494,7 +520,7 @@ def another_instance_wants_to_talk(self): path = os.path.abspath(argv[1]) if os.access(path, os.R_OK): self.iactions['Add Books'].add_filesystem_book(path) - self.setWindowState(self.windowState() & \ + self.setWindowState(self.windowState() & ~Qt.WindowMinimized|Qt.WindowActive) self.show_windows() self.raise_() @@ -526,7 +552,8 @@ def booklists(self): def library_moved(self, newloc, copy_structure=False, call_close=True, allow_rebuild=False): - if newloc is None: return + if newloc is None: + return default_prefs = None try: olddb = self.library_view.model().db @@ -537,7 +564,8 @@ def library_moved(self, newloc, copy_structure=False, call_close=True, try: db = LibraryDatabase2(newloc, default_prefs=default_prefs) except (DatabaseException, sqlite.Error): - if not allow_rebuild: raise + if not allow_rebuild: + raise import traceback repair = question_dialog(self, _('Corrupted database'), _('The library database at %s appears to be corrupted. Do ' @@ -571,9 +599,10 @@ def library_moved(self, newloc, copy_structure=False, call_close=True, db = self.library_view.model().db self.iactions['Choose Library'].count_changed(db.count()) self.set_window_title() - self.apply_named_search_restriction('') # reset restriction to null - self.saved_searches_changed(recount=False) # reload the search restrictions combo box - self.apply_named_search_restriction(db.prefs['gui_restriction']) + self.apply_named_search_restriction('') # reset restriction to null + self.saved_searches_changed(recount=False) # reload the search restrictions combo box + if db.prefs['virtual_lib_on_startup']: + self.apply_virtual_library(db.prefs['virtual_lib_on_startup']) for action in self.iactions.values(): action.library_changed(db) if olddb is not None: @@ -596,9 +625,20 @@ def library_moved(self, newloc, copy_structure=False, call_close=True, # interface later gc.collect() - def set_window_title(self): - self.setWindowTitle(__appname__ + u' - || %s ||'%self.iactions['Choose Library'].library_name()) + db = self.current_db + restrictions = [x for x in (db.data.get_base_restriction_name(), + db.data.get_search_restriction_name()) if x] + restrictions = ' :: '.join(restrictions) + font = QFont() + if restrictions: + restrictions = ' :: ' + restrictions + font.setBold(True) + font.setItalic(True) + self.virtual_library.setFont(font) + title = u'{0} - || {1}{2} ||'.format( + __appname__, self.iactions['Choose Library'].library_name(), restrictions) + self.setWindowTitle(title) def location_selected(self, location): ''' @@ -613,17 +653,15 @@ def location_selected(self, location): for action in self.iactions.values(): action.location_selected(location) if location == 'library': - self.search_restriction.setEnabled(True) + self.virtual_library_menu.setEnabled(True) self.highlight_only_button.setEnabled(True) else: - self.search_restriction.setEnabled(False) + self.virtual_library_menu.setEnabled(False) self.highlight_only_button.setEnabled(False) # Reset the view in case something changed while it was invisible self.current_view().reset() self.set_number_of_books_shown() - - def job_exception(self, job, dialog_title=_('Conversion Error')): if not hasattr(self, '_modeless_dialogs'): self._modeless_dialogs = [] @@ -715,7 +753,7 @@ def read_settings(self): self.read_layout_settings() def write_settings(self): - with gprefs: # Only write to gprefs once + with gprefs: # Only write to gprefs once config.set('main_window_geometry', self.saveGeometry()) dynamic.set('sort_history', self.library_view.model().sort_history) self.save_layout_state() @@ -748,7 +786,6 @@ def confirm_quit(self): return False return True - def shutdown(self, write_settings=True): try: db = self.library_view.model().db @@ -808,13 +845,11 @@ def run_wizard(self, *args): pass QApplication.instance().quit() - - def closeEvent(self, e): self.write_settings() if self.system_tray_icon.isVisible(): if not dynamic['systray_msg'] and not isosx: - info_dialog(self, 'calibre', 'calibre '+ \ + info_dialog(self, 'calibre', 'calibre '+ _('will keep running in the system tray. To close it, ' 'choose Quit in the context menu of the ' 'system tray.'), show_copy_button=False).exec_() diff --git a/src/calibre/gui2/viewer/config.py b/src/calibre/gui2/viewer/config.py index a744a2c1f9..4132149842 100644 --- a/src/calibre/gui2/viewer/config.py +++ b/src/calibre/gui2/viewer/config.py @@ -139,12 +139,20 @@ def __init__(self, shortcuts, parent=None): self.load_options(opts) self.init_load_themes() + self.clear_search_history_button.clicked.connect(self.clear_search_history) + + def clear_search_history(self): + from calibre.gui2 import config + config['viewer_search_history'] = [] + def save_theme(self): themename, ok = QInputDialog.getText(self, _('Theme name'), _('Choose a name for this theme')) - if not ok: return + if not ok: + return themename = unicode(themename).strip() - if not themename: return + if not themename: + return c = config('') c.add_opt('theme_name_xxx', default=themename) self.save_options(c) @@ -247,7 +255,8 @@ def change_color(self, which, reset=False): def update_sample_colors(self): for x in ('text', 'background'): val = getattr(self, 'current_%s_color'%x) - if not val: val = 'inherit' if x == 'text' else 'transparent' + if not val: + val = 'inherit' if x == 'text' else 'transparent' ss = 'QLabel { %s: %s }'%('background-color' if x == 'background' else 'color', val) getattr(self, '%s_color_sample'%x).setStyleSheet(ss) diff --git a/src/calibre/gui2/viewer/config.ui b/src/calibre/gui2/viewer/config.ui index b146b571a2..1dce8e1a9e 100644 --- a/src/calibre/gui2/viewer/config.ui +++ b/src/calibre/gui2/viewer/config.ui @@ -68,7 +68,7 @@ QToolBox::tab:hover { 0 0 811 - 352 + 380 @@ -240,8 +240,8 @@ QToolBox::tab:hover { 0 0 - 397 - 232 + 811 + 380 @@ -370,8 +370,8 @@ QToolBox::tab:hover { 0 0 - 352 - 176 + 811 + 380 @@ -446,8 +446,8 @@ QToolBox::tab:hover { 0 0 - 351 - 76 + 811 + 380 @@ -525,8 +525,8 @@ QToolBox::tab:hover { 0 0 - 410 - 120 + 811 + 380 @@ -596,8 +596,8 @@ QToolBox::tab:hover { 0 0 - 352 - 151 + 811 + 380 @@ -628,27 +628,34 @@ QToolBox::tab:hover { - + + + + Clear search history + + + + + + + Show &controls in the viewer window + + + + Remember last used &window size and layout - + Remember the &current page when quitting - - - - Show &controls in the viewer window - - - diff --git a/src/calibre/gui2/viewer/image_popup.py b/src/calibre/gui2/viewer/image_popup.py index 075143f3c3..1b616a12b3 100644 --- a/src/calibre/gui2/viewer/image_popup.py +++ b/src/calibre/gui2/viewer/image_popup.py @@ -15,16 +15,17 @@ class ImageView(QDialog): - def __init__(self, parent, current_img, current_url): + def __init__(self, parent, current_img, current_url, geom_name='viewer_image_popup_geometry'): QDialog.__init__(self) dw = QApplication.instance().desktop() self.avail_geom = dw.availableGeometry(parent) self.current_img = current_img self.current_url = current_url self.factor = 1.0 + self.geom_name = geom_name self.label = l = QLabel() - l.setBackgroundRole(QPalette.Base); + l.setBackgroundRole(QPalette.Base) l.setSizePolicy(QSizePolicy.Ignored, QSizePolicy.Ignored) l.setScaledContents(True) @@ -88,21 +89,27 @@ def rotate_image(self): self.label.setPixmap(pm) self.label.adjustSize() - def __call__(self): + def __call__(self, use_exec=False): geom = self.avail_geom self.label.setPixmap(self.current_img) self.label.adjustSize() self.resize(QSize(int(geom.width()/2.5), geom.height()-50)) - geom = gprefs.get('viewer_image_popup_geometry', None) + geom = gprefs.get(self.geom_name, None) if geom is not None: self.restoreGeometry(geom) - self.current_image_name = unicode(self.current_url.toString()).rpartition('/')[-1] + try: + self.current_image_name = unicode(self.current_url.toString()).rpartition('/')[-1] + except AttributeError: + self.current_image_name = self.current_url title = _('View Image: %s')%self.current_image_name self.setWindowTitle(title) - self.show() + if use_exec: + self.exec_() + else: + self.show() def done(self, e): - gprefs['viewer_image_popup_geometry'] = bytearray(self.saveGeometry()) + gprefs[self.geom_name] = bytearray(self.saveGeometry()) return QDialog.done(self, e) def wheelEvent(self, event): diff --git a/src/calibre/gui2/viewer/main.py b/src/calibre/gui2/viewer/main.py index 4587a6542b..3b63d51c15 100644 --- a/src/calibre/gui2/viewer/main.py +++ b/src/calibre/gui2/viewer/main.py @@ -940,6 +940,9 @@ def load_theme(self, theme_id): def do_config(self): self.view.config(self) self.load_theme_menu() + from calibre.gui2 import config + if not config['viewer_search_history']: + self.search.clear_history() def bookmark(self, *args): num = 1 diff --git a/src/calibre/library/caches.py b/src/calibre/library/caches.py index b453c654df..b1344167f2 100644 --- a/src/calibre/library/caches.py +++ b/src/calibre/library/caches.py @@ -14,7 +14,7 @@ from calibre.utils.config import tweaks, prefs from calibre.utils.date import parse_date, now, UNDEFINED_DATE, clean_date_for_sort from calibre.utils.search_query_parser import SearchQueryParser -from calibre.utils.pyparsing import ParseException +from calibre.utils.search_query_parser import ParseException from calibre.utils.localization import (canonicalize_lang, lang_map, get_udc) from calibre.db.search import CONTAINS_MATCH, EQUALS_MATCH, REGEXP_MATCH, _match from calibre.ebooks.metadata import title_sort, author_to_author_sort @@ -209,7 +209,8 @@ def __init__(self, FIELD_MAP, field_metadata, db_prefs=None): self._data = [] self._map = self._map_filtered = [] self.first_sort = True - self.search_restriction = '' + self.search_restriction = self.base_restriction = '' + self.base_restriction_name = self.search_restriction_name = '' self.search_restriction_book_count = 0 self.marked_ids_dict = {} self.field_metadata = field_metadata @@ -365,25 +366,18 @@ def get_dates_matches(self, location, query, candidates): elif query in self.local_thismonth: qd = now() field_count = 2 - elif query.endswith(self.local_daysago): + elif query.endswith(self.local_daysago) or query.endswith(self.untrans_daysago): num = query[0:-self.local_daysago_len] try: qd = now() - timedelta(int(num)) except: - raise ParseException(query, len(query), 'Number conversion error', self) - field_count = 3 - elif query.endswith(self.untrans_daysago): - num = query[0:-self.untrans_daysago_len] - try: - qd = now() - timedelta(int(num)) - except: - raise ParseException(query, len(query), 'Number conversion error', self) + raise ParseException(_('Number conversion error: {0}').format(num)) field_count = 3 else: try: qd = parse_date(query, as_utc=False) except: - raise ParseException(query, len(query), 'Date conversion error', self) + raise ParseException(_('Date conversion error: {0}').format(query)) if '-' in query: field_count = query.count('-') + 1 else: @@ -459,8 +453,7 @@ def get_numeric_matches(self, location, query, candidates, val_func = None): try: q = cast(query) * mult except: - raise ParseException(query, len(query), - 'Non-numeric value in query', self) + raise ParseException(_('Non-numeric value in query: {0}').format(query)) for id_ in candidates: item = self._data[id_] @@ -504,8 +497,8 @@ def get_keypair_matches(self, location, query, candidates): if query.find(':') >= 0: q = [q.strip() for q in query.split(':')] if len(q) != 2: - raise ParseException(query, len(query), - 'Invalid query format for colon-separated search', self) + raise ParseException( + _('Invalid query format for colon-separated search: {0}').format(query)) (keyq, valq) = q keyq_mkind, keyq = self._matchkind(keyq) valq_mkind, valq = self._matchkind(valq) @@ -654,7 +647,7 @@ def get_matches(self, location, query, candidates=None, if invert: matches = self.universal_set() - matches return matches - raise ParseException(query, len(query), 'Recursive query group detected', self) + raise ParseException(_('Recursive query group detected: {0}').format(query)) # apply the limit if appropriate if location == 'all' and prefs['limit_search_columns'] and \ @@ -825,8 +818,19 @@ def search(self, query, return_matches=False): return ans self._map_filtered = ans + def _build_restriction_string(self, restriction): + if self.base_restriction: + if restriction: + return u'(%s) and (%s)' % (self.base_restriction, restriction) + else: + return self.base_restriction + else: + return restriction + def search_getting_ids(self, query, search_restriction, - set_restriction_count=False): + set_restriction_count=False, use_virtual_library=True): + if use_virtual_library: + search_restriction = self._build_restriction_string(search_restriction) q = '' if not query or not query.strip(): q = search_restriction @@ -847,11 +851,32 @@ def search_getting_ids(self, query, search_restriction, self.search_restriction_book_count = len(rv) return rv + def get_search_restriction(self): + return self.search_restriction + def set_search_restriction(self, s): self.search_restriction = s + def get_base_restriction(self): + return self.base_restriction + + def set_base_restriction(self, s): + self.base_restriction = s + + def get_base_restriction_name(self): + return self.base_restriction_name + + def set_base_restriction_name(self, s): + self.base_restriction_name = s + + def get_search_restriction_name(self): + return self.search_restriction_name + + def set_search_restriction_name(self, s): + self.search_restriction_name = s + def search_restriction_applied(self): - return bool(self.search_restriction) + return bool(self.search_restriction) or bool((self.base_restriction)) def get_search_restriction_book_count(self): return self.search_restriction_book_count @@ -1002,7 +1027,7 @@ def refresh(self, db, field=None, ascending=True): if field is not None: self.sort(field, ascending) self._map_filtered = list(self._map) - if self.search_restriction: + if self.search_restriction or self.base_restriction: self.search('', return_matches=False) # Sorting functions {{{ diff --git a/src/calibre/library/catalogs/epub_mobi.py b/src/calibre/library/catalogs/epub_mobi.py index d7c24f8a97..4984fbf9e2 100644 --- a/src/calibre/library/catalogs/epub_mobi.py +++ b/src/calibre/library/catalogs/epub_mobi.py @@ -17,7 +17,6 @@ from calibre.library import current_library_name from calibre.library.catalogs import AuthorSortMismatchException, EmptyCatalogException from calibre.ptempfile import PersistentTemporaryFile -from calibre.utils.config import JSONConfig from calibre.utils.localization import calibre_langcode_to_name, canonicalize_lang, get_lang Option = namedtuple('Option', 'option, default, dest, action, help') @@ -191,6 +190,7 @@ class EPUB_MOBI(CatalogPlugin): def run(self, path_to_output, opts, db, notification=DummyReporter()): from calibre.library.catalogs.epub_mobi_builder import CatalogBuilder from calibre.utils.logging import default_log as log + from calibre.utils.config import JSONConfig # If preset specified from the cli, insert stored options from JSON file if hasattr(opts, 'preset') and opts.preset: diff --git a/src/calibre/library/cli.py b/src/calibre/library/cli.py index 2fdec62ff0..b3737d15fa 100644 --- a/src/calibre/library/cli.py +++ b/src/calibre/library/cli.py @@ -88,7 +88,7 @@ def field_name(f): for f in data: fmts = [x for x in f['formats'] if x is not None] f['formats'] = u'[%s]'%u','.join(fmts) - widths = list(map(lambda x : 0, fields)) + widths = list(map(lambda x: 0, fields)) for record in data: for f in record.keys(): if hasattr(record[f], 'isoformat'): @@ -164,7 +164,8 @@ def list_option_parser(db=None): parser.add_option('--ascending', default=False, action='store_true', help=_('Sort results in ascending order')) parser.add_option('-s', '--search', default=None, - help=_('Filter the results by the search query. For the format of the search query, please see the search related documentation in the User Manual. Default is to do no filtering.')) + help=_('Filter the results by the search query. For the format of the search query,' + ' please see the search related documentation in the User Manual. Default is to do no filtering.')) parser.add_option('-w', '--line-width', default=-1, type=int, help=_('The maximum width of a single line in the output. Defaults to detecting screen size.')) parser.add_option('--separator', default=' ', help=_('The string used to separate fields. Default is a space.')) @@ -244,7 +245,8 @@ def do_add(db, paths, one_book_per_directory, recurse, add_duplicates, otitle, mi.authors = [_('Unknown')] for x in ('title', 'authors', 'isbn', 'tags', 'series'): val = locals()['o'+x] - if val: setattr(mi, x, val) + if val: + setattr(mi, x, val) if oseries: mi.series_index = oseries_index if ocover: @@ -425,18 +427,26 @@ def command_remove(args, dbpath): return 0 -def do_add_format(db, id, fmt, path): - db.add_format_with_hooks(id, fmt.upper(), path, index_is_id=True) - send_message() +def do_add_format(db, id, fmt, path, opts): + done = db.add_format_with_hooks(id, fmt.upper(), path, index_is_id=True, + replace=opts.replace) + if not done and not opts.replace: + prints(_('A %s file already exists for book: %d, not replacing')%(fmt.upper(), id)) + else: + send_message() def add_format_option_parser(): - return get_parser(_( + parser = get_parser(_( '''\ %prog add_format [options] id ebook_file Add the ebook in ebook_file to the available formats for the logical book identified \ -by id. You can get id by using the list command. If the format already exists, it is replaced. +by id. You can get id by using the list command. If the format already exists, \ +it is replaced, unless the do not replace option is specified.\ ''')) + parser.add_option('--dont-replace', dest='replace', default=True, action='store_false', + help=_('Do not replace the format if it already exists')) + return parser def command_add_format(args, dbpath): @@ -451,7 +461,7 @@ def command_add_format(args, dbpath): id, path, fmt = int(args[1]), args[2], os.path.splitext(args[2])[-1] if not fmt: print _('ebook file must have an extension') - do_add_format(get_db(dbpath, opts), id, fmt[1:], path) + do_add_format(get_db(dbpath, opts), id, fmt[1:], path, opts) return 0 def do_remove_format(db, id, fmt): @@ -791,7 +801,7 @@ def validate_command_line(parser, args, log): if not file_extension in available_catalog_formats(): print_help(parser, log) log.error("No catalog plugin available for extension '%s'.\n" % file_extension + - "Catalog plugins available for %s\n" % ', '.join(available_catalog_formats()) ) + "Catalog plugins available for %s\n" % ', '.join(available_catalog_formats())) raise SystemExit(1) return output, file_extension @@ -1214,7 +1224,8 @@ def command_restore_database(args, dbpath): dbpath = dbpath.decode(preferred_encoding) class Progress(object): - def __init__(self): self.total = 1 + def __init__(self): + self.total = 1 def __call__(self, msg, step): if msg is None: @@ -1308,7 +1319,7 @@ def do_list(): from calibre.utils.terminal import geometry, ColoredStream separator = ' ' - widths = list(map(lambda x : 0, fields)) + widths = list(map(lambda x: 0, fields)) for i in data: for j, field in enumerate(fields): widths[j] = max(widths[j], max(len(field), len(unicode(i[field])))) diff --git a/src/calibre/library/database2.py b/src/calibre/library/database2.py index 376eb52c3c..304bbc65ba 100644 --- a/src/calibre/library/database2.py +++ b/src/calibre/library/database2.py @@ -11,7 +11,6 @@ from collections import defaultdict import threading, random from itertools import repeat -from math import ceil, floor from calibre import prints, force_unicode from calibre.ebooks.metadata import (title_sort, author_to_author_sort, @@ -42,6 +41,7 @@ from calibre.utils.magick.draw import save_cover_data_to from calibre.utils.recycle_bin import delete_file, delete_tree from calibre.utils.formatter_functions import load_user_template_functions +from calibre.db import _get_next_series_num_for_list, _get_series_values from calibre.db.errors import NoSuchFormat from calibre.db.lazy import FormatMetadata, FormatsList from calibre.db.categories import Tag, CATEGORY_SORTS @@ -205,7 +205,7 @@ def get_property(self, idx, index_is_id=False, loc=-1): return row[loc] def initialize_dynamic(self): - self.field_metadata = FieldMetadata() #Ensure we start with a clean copy + self.field_metadata = FieldMetadata() # Ensure we start with a clean copy self.prefs = DBPrefs(self) defs = self.prefs.defaults defs['gui_restriction'] = defs['cs_restriction'] = '' @@ -229,6 +229,8 @@ def initialize_dynamic(self): ('uuid', False), ('comments', True), ('id', False), ('pubdate', False), ('last_modified', False), ('size', False), ('languages', False), ] + defs['virtual_libraries'] = {} + defs['virtual_lib_on_startup'] = defs['cs_virtual_lib_on_startup'] = '' # Migrate the bool tristate tweak defs['bools_are_tristate'] = \ @@ -279,6 +281,24 @@ def migrate_preference(key, default): except: pass + # migrate the gui_restriction preference to a virtual library + gr_pref = self.prefs.get('gui_restriction', None) + if gr_pref: + virt_libs = self.prefs.get('virtual_libraries', {}) + virt_libs[gr_pref] = 'search:"' + gr_pref + '"' + self.prefs['virtual_libraries'] = virt_libs + self.prefs['gui_restriction'] = '' + self.prefs['virtual_lib_on_startup'] = gr_pref + + # migrate the cs_restriction preference to a virtual library + gr_pref = self.prefs.get('cs_restriction', None) + if gr_pref: + virt_libs = self.prefs.get('virtual_libraries', {}) + virt_libs[gr_pref] = 'search:"' + gr_pref + '"' + self.prefs['virtual_libraries'] = virt_libs + self.prefs['cs_restriction'] = '' + self.prefs['cs_virtual_lib_on_startup'] = gr_pref + # Rename any user categories with names that differ only in case user_cats = self.prefs.get('user_categories', []) catmap = {} @@ -352,7 +372,6 @@ def migrate_preference(key, default): '''.format(_('News'))) self.conn.commit() - CustomColumns.__init__(self) template = '''\ (SELECT {query} FROM books_{table}_link AS link INNER JOIN @@ -444,7 +463,7 @@ def migrate_preference(key, default): # Assumption is that someone else will fix them if they change. self.field_metadata.remove_dynamic_categories() for user_cat in sorted(self.prefs.get('user_categories', {}).keys(), key=sort_key): - cat_name = '@' + user_cat # add the '@' to avoid name collision + cat_name = '@' + user_cat # add the '@' to avoid name collision self.field_metadata.add_user_category(label=cat_name, name=user_cat) # add grouped search term user categories @@ -596,7 +615,7 @@ def set_path(self, index, index_is_id=False): current title and author. If there was a previous directory, its contents are copied and it is deleted. ''' - id = index if index_is_id else self.id(index) + id = index if index_is_id else self.id(index) path = self.construct_path_name(id) current_path = self.path(id, index_is_id=True).replace(os.sep, '/') formats = self.formats(id, index_is_id=True) @@ -620,7 +639,7 @@ def set_path(self, index, index_is_id=False): if not os.path.exists(tpath): os.makedirs(tpath) - if source_ok: # Migrate existing files + if source_ok: # Migrate existing files self.copy_cover_to(id, os.path.join(tpath, 'cover.jpg'), index_is_id=True, windows_atomic_move=wam, use_hardlink=True) @@ -668,7 +687,7 @@ def set_path(self, index, index_is_id=False): os.rename(os.path.join(curpath, oldseg), os.path.join(curpath, newseg)) except: - break # Fail silently since nothing catastrophic has happened + break # Fail silently since nothing catastrophic has happened curpath = os.path.join(curpath, newseg) def add_listener(self, listener): @@ -727,7 +746,7 @@ def cover(self, index, index_is_id=False, as_file=False, as_image=False, return ret def cover_last_modified(self, index, index_is_id=False): - id = index if index_is_id else self.id(index) + id = index if index_is_id else self.id(index) path = os.path.join(self.library_path, self.path(id, index_is_id=True), 'cover.jpg') try: return utcfromtimestamp(os.stat(path).st_mtime) @@ -1074,8 +1093,8 @@ def fuzzy_title(title): identical_book_ids = set([]) if mi.authors: try: - quathors = mi.authors[:10] # Too many authors causes parsing of - # the search expression to fail + quathors = mi.authors[:10] # Too many authors causes parsing of + # the search expression to fail query = u' and '.join([u'author:"=%s"'%(a.replace('"', '')) for a in quathors]) qauthors = mi.authors[10:] @@ -1307,7 +1326,7 @@ def format_abspath(self, index, format, index_is_id=False): return fmt_path try: candidates = glob.glob(os.path.join(path, '*'+format)) - except: # If path contains strange characters this throws an exc + except: # If path contains strange characters this throws an exc candidates = [] if format and candidates and os.path.exists(candidates[0]): try: @@ -1350,7 +1369,7 @@ def copy_format_to(self, index, fmt, dest, index_is_id=False, if path != dest: os.rename(path, dest) except: - pass # Nothing too catastrophic happened, the cases mismatch, that's all + pass # Nothing too catastrophic happened, the cases mismatch, that's all else: windows_atomic_move.copy_path_to(path, dest) else: @@ -1366,7 +1385,7 @@ def copy_format_to(self, index, fmt, dest, index_is_id=False, try: os.rename(path, dest) except: - pass # Nothing too catastrophic happened, the cases mismatch, that's all + pass # Nothing too catastrophic happened, the cases mismatch, that's all else: if use_hardlink: try: @@ -1476,12 +1495,12 @@ def format(self, index, format, index_is_id=False, as_file=False, return ret def add_format_with_hooks(self, index, format, fpath, index_is_id=False, - path=None, notify=True): + path=None, notify=True, replace=True): npath = self.run_import_plugins(fpath, format) format = os.path.splitext(npath)[-1].lower().replace('.', '').upper() stream = lopen(npath, 'rb') format = check_ebook_format(stream, format) - retval = self.add_format(index, format, stream, + retval = self.add_format(index, format, stream, replace=replace, index_is_id=index_is_id, path=path, notify=notify) run_plugins_on_postimport(self, id, format) return retval @@ -1489,7 +1508,8 @@ def add_format_with_hooks(self, index, format, fpath, index_is_id=False, def add_format(self, index, format, stream, index_is_id=False, path=None, notify=True, replace=True, copy_function=None): id = index if index_is_id else self.id(index) - if not format: format = '' + if not format: + format = '' self.format_metadata_cache[id].pop(format.upper(), None) name = self.format_filename_cache[id].get(format.upper(), None) if path is None: @@ -1541,6 +1561,14 @@ def original_fmt(self, book_id, fmt): opath = self.format_abspath(book_id, nfmt, index_is_id=True) return fmt if opath is None else nfmt + def restore_original_format(self, book_id, original_fmt, notify=True): + opath = self.format_abspath(book_id, original_fmt, index_is_id=True) + if opath is not None: + fmt = original_fmt.partition('_')[2] + with lopen(opath, 'rb') as f: + self.add_format(book_id, fmt, f, index_is_id=True, notify=False) + self.remove_format(book_id, original_fmt, index_is_id=True, notify=notify) + def delete_book(self, id, notify=True, commit=True, permanent=False, do_clean=True): ''' @@ -1568,7 +1596,8 @@ def delete_book(self, id, notify=True, commit=True, permanent=False, def remove_format(self, index, format, index_is_id=False, notify=True, commit=True, db_only=False): id = index if index_is_id else self.id(index) - if not format: format = '' + if not format: + format = '' self.format_metadata_cache[id].pop(format.upper(), None) name = self.format_filename_cache[id].get(format.upper(), None) if name: @@ -1737,12 +1766,12 @@ def get_categories(self, sort='name', ids=None, icon_map=None): # Get the ids for the item values if not cat['is_custom']: funcs = { - 'authors' : self.get_authors_with_ids, - 'series' : self.get_series_with_ids, + 'authors': self.get_authors_with_ids, + 'series': self.get_series_with_ids, 'publisher': self.get_publishers_with_ids, - 'tags' : self.get_tags_with_ids, + 'tags': self.get_tags_with_ids, 'languages': self.get_languages_with_ids, - 'rating' : self.get_ratings_with_ids, + 'rating': self.get_ratings_with_ids, } func = funcs.get(category, None) if func: @@ -1825,7 +1854,7 @@ def get_categories(self, sort='name', ids=None, icon_map=None): item.rc += 1 continue try: - (item_id, sort_val) = tid_cat[val] # let exceptions fly + (item_id, sort_val) = tid_cat[val] # let exceptions fly item = tcats_cat.get(val, None) if not item: item = tag_class(val, sort_val) @@ -1847,7 +1876,7 @@ def get_categories(self, sort='name', ids=None, icon_map=None): tid_cat[val] = (val, val) for val in vals: try: - (item_id, sort_val) = tid_cat[val] # let exceptions fly + (item_id, sort_val) = tid_cat[val] # let exceptions fly item = tcats_cat.get(val, None) if not item: item = tag_class(val, sort_val) @@ -1915,7 +1944,7 @@ def get_categories(self, sort='name', ids=None, icon_map=None): # in the main Tag loop. Saves a few % if datatype == 'rating': formatter = (lambda x:u'\u2605'*int(x/2)) - avgr = lambda x : x.n + avgr = lambda x: x.n # eliminate the zero ratings line as well as count == 0 items = [v for v in tcategories[category].values() if v.c > 0 and v.n != 0] elif category == 'authors': @@ -1932,7 +1961,7 @@ def get_categories(self, sort='name', ids=None, icon_map=None): # sort the list if sort == 'name': - kf = lambda x :sort_key(x.s) + kf = lambda x:sort_key(x.s) reverse=False elif sort == 'popularity': kf = lambda x: x.c @@ -1997,9 +2026,9 @@ def get_categories(self, sort='name', ids=None, icon_map=None): if sort == 'popularity': categories['formats'].sort(key=lambda x: x.count, reverse=True) - else: # no ratings exist to sort on + else: # no ratings exist to sort on # No need for ICU here. - categories['formats'].sort(key = lambda x:x.name) + categories['formats'].sort(key=lambda x:x.name) # Now do identifiers. This works like formats categories['identifiers'] = [] @@ -2026,9 +2055,9 @@ def get_categories(self, sort='name', ids=None, icon_map=None): if sort == 'popularity': categories['identifiers'].sort(key=lambda x: x.count, reverse=True) - else: # no ratings exist to sort on + else: # no ratings exist to sort on # No need for ICU here. - categories['identifiers'].sort(key = lambda x:x.name) + categories['identifiers'].sort(key=lambda x:x.name) #### Now do the user-defined categories. #### user_categories = dict.copy(self.clean_user_categories()) @@ -2075,7 +2104,7 @@ def get_categories(self, sort='name', ids=None, icon_map=None): else: items.append(taglist[label][n]) # else: do nothing, to not include nodes w zero counts - cat_name = '@' + user_cat # add the '@' to avoid name collision + cat_name = '@' + user_cat # add the '@' to avoid name collision # Not a problem if we accumulate entries in the icon map if icon_map is not None: icon_map[cat_name] = icon_map['user:'] @@ -2165,31 +2194,7 @@ def get_next_series_num_for(self, series): return self._get_next_series_num_for_list(series_indices) def _get_next_series_num_for_list(self, series_indices): - if not series_indices: - if isinstance(tweaks['series_index_auto_increment'], (int, float)): - return float(tweaks['series_index_auto_increment']) - return 1.0 - series_indices = [x[0] for x in series_indices] - if tweaks['series_index_auto_increment'] == 'next': - return floor(series_indices[-1]) + 1 - if tweaks['series_index_auto_increment'] == 'first_free': - for i in range(1, 10000): - if i not in series_indices: - return i - # really shouldn't get here. - if tweaks['series_index_auto_increment'] == 'next_free': - for i in range(int(ceil(series_indices[0])), 10000): - if i not in series_indices: - return i - # really shouldn't get here. - if tweaks['series_index_auto_increment'] == 'last_free': - for i in range(int(ceil(series_indices[-1])), 0, -1): - if i not in series_indices: - return i - return series_indices[-1] + 1 - if isinstance(tweaks['series_index_auto_increment'], (int, float)): - return float(tweaks['series_index_auto_increment']) - return 1.0 + return _get_next_series_num_for_list(series_indices) def set(self, row, column, val, allow_case_change=False): ''' @@ -2323,11 +2328,10 @@ def should_replace_field(attr): elif mi_idents: identifiers = self.get_identifiers(id, index_is_id=True) for key, val in mi_idents.iteritems(): - if val and val.strip(): # Don't delete an existing identifier + if val and val.strip(): # Don't delete an existing identifier identifiers[icu_lower(key)] = val self.set_identifiers(id, identifiers, notify=False, commit=False) - user_mi = mi.get_all_user_metadata(make_copy=False) for key in user_mi.iterkeys(): if key in self.field_metadata and \ @@ -2447,7 +2451,7 @@ def _set_authors(self, id, authors, allow_case_change=False): try: self.conn.execute('''INSERT INTO books_authors_link(book, author) VALUES (?,?)''', (id, aid)) - except IntegrityError: # Sometimes books specify the same author twice in their metadata + except IntegrityError: # Sometimes books specify the same author twice in their metadata pass if case_change: bks = self.conn.get('''SELECT book FROM books_authors_link @@ -2606,7 +2610,6 @@ def set_pubdate(self, id, dt, notify=True, commit=True): if notify: self.notify('metadata', [id]) - def set_publisher(self, id, publisher, notify=True, commit=True, allow_case_change=False): self.conn.execute('DELETE FROM books_publishers_link WHERE book=?',(id,)) @@ -2812,7 +2815,7 @@ def rename_publisher(self, old_id, new_name): if new_id is None or old_id == new_id: new_id = old_id # New name doesn't exist. Simply change the old name - self.conn.execute('UPDATE publishers SET name=? WHERE id=?', \ + self.conn.execute('UPDATE publishers SET name=? WHERE id=?', (new_name, old_id)) else: # Change the link table to point at the new one @@ -2852,7 +2855,7 @@ def set_link_field_for_author(self, aid, link, commit=True, notify=False): self.conn.commit() def set_sort_field_for_author(self, old_id, new_sort, commit=True, notify=False): - self.conn.execute('UPDATE authors SET sort=? WHERE id=?', \ + self.conn.execute('UPDATE authors SET sort=? WHERE id=?', (new_sort.strip(), old_id)) if commit: self.conn.commit() @@ -2951,7 +2954,7 @@ def get_tags(self, id): @classmethod def cleanup_tags(cls, tags): tags = [x.strip().replace(',', ';') for x in tags if x.strip()] - tags = [x.decode(preferred_encoding, 'replace') \ + tags = [x.decode(preferred_encoding, 'replace') if isbytestring(x) else x for x in tags] tags = [u' '.join(x.split()) for x in tags] ans, seen = [], set([]) @@ -3129,17 +3132,7 @@ def delete_tag(self, tag): series_index_pat = re.compile(r'(.*)\s+\[([.0-9]+)\]$') def _get_series_values(self, val): - if not val: - return (val, None) - match = self.series_index_pat.match(val.strip()) - if match is not None: - idx = match.group(2) - try: - idx = float(idx) - return (match.group(1).strip(), idx) - except: - pass - return (val, None) + return _get_series_values(val) def set_series(self, id, series, notify=True, commit=True, allow_case_change=True): self.conn.execute('DELETE FROM books_series_link WHERE book=?',(id,)) @@ -3352,10 +3345,9 @@ def add_catalog(self, path, title): self.add_format(db_id, format, stream, index_is_id=True) self.conn.commit() - self.data.refresh_ids(self, [db_id]) # Needed to update format list and size + self.data.refresh_ids(self, [db_id]) # Needed to update format list and size return db_id - def add_news(self, path, arg): from calibre.ebooks.metadata.meta import get_metadata @@ -3391,7 +3383,7 @@ def add_news(self, path, arg): if not hasattr(path, 'read'): stream.close() self.conn.commit() - self.data.refresh_ids(self, [id]) # Needed to update format list and size + self.data.refresh_ids(self, [id]) # Needed to update format list and size return id def run_import_plugins(self, path_or_stream, format): @@ -3455,7 +3447,6 @@ def create_book_entry(self, mi, cover=None, add_duplicates=True, traceback.print_exc() return id - def add_books(self, paths, formats, metadata, add_duplicates=True, return_ids=False): ''' @@ -3499,7 +3490,7 @@ def add_books(self, paths, formats, metadata, add_duplicates=True, stream.close() postimport.append((id, format)) self.conn.commit() - self.data.refresh_ids(self, ids) # Needed to update format list and size + self.data.refresh_ids(self, ids) # Needed to update format list and size for book_id, fmt in postimport: run_plugins_on_postimport(self, book_id, fmt) if duplicates: @@ -3549,7 +3540,7 @@ def import_book(self, mi, formats, notify=True, import_hooks=True, # set_metadata, but probably isn't good enough self.dirtied([id], commit=False) self.conn.commit() - self.data.refresh_ids(self, [id]) # Needed to update format list and size + self.data.refresh_ids(self, [id]) # Needed to update format list and size if notify: self.notify('add', [id]) return id @@ -3643,7 +3634,8 @@ def get_data_as_dict(self, prefix=None, authors_as_string=False, ids=None): FIELDS.add('%d_index'%x) data = [] for record in self.data: - if record is None: continue + if record is None: + continue db_id = record[self.FIELD_MAP['id']] if ids is not None and db_id not in ids: continue @@ -3686,8 +3678,8 @@ def migrate_old(self, db, progress): progress.setValue(0) progress.setLabelText(header) QCoreApplication.processEvents() - db.conn.row_factory = lambda cursor, row : tuple(row) - db.conn.text_factory = lambda x : unicode(x, 'utf-8', 'replace') + db.conn.row_factory = lambda cursor, row: tuple(row) + db.conn.text_factory = lambda x: unicode(x, 'utf-8', 'replace') books = db.conn.get('SELECT id, title, sort, timestamp, series_index, author_sort, isbn FROM books ORDER BY id ASC') progress.setAutoReset(False) progress.setRange(0, len(books)) @@ -3763,7 +3755,7 @@ def find_books_in_directory(self, dirpath, single_book_per_directory): continue key = os.path.splitext(path)[0] - if not books.has_key(key): + if key not in books: books[key] = [] books[key].append(path) diff --git a/src/calibre/library/field_metadata.py b/src/calibre/library/field_metadata.py index 2b683da909..08c26e95a9 100644 --- a/src/calibre/library/field_metadata.py +++ b/src/calibre/library/field_metadata.py @@ -6,7 +6,7 @@ import copy, traceback from collections import OrderedDict -from calibre.utils.config import tweaks +from calibre.utils.config_base import tweaks class TagsIcons(dict): ''' @@ -252,7 +252,7 @@ class FieldMetadata(dict): 'datatype':'int', 'is_multiple':{}, 'kind':'field', - 'name':None, + 'name':_('Cover'), 'search_terms':['cover'], 'is_custom':False, 'is_category':False, diff --git a/src/calibre/library/server/__init__.py b/src/calibre/library/server/__init__.py index 56429c44d0..2a08c0b9b7 100644 --- a/src/calibre/library/server/__init__.py +++ b/src/calibre/library/server/__init__.py @@ -7,7 +7,7 @@ import os -from calibre.utils.config import Config, StringConfig, config_dir, tweaks +from calibre.utils.config_base import Config, StringConfig, config_dir, tweaks listen_on = tweaks['server_listen_on'] diff --git a/src/calibre/library/server/base.py b/src/calibre/library/server/base.py index 9c14f128dd..bbd5239b42 100644 --- a/src/calibre/library/server/base.py +++ b/src/calibre/library/server/base.py @@ -205,26 +205,32 @@ def __init__(self, db, opts, embedded=False, show_tracebacks=True, def set_database(self, db): self.db = db + virt_libs = db.prefs.get('virtual_libraries', {}) sr = getattr(self.opts, 'restriction', None) - sr = db.prefs.get('cs_restriction', '') if sr is None else sr - self.set_search_restriction(sr) + if sr: + if sr in virt_libs: + sr = virt_libs[sr] + elif sr not in saved_searches().names(): + prints('WARNING: Content server: search restriction ', + sr, ' does not exist') + sr = '' + else: + sr = 'search:"%s"'%sr + else: + sr = db.prefs.get('cs_virtual_lib_on_startup', '') + if sr: + if sr not in virt_libs: + prints('WARNING: Content server: virtual library ', + sr, ' does not exist') + sr = '' + else: + sr = virt_libs[sr] + self.search_restriction = sr + self.reset_caches() def graceful(self): cherrypy.engine.graceful() - def set_search_restriction(self, restriction): - self.search_restriction_name = restriction - if restriction: - if restriction not in saved_searches().names(): - prints('WARNING: Content server: search restriction ', - restriction, ' does not exist') - self.search_restriction = '' - else: - self.search_restriction = 'search:"%s"'%restriction - else: - self.search_restriction = '' - self.reset_caches() - def setup_loggers(self): access_file = log_access_file error_file = log_error_file diff --git a/src/calibre/library/server/browse.py b/src/calibre/library/server/browse.py index c520e42f34..d25c34d52b 100644 --- a/src/calibre/library/server/browse.py +++ b/src/calibre/library/server/browse.py @@ -145,10 +145,7 @@ def render_rating(rating, url_prefix, container='span', prefix=None): # {{{ # }}} -def get_category_items(category, items, restriction, datatype, prefix): # {{{ - - if category == 'search': - items = [x for x in items if x.name != restriction] +def get_category_items(category, items, datatype, prefix): # {{{ def item(i): templ = (u'

' @@ -489,8 +486,7 @@ def browse_category(self, category, sort): if not cats and len(items) == 1: # Only one item in category, go directly to book list html = get_category_items(category, items, - self.search_restriction_name, datatype, - self.opts.url_prefix) + datatype, self.opts.url_prefix) href = re.search(r'\n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2013-03-27 14:48+0000\n" "Last-Translator: Albé Theunissen \n" "Language-Team: Afrikaans \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:07+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:22+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "Doen absoluut niks" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "Doen absoluut niks" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "Doen absoluut niks" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "Doen absoluut niks" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "Doen absoluut niks" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "Doen absoluut niks" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "Doen absoluut niks" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -325,73 +325,73 @@ msgstr "" msgid "Set metadata from %s files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "Voeg boeke by na calibre of die gekonnekteerde toestel" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "Skep 'n katalogus van die boeke in jou calibre biblioteek" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "Skakel boeke om na verskeie eboek-formate" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "Verwyder boeke van u calibre-biblioteek of gekoppelde toestel" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "Wysig die metadata van boeke in u calibre-biblioteek" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "Lees boeke in u calibre-biblioteek" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "Laai nuus van die internet af in eboek-formaat" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Wys gou ’n lys van verwante boeke" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "Dra boeke uit jou calibre biblioteek oor na die hardeskyf" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "Wys boekbesonderhede in 'n aparte opspringvenster" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "Herbegin calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "Open die vouer wat die boek-lêers in u calibre-biblioteek bevat" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "Stuur boeke na die gekoppelde toestel" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" @@ -399,276 +399,276 @@ msgstr "" "Stuur boeke via e-pos of die internet en verbind aan iTunes of vouers op u " "rekenaar asof dit toestelle is" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "Blaai deur die calibre-gebruikershandleiding" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "Pas calibre aan" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "Vind maklik soortgelyke boeke verwant aan die gekose een" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" "Wissel tussen verskillende calibre-biblioteke en doen onderhoud op hulle" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "Kopieer boeke van die toestel na u calibre-biblioteek" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "Wysig die versamelings waarin boeke op u toestel geplaas is" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "Kopieer ’n boek van een calibre-biblioteek na ’n ander" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" "Maak klein verstellings aan epub of htmlz-lêers in u calibre-biblioteek" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "Soek vir boeke van verskillende verkopers" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "Kry nuwe calibre-inproppe of dateer u bestaande inproppe op" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Voorkoms en gedrag" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Koppelvlak" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "Gedrag" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "Verander die manier waarop calibre optree" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Voeg u eie kolomme by" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Nutsbalk" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "Besig om te soek" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "Pas die manier waarop die soek van boeke in calibre wark aan" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Omskakeling" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Algemene opsies" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "Voeg boeke toe" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "Invoer/Uitvoer" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Beheer hoe calibre lêers se metadata lees wanneer boeke toegevoeg word" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "Besig om boeke op skyf te berg" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "Besig om boeke na toestel te stuur" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "Beheer hoe calibre lêers na u eboekleser oordra" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "Metadataskakelbord" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "Verander metadatavelde voordat geberg/gestuur word" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "Sjabloonfunksies" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "Gevorderd" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "Skep u eie sjabloonfunksies" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "Deel boeke per e-pos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "Deel" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "Deel oor die net" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Inproppe" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "Verstellings" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "Verfyn hoe calibre in verskeie kontekste optree" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "Sleutelbord" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "Maak die sleutelbordkortpaaie wat deur calibre gebruik word pas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Allerlei" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -957,8 +957,8 @@ msgstr "Aktiveer die genoemde inprop" msgid "Disable the named plugin" msgstr "Skakel die genoemde inprop af" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -968,11 +968,22 @@ msgstr "Skakel die genoemde inprop af" msgid "Path to library too long. Must be less than %d characters." msgstr "Pad na biblioteek te lank. Moet minder as %d karakters wees." -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -984,26 +995,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "Hoof" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "Kaart A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "Kaart B" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1016,11 +1027,11 @@ msgstr "Kaart B" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Nuus" @@ -1028,14 +1039,14 @@ msgstr "Nuus" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1043,7 +1054,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1051,45 +1062,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1117,23 +1153,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "Kommunikeer met Android-fone" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "Kommunikeer met S60-fone" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "Kommunikeer met WebOS-tablette." @@ -1271,8 +1307,8 @@ msgstr "" "Klik ‘Toon Detail’ vir ’n lys." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "Katalogus" @@ -1322,10 +1358,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1366,6 +1402,7 @@ msgstr "Voeg boeke toe tot toestel se metadatalys…" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1688,17 +1725,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1706,12 +1743,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "Toon Voorskoue" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1719,7 +1756,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "Toon Aanbevelings" @@ -1731,7 +1768,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1744,10 +1781,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1804,66 +1843,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1871,7 +1910,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1880,11 +1919,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1904,55 +1943,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "Kommunikeer met die Sweex/Kogan/Q600/Wink" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "Kommunikeer met die Pandigital Novel" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "Kommunikeer met die VelocityMicro" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "Kommunikeer met die GM2000" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "Kommunikeer met die Acer Lumiread" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "Kommunikeer met die Aluratek Color" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "Kommunikeer met die Trekstor" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "Kommunikeer met die EEE-leser" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "Kommunikeer met die Adam-tablet" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "Kommunikeer met die Nextbook-leser" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "Kommunikeer met die Moovybook-leser" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "Kommunikeer met die COBY" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "Kommunikeer met die Ex124G" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2077,7 +2116,7 @@ msgstr "Die Nook" msgid "Communicate with the Nook eBook reader." msgstr "Kommunikeer met die Nook eBoek-leser" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "Kommunikeer met die Nook Color, TSR en Tablet eBoek-lesers." @@ -2558,7 +2597,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2867,23 +2906,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3171,15 +3210,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4133,7 +4176,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4157,27 +4200,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4213,13 +4256,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4228,9 +4272,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4240,7 +4285,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4252,8 +4297,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4365,60 +4410,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4426,13 +4471,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4442,6 +4505,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4501,12 +4605,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4533,72 +4637,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4607,14 +4711,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4639,12 +4743,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4677,7 +4781,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4802,9 +4906,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4820,11 +4924,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4867,6 +4971,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5021,7 +5129,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5143,12 +5251,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5225,8 +5333,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5347,7 +5455,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5395,7 +5503,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5409,7 +5517,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5421,12 +5529,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5566,7 +5674,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5594,7 +5702,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5635,7 +5743,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5648,96 +5756,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5756,6 +5877,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5828,75 +5950,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5972,12 +6096,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6061,8 +6185,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6098,7 +6222,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6168,15 +6292,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6281,17 +6405,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6300,185 +6435,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6595,7 +6741,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6700,7 +6846,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6712,30 +6858,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6745,11 +6891,11 @@ msgid "" "ebook.com/about#drm\">DRM
." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -7013,7 +7159,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7223,7 +7369,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7233,7 +7379,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7267,16 +7413,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7344,7 +7499,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7530,7 +7685,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7870,8 +8025,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8787,59 +8942,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8851,13 +9010,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9095,6 +9270,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9661,7 +9840,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9707,81 +9886,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9943,7 +10122,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10454,13 +10633,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10494,8 +10673,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10514,13 +10693,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10619,7 +10798,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10667,12 +10846,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10767,40 +10946,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11668,6 +11847,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11703,12 +11883,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12282,12 +12462,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12339,6 +12519,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12353,6 +12534,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13229,7 +13411,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13273,7 +13455,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13283,66 +13465,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13355,32 +13541,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13389,30 +13575,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13517,7 +13703,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -14015,7 +14201,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14160,15 +14346,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14176,27 +14362,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14204,38 +14390,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14376,7 +14568,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14419,34 +14612,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14495,12 +14688,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15413,10 +15606,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15434,7 +15623,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16402,20 +16591,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16448,18 +16637,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16834,83 +17023,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17186,32 +17525,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17325,46 +17664,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17386,13 +17725,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17485,7 +17824,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17524,138 +17863,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17666,56 +18005,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17757,73 +18096,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17831,134 +18181,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18037,31 +18432,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18069,11 +18464,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18089,16 +18484,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18121,34 +18516,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18689,29 +19084,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19959,44 +20354,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -20005,59 +20400,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20068,28 +20463,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20099,11 +20504,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20113,15 +20518,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20136,7 +20541,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20146,40 +20551,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20190,28 +20595,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20222,13 +20627,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20248,11 +20653,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20263,30 +20668,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20298,17 +20703,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20317,27 +20722,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20347,15 +20752,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20368,40 +20773,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20415,13 +20820,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20429,34 +20834,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20471,18 +20876,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20490,33 +20895,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20539,31 +20944,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20805,20 +21201,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20841,7 +21237,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20850,98 +21246,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20954,21 +21350,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21971,10 +22369,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22073,6 +22467,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22121,107 +22540,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22484,7 +22903,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/ar.po b/src/calibre/translations/ar.po index 07147ad0c1..5e022f0b64 100644 --- a/src/calibre/translations/ar.po +++ b/src/calibre/translations/ar.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre 0.9.7\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2012-11-29 17:38+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: awadh alghaamdi \n" @@ -17,17 +17,17 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n % 100 >= " "3 && n % 100 <= 10 ? 3 : n % 100 >= 11 && n % 100 <= 99 ? 4 : 5;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:07+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:23+0000\n" +"X-Generator: Launchpad (build 16580)\n" "Language: ar\n" "X-Poedit-SourceCharset: UTF-8\n" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" @@ -65,16 +65,16 @@ msgid "Does absolutely nothing" msgstr "يفعل شئ أى" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -129,8 +129,8 @@ msgstr "يفعل شئ أى" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -141,9 +141,9 @@ msgstr "يفعل شئ أى" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -152,7 +152,7 @@ msgstr "يفعل شئ أى" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -165,7 +165,7 @@ msgstr "يفعل شئ أى" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -187,13 +187,13 @@ msgstr "يفعل شئ أى" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -202,33 +202,33 @@ msgstr "يفعل شئ أى" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -372,73 +372,73 @@ msgstr "ضبط دليل المعلومات في الملفات %s" msgid "Set metadata from %s files" msgstr "ضبط دليل المعلومات من ملفات %s" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "ثم إلى الكتب النظم أو الجهاز متصلاً" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "حفر شروحه من كيندل متصلة (التجريبية)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "إنشاء فهرس الكتب في مكتبة النظم الخاص" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "تحويل الكتب إلى مختلف الأشكال يبوك" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "حذف الكتب من مكتبة النظم أو جهاز اتصال" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "تحرير البيانات الوصفية من الكتب في المكتبة النظم الخاص" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "قراءة الكتب في المكتبة النظم الخاص" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "تحميل الأخبار من شبكة الإنترنت في شكل يبوك" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "عرض قائمة من الكتب ذات الصلة بسرعة" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "تصدير الكتب من مكتبة النظم الخاص بك إلى القرص الثابت" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "إظهار التفاصيل في كتاب منفصل منبثقة" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "إعادة تشغيل النظم" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "افتح المجلد يقول يحتوي على ملفات الكتاب في مكتبة النظم الخاص" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "إرسال الكتب إلى الجهاز متصلاً" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" @@ -446,42 +446,42 @@ msgstr "" "إرسال الكتب عبر البريد الإلكتروني أو شبكة الإنترنت أيضا ربط لايتون أو " "المجلدات الموجودة على جهاز الكمبيوتر الخاص بك كما لو أنها هي الأجهزة" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "تصفح دليل المستخدم النظم" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "تخصيص النظم" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "بسهولة العثور على مماثلة كتب لتلك حاليا المحددة" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "التبديل بين المكتبات النظم مختلفة وإجراء الصيانة عليها" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "كتب نسخة من الجهاز إلى مكتبة النظم الخاص" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "تحرير المجموعات في الكتب التي يتم وضعها على جهازك" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "نسخ الكتاب من مكتبة النظم عاطفية إلى آخر" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" "يعمل بعض التعديلات البسيطة لملفات epub أو هتملز في مكتبة كاليبر الخاصة بك" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" @@ -489,120 +489,120 @@ msgstr "" "العثور على المباراة القادمة أو السابقة عند البحث في مكتبة الخاص في وضع النظم " "الضوء" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "يختار كتابًا عشوائياً من مكتبة كاليبر الخاصة بك" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "بحث عن الكتب من باعة الكتب المختلفة" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "الحصول على الإضافات النظم جديدة أو تحديث القائم منها الخاص" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "المظهر" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "الواجهة" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "إضبط المظهر لواجهة المكتبة النظم لتناسب ذوقك." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "السّلوك" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "غيّر سلوك النظم مكتبة" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "أضف أعمدتك الخاصة" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "أعمدتك أضف/إمسح الخاصة لقائمة الكتب في المكتبة" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "شريط الأدوات" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" "تخصيص أشرطة الأدوات والقوائم السياق، وتغيير الإجراءات التي تتوفر في كل عروض" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "جاري البحث" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "تخصيص طريقة البحث عن الكتب في المكتبة" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "خيارات الإدخال" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "تحويل" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "خيارات التحويل خبراء محددة لكل تنسيق مدخلات" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "خيارات متداولة" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "تعيين خيارات التحويل مشتركة لجميع الأشكال" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "خيارات الإخراج" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "خيارات التحويل خبراء محددة لكل تنسيق الإخراج" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "ثم كتب" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "إستيراد/تصدير" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "التحكم في كيفية قراءة البيانات الوصفية من النظم عند ثم ملفات الكتب" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "حفظ الكتب على القرص" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -610,50 +610,50 @@ msgstr "" "التحكم في كيفية تصدير الملفات من النظم قاعدة البيانات الخاصة به على القرص " "عند استخدام حفظ القرص" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "إرسال الكتب الى الاجهزة" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "التحكم في كيفية نقل الملفات من النظم للقارئ الكتاب الإليكتروني الخاص" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "لوحات التعريف قابس" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "تغيير حقول البيانات الوصفية قبل حفظ/إرسال" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "وظائف" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "متقدّم" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "خلق وظائف القالب الخاص بك" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "مشاركة الكتب عبر البريد الإلكتروني" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "مشاركة" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -661,11 +661,11 @@ msgstr "" "تقاسم الإعداد من الكتب عبر البريد الإلكتروني. يمكن استخدامها ﻹرسال التلقائي " "لﻷنباء تحميلها إلى الأجهزة الخاصة بك" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "المشاركة عبر الشبكة" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -673,56 +673,56 @@ msgstr "" "إعداد خادم المحتوى النظم التي سوف أعطيكم الوصول الى المكتبة من النظم الخاص " "بك من عاطفية مكان الطبعة وعلى عاطفية جهاز، من خلال الإنترنت" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "تحميل البيانات الوصفية" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "تحكم في كيفية تحميل البيانات الوصفية للكتب من الشبكة" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "الملحقات" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "ثم/إزالة/بت تخصيص وظائف مختلفة من النظم" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "تطويعات" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "صقل مدى يتصرف النظم في سياقات مختلفة" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "لوحة المفاتيح" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "تخصيص اختصارات لوحة المفاتيح المستخدمة بواسطة كاليبر" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "متفرقات" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "المتقدمة التكوين المتنوعة" @@ -1016,8 +1016,8 @@ msgstr "تمكين الملحق المسمى" msgid "Disable the named plugin" msgstr "تعطيل الملحق المسمى" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -1027,11 +1027,22 @@ msgstr "تعطيل الملحق المسمى" msgid "Path to library too long. Must be less than %d characters." msgstr "الطريق إلى المكتبة وقتاً طويلاً. يجب أن يكون أقل %d من أحرف" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -1043,26 +1054,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "الصفحة الرئيسية" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "بلكبيبي" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1075,11 +1086,11 @@ msgstr "بلكبيبي" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "الأخبار" @@ -1087,14 +1098,14 @@ msgstr "الأخبار" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1102,7 +1113,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1110,45 +1121,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1176,23 +1212,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "التواصل مع هواتف أندرويد ." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "تواصل معا هواتف S60." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "يتصل مع المتصفحات اللوحية التي تستخدم نظام .WebOS" @@ -1336,8 +1372,8 @@ msgstr "" "انقر على \"إظهار التفاصيل\" للقائمة." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "الفهرس" @@ -1390,10 +1426,10 @@ msgstr "بامبوك" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1434,6 +1470,7 @@ msgstr "ثم كتب لقائمة البيانات الوصفية للجهاز .. #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1760,17 +1797,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1778,12 +1815,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1791,7 +1828,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1803,7 +1840,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1816,10 +1853,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1878,66 +1917,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1945,7 +1984,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1954,11 +1993,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1978,55 +2017,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "التواصل مع سو/كوغان/Q600/غمزة" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "التواصل مع رواية Pandigital" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "التواصل مع فيلوسيتيميكرو" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "التواصل مع GM2000" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "التواصل مع شركة أيسر لوميريد" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "التواصل مع اللون الوراتيك" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "التواصل مع تريكستور" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "التواصل مع القارئ المعدات الكهربائية والإلكترونية" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "التواصل مع الكمبيوتر اللوحي آدم" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "التواصل مع القارئ نيكستبوك" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "التواصل مع القارئ موفيبوك" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2151,7 +2190,7 @@ msgstr "جهاز الـNook" msgid "Communicate with the Nook eBook reader." msgstr "التواصل مع القارئ الكتاب الاليكترونى الزواية ." -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2656,7 +2695,7 @@ msgid "There is insufficient free space on the storage card" msgstr "توجد مساحة كافية في بطاقة التخزين" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "تم تصوير %s" @@ -3022,24 +3061,24 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "ملف CSS المستخدمة في الإنتاج بدلاً من الملف الافتراضي" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "القالب المستخدم لتوليد ملف الفهرس HTML بدلاً من الملف الافتراضي" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" "القالب المستخدم لتوليد محتويات HTML من الكتاب بدلاً من الملف الافتراضي" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3335,15 +3374,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4339,7 +4382,7 @@ msgstr "" msgid "Set book ID" msgstr "تحديد هوية الكتاب" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4366,27 +4409,27 @@ msgstr "كلا" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "العنوان" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "المؤلف أو المؤلفون" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "الناشر" @@ -4422,13 +4465,14 @@ msgstr "التعليقات" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "الوسوم" @@ -4437,9 +4481,10 @@ msgstr "الوسوم" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4453,7 +4498,7 @@ msgstr[4] "السلسلة" msgstr[5] "السلسلة" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4465,8 +4510,8 @@ msgstr "ختم التوقيت" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "ذلك" @@ -4587,60 +4632,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "الغلاف" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "الولايات المتحدة" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "فرنسا" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "ألمانيا" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "بريطانيا" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "إيطاليا" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "الأمازون الموقع لﻻستخدام:" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4648,6 +4693,24 @@ msgstr "" msgid "Metadata source" msgstr "مصدر البيانات الوصفية" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " @@ -4656,7 +4719,7 @@ msgstr "" "التنزيلات الفوقية، ويغطي من Douban.com. مفيداً فقط لكتب البريدالالكتروني " "الصينية." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4666,6 +4729,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "التنزيلات الفوقية، ويغطي من كتب جوجل" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "كبير" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4725,12 +4829,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4757,72 +4861,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "المحتويات" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "صقحة العنوان" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "الفهرس" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "المسرد" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "شكر وتقدير" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "ببليوغرافيا" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "بيانات الطبع" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "حقوق المؤلف" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "الإهداء" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "كتابة منقوشة" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "افتتاحية" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "قائمة الرسوم" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "قائمة الجداول" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "الملاحظات" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "افتتاحية" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "النصّ الرئيسي" @@ -4831,14 +4935,14 @@ msgstr "النصّ الرئيسي" msgid "%s format books are not supported" msgstr "الكتب بتهيئة %s ليست مدعومة" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4863,12 +4967,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4901,7 +5005,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -5026,9 +5130,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -5044,11 +5148,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "التقييم" @@ -5091,6 +5195,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "يمكن العثور على pdftohtml، تحقق في المسار الخاص" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5245,7 +5353,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5371,12 +5479,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5453,8 +5561,8 @@ msgstr "ثم إلى المكتبة" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5576,7 +5684,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5624,7 +5732,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5638,7 +5746,7 @@ msgstr "التبديل/مكتبة إنشاء..." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5650,12 +5758,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "تسمية المكتبة" @@ -5795,7 +5903,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5824,7 +5932,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5865,7 +5973,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "إنشاء فهرس الكتب في مكتبة العيار الخاص" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "يمكن تحويله" @@ -5878,96 +5986,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "نسخة لمكتبة" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "نسخ الكتب المختارة إلى المكتبة المحدد" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "يمكن نسخ الكتب " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5986,6 +6107,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "أنت متأكّد؟" @@ -6061,75 +6183,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "يمكن حذف الكتب" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "لم يتم توصيل الجهاز" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "لحذف كتب عاطفية" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "حذف الكتب من الجهاز" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -6205,12 +6329,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "وقف خادم، وهذا قد يستغرق دقيقة واحدة تصل، يرجى الانتظار..." @@ -6294,8 +6418,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6331,7 +6455,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6404,15 +6528,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6519,17 +6643,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6538,185 +6673,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6833,7 +6979,7 @@ msgid "Click the show details button to see which ones." msgstr "انقر على زر إظهار التفاصيل لمعرفة عاطفية منها." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "عرض تفاصيل الكتاب" @@ -6938,7 +7084,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6950,30 +7096,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6983,11 +7129,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "احصل على مجلة عن كيفية الحصول على كتاب" @@ -7251,7 +7397,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7461,7 +7607,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "معرفات" @@ -7471,7 +7617,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7505,16 +7651,25 @@ msgstr "المسار" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7582,7 +7737,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7768,7 +7923,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "الاسم" @@ -8108,8 +8263,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "عادي" @@ -9027,54 +9182,58 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -9086,8 +9245,24 @@ msgstr "" msgid " px" msgstr " مقصف" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9325,6 +9500,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9891,7 +10070,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9937,81 +10116,81 @@ msgstr "الجهاز: " msgid " detected." msgstr " تم كشفه." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -10173,7 +10352,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10684,13 +10863,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "مكتبة" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10724,8 +10903,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10744,13 +10923,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10849,7 +11028,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10897,12 +11076,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10997,40 +11176,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "إظهار و تفاصيل" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "إخفاء و تفاصيل" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11901,6 +12080,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11936,12 +12116,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "بحث" @@ -12515,12 +12695,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12572,6 +12752,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "الناشرون" @@ -12586,6 +12767,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13466,7 +13648,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13510,7 +13692,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13520,66 +13702,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "حذف المكتبة" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "بحث متقدّم" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13592,32 +13778,32 @@ msgstr "نجمة" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "الحجم (ميجابايت)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "معدّل" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13626,30 +13812,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "في المكتبة" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "الحجم" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13754,7 +13940,7 @@ msgid "Previous Page" msgstr "قسم السابقة" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -14256,7 +14442,7 @@ msgid "Edit Metadata" msgstr "تحرير البيانات الوصفية" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14401,15 +14587,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14417,28 +14603,28 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" "فشل في تحميل البيانات الوصفية. انقر فوق إظهار لمعرفة التفاصيل التفاصيل" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14449,39 +14635,45 @@ msgstr "" "تحديداً. على الصفحة المثال، عاطفية تستخدم إلا البلاغ اسم العائلة وكلمة واحدة " "مميزة من العنوان.

لرؤية السجل الكامل، انقر فوق إظهار التفاصيل.." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" "فشل في تحميل عاطفية يغطي، انقر فوق \"عرض التفاصيل\" لﻻطﻻع على التفاصيل." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14624,7 +14816,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14667,34 +14860,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "مرتفع" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "منخفض" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14743,12 +14936,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15671,10 +15864,6 @@ msgstr "" msgid "Small" msgstr "صغير" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "كبير" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "متوسط" @@ -15692,7 +15881,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "بواسطة الحرف الأول" @@ -16660,20 +16849,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "فشل في تشغيل خادم المحتوى" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "سجل الأخطاء:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "سجل النفاذ:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "تحتاج إلى إعادة تشغيل الملقم لتصبح التغييرات نافذة المفعول" @@ -16706,18 +16895,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -17093,83 +17282,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "جميع الكتب" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17445,32 +17784,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17584,46 +17923,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "بحوث" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "ابحث عن اسم مكرر" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17645,13 +17984,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17744,7 +18083,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "الفرز حسب" @@ -17783,138 +18122,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17925,56 +18264,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -18016,73 +18355,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -18090,134 +18440,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18296,31 +18691,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "&تبرع لدعم كاليبر" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18328,11 +18723,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18348,16 +18743,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "خطأ في التحويل" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18380,34 +18775,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18920,29 +19315,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -20192,44 +20587,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "السلسلة التي تستخدم لتفريق الحقول. الإفتراضي يستخدم الفراغ." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "الحقول غير صالحة. الحقول المتوفرة:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "حقل الترتيب غير صالح. الحقول المتوفرة:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -20238,59 +20633,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20301,28 +20696,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "يجب أن تخصص على الأقل كتاباً واحداً للحذف" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20332,11 +20737,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20346,15 +20751,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20369,7 +20774,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20379,40 +20784,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20423,28 +20828,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20455,13 +20860,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20481,11 +20886,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20496,30 +20901,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20531,17 +20936,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20550,27 +20955,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "إظهار التفاصيل لكل عمود." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20580,15 +20985,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20601,40 +21006,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20648,13 +21053,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20662,34 +21067,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "غير معروف تقرير الاختيار" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20704,18 +21109,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20723,33 +21128,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20772,31 +21177,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -21038,20 +21434,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "جميع الكتب" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "الأجد" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -21074,7 +21470,7 @@ msgid "Browsing %d books" msgstr "الكتب تصفح %d" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "معدل التقييم" @@ -21083,98 +21479,98 @@ msgstr "معدل التقييم" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "النجوم %d" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "شهرة" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "الإستقبال" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "اختيار فئة للتصفح من خلالها:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "التصفح بواسطة" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "للاعلا" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "احصل" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "تفاصيل" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "رابط دائم" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "وصلة دائمة لهذا الكتاب" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "البحث" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -21193,21 +21589,23 @@ msgstr "" "\n" "يتم الإعلان عن طريق واجهة أوبدس بونجور تلقائياً.\n" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -22220,10 +22618,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22322,6 +22716,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22370,107 +22789,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "تم التنزيل" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "فشل الفولدر التالية المقالات:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "فشل الفولدر أجزاء من المقالات التالية:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr " من " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "محاولة الفولدر الغلاف..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "تم الفولدر التلقيم إلى %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "لم يتمكّن من الفولدر الغلاف: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "يتم الفولدر الغلاف من %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "مقالة دون عنوان" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "المقالة منزّلة: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "فشل الفولدر المقالة: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22733,7 +23152,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/ast.po b/src/calibre/translations/ast.po index 0bbc209345..964148edb2 100644 --- a/src/calibre/translations/ast.po +++ b/src/calibre/translations/ast.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2011-09-26 16:28+0000\n" "Last-Translator: Xandru \n" "Language-Team: Asturian \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:07+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:23+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "Nun fai nada" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "Nun fai nada" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "Nun fai nada" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "Nun fai nada" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "Nun fai nada" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "Nun fai nada" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "Nun fai nada" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -331,345 +331,345 @@ msgstr "Afitar metadatos nos ficheros %s" msgid "Set metadata from %s files" msgstr "Afitar metadatos dende ficheros %s" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "Amestar llibros a calibre o al preséu conuetáu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "Obtener notes d'un Kindle coneutáu (esperimental)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "Xenerar un catálogu de los llibros na to biblioteca calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "Convertir llibros a estremaos formatos de llibru electrónicu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "Esborrar llibros de la biblioteca calibre o del preséu coneutáu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "Editar los metadatos de los llibros na biblioteca calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "Lleer llibros de la biblioteca calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "Descargar noticies d'Internet en formatu ebook" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Amosar rápido una llista de llibros rellacionaos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -947,8 +947,8 @@ msgstr "" msgid "Disable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -958,11 +958,22 @@ msgstr "" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -974,26 +985,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1006,11 +1017,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" @@ -1018,14 +1029,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1033,7 +1044,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1041,45 +1052,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1107,23 +1143,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1246,8 +1282,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "" @@ -1295,10 +1331,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1339,6 +1375,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1657,17 +1694,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1675,12 +1712,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1688,7 +1725,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1700,7 +1737,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1713,10 +1750,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1773,66 +1812,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1840,7 +1879,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1849,11 +1888,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1873,55 +1912,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2046,7 +2085,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2527,7 +2566,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2836,23 +2875,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3140,15 +3179,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4099,7 +4142,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4123,27 +4166,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4179,13 +4222,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4194,9 +4238,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4206,7 +4251,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4218,8 +4263,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4331,60 +4376,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4392,13 +4437,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4408,6 +4471,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4467,12 +4571,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4499,72 +4603,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4573,14 +4677,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4605,12 +4709,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4643,7 +4747,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4768,9 +4872,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4786,11 +4890,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4833,6 +4937,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4987,7 +5095,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5109,12 +5217,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5191,8 +5299,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5313,7 +5421,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5361,7 +5469,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5375,7 +5483,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5387,12 +5495,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5532,7 +5640,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5560,7 +5668,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5601,7 +5709,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5614,96 +5722,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5722,6 +5843,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5794,75 +5916,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5938,12 +6062,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6027,8 +6151,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6064,7 +6188,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6134,15 +6258,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6247,17 +6371,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6266,185 +6401,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6561,7 +6707,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6666,7 +6812,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6678,30 +6824,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6711,11 +6857,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -6979,7 +7125,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7189,7 +7335,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7199,7 +7345,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7233,16 +7379,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7310,7 +7465,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7496,7 +7651,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7836,8 +7991,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8753,59 +8908,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8817,13 +8976,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9061,6 +9236,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9627,7 +9806,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9673,81 +9852,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9909,7 +10088,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10420,13 +10599,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10460,8 +10639,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10480,13 +10659,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10585,7 +10764,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10633,12 +10812,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10733,40 +10912,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11634,6 +11813,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11669,12 +11849,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12248,12 +12428,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12305,6 +12485,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12319,6 +12500,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13195,7 +13377,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13239,7 +13421,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13249,66 +13431,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13321,32 +13507,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13355,30 +13541,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13483,7 +13669,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13981,7 +14167,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14126,15 +14312,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14142,27 +14328,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14170,38 +14356,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14342,7 +14534,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14385,34 +14578,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14461,12 +14654,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15379,10 +15572,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15400,7 +15589,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16368,20 +16557,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16414,18 +16603,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16800,83 +16989,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17152,32 +17491,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17291,46 +17630,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17352,13 +17691,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17451,7 +17790,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17490,138 +17829,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17632,56 +17971,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17723,73 +18062,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17797,134 +18147,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18003,31 +18398,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18035,11 +18430,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18055,16 +18450,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18087,34 +18482,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18655,29 +19050,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19925,44 +20320,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19971,59 +20366,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20034,28 +20429,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20065,11 +20470,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20079,15 +20484,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20102,7 +20507,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20112,40 +20517,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20156,28 +20561,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20188,13 +20593,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20214,11 +20619,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20229,30 +20634,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20264,17 +20669,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20283,27 +20688,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20313,15 +20718,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20334,40 +20739,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20381,13 +20786,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20395,34 +20800,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20437,18 +20842,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20456,33 +20861,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20505,31 +20910,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20771,20 +21167,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20807,7 +21203,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20816,98 +21212,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20920,21 +21316,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21937,10 +22335,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22039,6 +22433,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22087,107 +22506,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22450,7 +22869,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/az.po b/src/calibre/translations/az.po index a575891e35..0c0307a020 100644 --- a/src/calibre/translations/az.po +++ b/src/calibre/translations/az.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2012-08-07 14:00+0000\n" "Last-Translator: Emin Mastizada \n" "Language-Team: Azerbaijani \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:08+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:23+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "Heç bir şey etmir" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "Heç bir şey etmir" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "Heç bir şey etmir" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "Heç bir şey etmir" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "Heç bir şey etmir" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "Heç bir şey etmir" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "Heç bir şey etmir" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -325,349 +325,349 @@ msgstr "Metaverilənləri %s faylında təyin et" msgid "Set metadata from %s files" msgstr "Metaverilənləri %s fayllaından təyin et" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "Kitabları Calibre-yə və ya bağlanmış qurğuya əlavə et" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "Annotasiyaları bağlanmış Kindle-dan əldə et" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "Calibre kitabxanasındakı kitablardan kataloq generasiya et" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "Kitabları müxtəlif elektron kitab formatlarına çevir" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "Kitabları Calibre və ya bağlanmış qurğulardan sil" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "Calibre kitabxananızdakı kitabların metaverilənlərini redaktə et" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "Calibre kitabxananızdakı kitabları oxu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "Xəbərləri internetdən elektron kitab formasında endir" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Əlaqəli kitablar siyahısını cəld göstər" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "Kitablarınızı Calibre-dən kompüterinizə ixrac edin." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "Kitab haqda məlumatları ayrı-ayrı alt-pəncərələrdə göstər." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "Calibre-ni yenidən başlat" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "Bu kitabın içində yerləşdiyi Calibre kitabxana qovluğunu açın" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "Qoşulmuş qurğuya kitab göndərin" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "Calibre istifadəçi təlimat səhifəsini aç" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "Calibre xüsusiyyətlərini dəyiş" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "Seçilmiş kitaba oxşar olan kitabları tapın" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "Kitabları qurğudan Calibere kitabxanasına köçürün" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "Kitabı bir Calibre kitabxanasından digərinə köçürün" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "Calibre kitabxananızdan təsadüfi kitab seçin" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "Kitabı başqa kitab satıcılarında axtar" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" "Calibre-niz üçün yeni qoşmalar əldə edin və ya mövcud olanları yeniləyin" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Görüntüyə baxın" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Görüntü" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "Davranış" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Öz sütunlarınızı əlavə edin" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "Calibre kitab siyahısına öz sütunlarınızı əlavə edin/silin" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Alətlər paneli" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "Alətlər paneli və kontekst menyuları redaktə edin," -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "Axtarılır" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "Calibre-də kitab axtarış metodunu dəyişdirin" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "Daxil etmə ayarları" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Çevrilmə" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "Hər bir giriş formatı üçün çevrilmə ayarları təyin edin" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Ümumi xüsusiyyətlər" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "Çıxış ayarları" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "Kitab əlavə edilməsi" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "İdxal/İxrac" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "Kitabların disk yaddaşa verilməsi" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "Kitabların qurğulara köçürülməsi" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" "Calibre-in faylları sizin e-kitab oxuyucunuza hansı formada göndərməsini " "idarə edin" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "Şablon funksiyaları" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "Ətraflı" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "Öz çablon funksiyalarınızı yaradın" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "Kitabların emaillə paylaşılması" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "Paylaşma" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "İnternetə axtarış" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "Meta-məlumatların yüklənməsi" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Qoşmalar" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "Klaviatura" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" "Calibre-də istifadə edilən klaviatura kombinasiyalarının tənzimlənməsi" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Digər" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -945,8 +945,8 @@ msgstr "" msgid "Disable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -956,11 +956,22 @@ msgstr "" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -972,26 +983,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1004,11 +1015,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" @@ -1016,14 +1027,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1031,7 +1042,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1039,45 +1050,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1105,23 +1141,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1244,8 +1280,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "" @@ -1293,10 +1329,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1337,6 +1373,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1655,17 +1692,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1673,12 +1710,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1686,7 +1723,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1698,7 +1735,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1711,10 +1748,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1771,66 +1810,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1838,7 +1877,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1847,11 +1886,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1871,55 +1910,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2044,7 +2083,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2525,7 +2564,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2834,23 +2873,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3138,15 +3177,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4097,7 +4140,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4121,27 +4164,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4177,13 +4220,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4192,9 +4236,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4204,7 +4249,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4216,8 +4261,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4329,60 +4374,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4390,13 +4435,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4406,6 +4469,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4465,12 +4569,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4497,72 +4601,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4571,14 +4675,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4603,12 +4707,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4641,7 +4745,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4766,9 +4870,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4784,11 +4888,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4831,6 +4935,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4985,7 +5093,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5107,12 +5215,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5189,8 +5297,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5311,7 +5419,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5359,7 +5467,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5373,7 +5481,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5385,12 +5493,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5530,7 +5638,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5558,7 +5666,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5599,7 +5707,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5612,96 +5720,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5720,6 +5841,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5792,75 +5914,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5936,12 +6060,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6025,8 +6149,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6062,7 +6186,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6132,15 +6256,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6245,17 +6369,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6264,185 +6399,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6559,7 +6705,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6664,7 +6810,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6676,30 +6822,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6709,11 +6855,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -6977,7 +7123,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7187,7 +7333,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7197,7 +7343,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7231,16 +7377,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7308,7 +7463,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7494,7 +7649,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7834,8 +7989,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8751,59 +8906,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8815,13 +8974,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9059,6 +9234,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9625,7 +9804,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9671,81 +9850,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9907,7 +10086,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10418,13 +10597,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10458,8 +10637,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10478,13 +10657,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10583,7 +10762,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10631,12 +10810,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10731,40 +10910,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11632,6 +11811,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11667,12 +11847,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12246,12 +12426,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12303,6 +12483,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12317,6 +12498,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13193,7 +13375,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13237,7 +13419,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13247,66 +13429,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13319,32 +13505,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13353,30 +13539,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13481,7 +13667,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13979,7 +14165,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14124,15 +14310,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14140,27 +14326,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14168,38 +14354,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14340,7 +14532,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14383,34 +14576,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14459,12 +14652,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15377,10 +15570,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15398,7 +15587,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16366,20 +16555,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16412,18 +16601,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16798,83 +16987,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17150,32 +17489,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17289,46 +17628,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17350,13 +17689,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17449,7 +17788,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17488,138 +17827,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17630,56 +17969,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17721,73 +18060,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17795,134 +18145,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18001,31 +18396,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18033,11 +18428,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18053,16 +18448,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18085,34 +18480,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18653,29 +19048,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19923,44 +20318,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19969,59 +20364,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20032,28 +20427,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20063,11 +20468,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20077,15 +20482,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20100,7 +20505,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20110,40 +20515,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20154,28 +20559,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20186,13 +20591,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20212,11 +20617,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20227,30 +20632,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20262,17 +20667,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20281,27 +20686,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20311,15 +20716,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20332,40 +20737,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20379,13 +20784,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20393,34 +20798,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20435,18 +20840,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20454,33 +20859,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20503,31 +20908,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20769,20 +21165,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20805,7 +21201,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20814,98 +21210,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20918,21 +21314,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21935,10 +22333,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22037,6 +22431,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22085,107 +22504,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22448,7 +22867,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/ber.po b/src/calibre/translations/ber.po index 915b520168..8da82f1605 100644 --- a/src/calibre/translations/ber.po +++ b/src/calibre/translations/ber.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2012-10-14 04:57+0000\n" "Last-Translator: Walid AMMOU \n" "Language-Team: Berber (Other) \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:08+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:24+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -325,345 +325,345 @@ msgstr "" msgid "Set metadata from %s files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "ⵔⵏⵉ ⵉⴷⵍⵉⵙⵏ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -941,8 +941,8 @@ msgstr "" msgid "Disable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -952,11 +952,22 @@ msgstr "" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -968,26 +979,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1000,11 +1011,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "ⵉⵏⵖⵎⵉⵙⵏ" @@ -1012,14 +1023,14 @@ msgstr "ⵉⵏⵖⵎⵉⵙⵏ" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "ⵢⴰⵀ" @@ -1027,7 +1038,7 @@ msgstr "ⵢⴰⵀ" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "ⵓⵀⵓ" @@ -1035,45 +1046,70 @@ msgstr "ⵓⵀⵓ" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "ⴰⵙⵙⴰ" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "ⴰⵙⵙⵏⵏⴰⴹ" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "ⴰⵢⵢⵓⵔⴰ" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1101,23 +1137,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1240,8 +1276,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "" @@ -1289,10 +1325,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1333,6 +1369,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1651,17 +1688,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1669,12 +1706,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1682,7 +1719,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1694,7 +1731,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1707,10 +1744,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1767,66 +1806,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1834,7 +1873,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1843,11 +1882,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1867,55 +1906,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2040,7 +2079,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2521,7 +2560,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2830,23 +2869,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3134,15 +3173,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4093,7 +4136,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4117,27 +4160,27 @@ msgstr "ⵓⵀⵓ" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "ⴰⵣⵡⵍ" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4173,13 +4216,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4188,9 +4232,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4200,7 +4245,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4212,8 +4257,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4325,60 +4370,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4386,13 +4431,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4402,6 +4465,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "ⴰⵎⵉⵔⵉⵡ" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4461,12 +4565,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4493,72 +4597,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "ⴰⵣⵡⵍ ⵏ ⵜⴰⵙⵏⴰ" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4567,14 +4671,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4599,12 +4703,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4637,7 +4741,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4762,9 +4866,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4780,11 +4884,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4827,6 +4931,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4981,7 +5089,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5103,12 +5211,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5185,8 +5293,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5307,7 +5415,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5355,7 +5463,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "ⴷⵖⵔ ⵜⴰⵙⴷⵍⵉⵙⵜ" @@ -5369,7 +5477,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5381,12 +5489,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5526,7 +5634,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5554,7 +5662,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5595,7 +5703,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5608,96 +5716,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5716,6 +5837,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5788,75 +5910,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5932,12 +6056,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6021,8 +6145,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6058,7 +6182,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6128,15 +6252,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6241,17 +6365,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6260,185 +6395,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6555,7 +6701,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6660,7 +6806,7 @@ msgid "this book" msgstr "ⴰⴷⵍⵉⵙ ⴰⴷ" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6672,30 +6818,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6705,11 +6851,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -6973,7 +7119,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7183,7 +7329,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7193,7 +7339,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7227,16 +7373,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7304,7 +7459,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7490,7 +7645,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "ⵉⵙⵎ" @@ -7830,8 +7985,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8747,59 +8902,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8811,13 +8970,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9055,6 +9230,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9621,7 +9800,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9667,81 +9846,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9903,7 +10082,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10414,13 +10593,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10454,8 +10633,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10474,13 +10653,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10579,7 +10758,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10627,12 +10806,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10727,40 +10906,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11628,6 +11807,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11663,12 +11843,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12242,12 +12422,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12299,6 +12479,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12313,6 +12494,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13189,7 +13371,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13233,7 +13415,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13243,66 +13425,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13315,32 +13501,32 @@ msgstr "ⵉⵜⵔⴰⵏ" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13349,30 +13535,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13477,7 +13663,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13975,7 +14161,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14120,15 +14306,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14136,27 +14322,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14164,38 +14350,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14336,7 +14528,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14379,34 +14572,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14455,12 +14648,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15373,10 +15566,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "ⴰⵎⵉⵔⵉⵡ" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "ⴰⵎⵊⴰⵀⴷⵉ" @@ -15394,7 +15583,7 @@ msgid "Never" msgstr "ⵊⵊⵓⵏ" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16362,20 +16551,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16408,18 +16597,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16794,83 +16983,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17146,32 +17485,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17285,46 +17624,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17346,13 +17685,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17445,7 +17784,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17484,138 +17823,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17626,56 +17965,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17717,73 +18056,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17791,134 +18141,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -17997,31 +18392,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18029,11 +18424,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18049,16 +18444,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18081,34 +18476,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18649,29 +19044,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19919,44 +20314,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19965,59 +20360,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20028,28 +20423,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20059,11 +20464,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20073,15 +20478,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20096,7 +20501,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20106,40 +20511,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20150,28 +20555,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20182,13 +20587,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20208,11 +20613,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20223,30 +20628,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20258,17 +20663,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20277,27 +20682,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20307,15 +20712,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20328,40 +20733,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20375,13 +20780,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20389,34 +20794,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20431,18 +20836,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20450,33 +20855,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20499,31 +20904,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20765,20 +21161,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20801,7 +21197,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20810,98 +21206,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20914,21 +21310,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21931,10 +22329,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22033,6 +22427,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22081,107 +22500,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22444,7 +22863,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/bg.po b/src/calibre/translations/bg.po index 79f7dab0d7..b708e6b3e9 100644 --- a/src/calibre/translations/bg.po +++ b/src/calibre/translations/bg.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre 0.4.51\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2013-03-17 14:12+0000\n" "Last-Translator: S_S \n" "Language-Team: bg\n" @@ -14,8 +14,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:09+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:25+0000\n" +"X-Generator: Launchpad (build 16580)\n" "Generated-By: pygettext.py 1.5\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -23,16 +23,16 @@ msgid "Does absolutely nothing" msgstr "Не прави абсолютно нищо" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "Не прави абсолютно нищо" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "Не прави абсолютно нищо" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "Не прави абсолютно нищо" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "Не прави абсолютно нищо" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "Не прави абсолютно нищо" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "Не прави абсолютно нищо" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -331,74 +331,74 @@ msgstr "Влага метаданни в %s файлове" msgid "Set metadata from %s files" msgstr "Влага метаданни от %s файлове" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "Добави книги в calibre или към свързано устройство" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "Извлечи анотации от свързано Kindle устройство (експериментално)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "Генерирай каталог от книгите в calibre библиотеката" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "Конвертирай книги от различни формати" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "Фина настройка на електронните книги" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "Редактирай съдържанието на книгите" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "Изтрийте книги от calibre библиотеката или от свързано устройство" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "Редактира мета данните на книгите във вашата calibre библиотека" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "Четете книги от вашата calibre библиотека" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "Заредете новини от Интернет като електронна книга" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Покажи списък на сродните книги бързо" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "Експортира книги от вашата calibre библиотека на твърдия диск" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "Покажи детайли за книгата в отделен изскачащ прозорец" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "Презареждане на calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" "Отвори папката, съдържаща файловете на книгите във calibre библиотеката" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "Изпрати книги към свързаното устройство" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" @@ -406,44 +406,44 @@ msgstr "" "Изпрати книги чрез и-мейл или мрежата, също така се свържи с iTunes или " "папките на компютъра, сякаш са устройства" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "Преглед на ръководството за потребителя" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "Персонализирай calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "Намерете лесно книги, подобни на по настоящем избраната" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "Премини между различите calibre библиотеки и извършете поддръжка" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "Копирай книги от устройството към calibre библиотеката" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" "Редактирайте колекциите, в които са включени книгите от вашето устройство" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "Копирайте книга от една calibre библиотека в друга" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" "Направете малки подобрения на epub или htmlz файлове във Вашата calibre " "библиотека" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" @@ -451,57 +451,57 @@ msgstr "" "Намерете следващото или предишното съвпадение при търсене във вашата calibre " "библиотека в режим на подчертаване" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "Избира произволна книга от вашата calibre библиотека" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "Търсете книги от различни търговци" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "Свалете нови плъгини за calibre или обновете съществуващите" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Външен вид" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Интерфейс" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "Настройте външния вид на calibre според вашите предпочитания" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "Поведение" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "Настройте начина по който се държи calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Добавяне на собствени колони" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" "Добавете/премахнете свои собствени колони в списъка с книги на calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Лента с инструменти" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -509,69 +509,69 @@ msgstr "" "Персонализирайте лентите с инструменти и контекстните менюта, избирайки кои " "действия да бъдат на разположение в тях" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "Търсене..." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" "Персонализиране на начина, по който търсенето за книги работи в calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "Настройки за въвеждане" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Конвертиране" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "Задайте опции за конвертиране, специфични за всеки входен формат" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Общи настройки" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "Задайте опции за конвертиране, общи за всички формати" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "Настройки за изходни формати" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" "Избор на специфични настройки за конвертиране за всеки файлов формат за " "експортиране" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "Добавяне на книги..." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "Внасяне/Изнасяне" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Управление на това как calibre чете метаданни от файлове при добавяне на " "книги" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "Запазване на книги на диск" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -579,51 +579,51 @@ msgstr "" "Определя как Калибър експортира файлове от неговата база данни към диск, " "когато използвате Запази на диск" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "Качване на книги към устройства" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" "Определя как calibre прехвърля файлове на Вашия електронен четец за е-книги" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "Полета за поставяне на метаданни" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "С промяна на полетата с метаданни преди запис/изпращане" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "Шаблонни функции" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "Разширени" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "Създаване на потребителски шаблонни функции" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "Споделяне на книги по е-поща" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "Споделяне" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -631,11 +631,11 @@ msgstr "" "Избор на настройки за споделяне на книги по е-поща. Може да бъде използвано " "за автоматично изпращане на изтеглени новини към Вашите устройства." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "Споделяне през интернет" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -644,21 +644,21 @@ msgstr "" "calibre), който ще Ви даде достъп до Вашата библиотека от calibre навсякъде, " "на всяко устройство, с достъп до Интернет." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "Сваляне на метаданни" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" "Управление на това как calibre изтегля метаданни за е-книги от Интернет" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "Игнорирани устройства" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." @@ -666,39 +666,39 @@ msgstr "" "Контролирай кои устройства calibre ще игнорира, когато са свързани към " "компютъра" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Добавки" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" "Добавяне/премахване/настройване на различни части от функциите на Калибър" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "Подобрения" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "Фина настройка на действието на Калибър в различни контексти" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "Клавиатура" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" "Персонализирайте клавишните комбинации за бърз достъп, използвани от calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Разни" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "Разнообразни разширени настройки за конфигурация" @@ -1006,8 +1006,8 @@ msgstr "Активиране на избраната добавка" msgid "Disable the named plugin" msgstr "Деактивиране на избраната добавка" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -1019,11 +1019,22 @@ msgstr "" "Пътят към библиотеката е прекалено дълъг. Трябва да съдържа по-малко от %d " "символа." -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -1035,26 +1046,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "Карта Б" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1067,11 +1078,11 @@ msgstr "Карта Б" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Новини" @@ -1079,14 +1090,14 @@ msgstr "Новини" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1094,7 +1105,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1102,45 +1113,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1168,13 +1204,13 @@ msgstr "" msgid "Communicate with Android phones." msgstr "Комуникирай с Android устройства" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" @@ -1183,11 +1219,11 @@ msgstr "" "картите за съхранение на устройството. Първата съществуваща ще бъде " "използвана." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "Комуникирай със S60 устройства" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "Сподели с WebOS таблети" @@ -1340,8 +1376,8 @@ msgstr "" "Натиснете \"Show Details\", за да видите списъка." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "Каталог" @@ -1396,10 +1432,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1440,6 +1476,7 @@ msgstr "Добавяне на книги към метадата(metadata) сп #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1775,17 +1812,17 @@ msgstr "" "обложката." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "Качи черно-бели обложки." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "Покажи просрочени книги." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1793,12 +1830,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1806,7 +1843,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "Покажи препоръки." @@ -1818,7 +1855,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1831,10 +1868,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1891,66 +1930,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1958,7 +1997,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1967,11 +2006,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1991,55 +2030,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2164,7 +2203,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2658,7 +2697,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2969,23 +3008,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3273,15 +3312,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4235,7 +4278,7 @@ msgstr "" msgid "Set book ID" msgstr "Задаване на ID на книгата" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4259,27 +4302,27 @@ msgstr "Не" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "Заглавие" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "Автор(и)" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "Издател" @@ -4315,13 +4358,14 @@ msgstr "Коментари" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "Етикети" @@ -4330,9 +4374,10 @@ msgstr "Етикети" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4342,7 +4387,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4354,8 +4399,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "Публикувана" @@ -4467,60 +4512,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "Корица" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4528,13 +4573,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4544,6 +4607,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "Голям" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "Сваляне на метаданни от isbndb.com" @@ -4603,12 +4707,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4635,72 +4739,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "Съдържание" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "Заглавна страница" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "Индекс" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "Речник" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "Благодарности" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "Библиография" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "Послеслов" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "Авторски права" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "Посвещение" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "Епиграф" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "Предисловие" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "Списък на Илюстрации" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "Бележки" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "Предговор" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "Основен текст" @@ -4709,14 +4813,14 @@ msgstr "Основен текст" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4741,12 +4845,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4779,7 +4883,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4904,9 +5008,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4922,11 +5026,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "Рейтинг" @@ -4969,6 +5073,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5123,7 +5231,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5245,12 +5353,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5327,8 +5435,8 @@ msgstr "Добавяне към библиотеката" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5449,7 +5557,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5497,7 +5605,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5511,7 +5619,7 @@ msgstr "Превключване/създаване на библиотека... #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5523,12 +5631,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "Бързо превключване" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "Преименуване на библиотека" @@ -5668,7 +5776,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5696,7 +5804,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5737,7 +5845,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "Не може да се конвертира" @@ -5750,96 +5858,109 @@ msgstr "Започване на конвертиране на %d книга(и)" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "Копиране в библиотека" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "Копиране на избраната книга в определената библиотека" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "(изтриване след копиране)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "Не може да се копира" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "Няма библиотека" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "Не е намерена библиотека в %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5858,6 +5979,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "Сигурни ли сте?" @@ -5930,75 +6052,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "Избор на форматите, които да се изтрият" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "Не може да се изтрият книгите" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "Няма книги за изтриване" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -6074,12 +6198,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6163,8 +6287,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6200,7 +6324,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6270,15 +6394,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6383,17 +6507,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6402,185 +6537,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6697,7 +6843,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "Показване на детайлите на книгата" @@ -6802,7 +6948,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6814,30 +6960,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6847,11 +6993,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -7115,7 +7261,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "Няма книги" @@ -7325,7 +7471,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7335,7 +7481,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "Колекции" @@ -7369,16 +7515,25 @@ msgstr "Път" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7446,7 +7601,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7632,7 +7787,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "Име" @@ -7972,8 +8127,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8889,59 +9044,63 @@ msgstr "Няма &изображения" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "&Размер на хартията:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8953,13 +9112,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9197,6 +9372,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "Конвертиране" @@ -9763,7 +9942,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "Няма подходящи формати" @@ -9809,81 +9988,81 @@ msgstr "Устройство: " msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "Няма устройство" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "Няма карта" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "Няма място на устройството" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -10045,7 +10224,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10556,13 +10735,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10596,8 +10775,8 @@ msgid "Location" msgstr "Местоположение" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10616,13 +10795,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10721,7 +10900,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "Не са намерени съвпадения" @@ -10769,12 +10948,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10869,40 +11048,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11770,6 +11949,7 @@ msgstr "Прекъсване..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11805,12 +11985,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "Търсене" @@ -12384,12 +12564,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12441,6 +12621,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "Издатели" @@ -12455,6 +12636,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13331,7 +13513,7 @@ msgid "&Shortcut:" msgstr "&Бърз клавиш:" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13375,7 +13557,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13385,66 +13567,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "Изтриване на библиотека" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "Изчистване на бързото търсене" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13457,32 +13643,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "Размер (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13491,30 +13677,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13619,7 +13805,7 @@ msgid "Previous Page" msgstr "Предишна страница" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -14117,7 +14303,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14262,15 +14448,15 @@ msgstr "&Коментари" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14278,27 +14464,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14306,38 +14492,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "Сваляне на корица..." @@ -14478,7 +14670,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14521,34 +14714,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "По подразбиране" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14597,12 +14790,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15515,10 +15708,6 @@ msgstr "" msgid "Small" msgstr "Малък" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "Голям" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "Среден" @@ -15536,7 +15725,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16506,20 +16695,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16552,18 +16741,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16938,83 +17127,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17290,32 +17629,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17429,46 +17768,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17490,13 +17829,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17589,7 +17928,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17628,138 +17967,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17770,56 +18109,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17861,73 +18200,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17935,134 +18285,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18141,31 +18536,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "&Възстановяване" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18173,11 +18568,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18193,16 +18588,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18225,34 +18620,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18793,29 +19188,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -20063,44 +20458,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -20109,59 +20504,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20172,28 +20567,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20203,11 +20608,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20217,15 +20622,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20240,7 +20645,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20250,40 +20655,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20294,28 +20699,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20326,13 +20731,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20352,11 +20757,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20367,30 +20772,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20402,17 +20807,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20421,27 +20826,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20451,15 +20856,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20472,40 +20877,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20519,13 +20924,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20533,34 +20938,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20575,18 +20980,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20594,33 +20999,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20643,31 +21048,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20909,20 +21305,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20945,7 +21341,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20954,98 +21350,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -21058,21 +21454,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -22075,10 +22473,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22177,6 +22571,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22225,107 +22644,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22588,7 +23007,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/bn.po b/src/calibre/translations/bn.po index 1c60b4da12..9c66b15c78 100644 --- a/src/calibre/translations/bn.po +++ b/src/calibre/translations/bn.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2012-04-12 14:19+0000\n" "Last-Translator: Shahnoor Ashraf \n" "Language-Team: Bengali \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:08+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:24+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "আসলে কিছুই করে না" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "আসলে কিছুই করে না" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "আসলে কিছুই করে না" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "আসলে কিছুই করে না" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "আসলে কিছুই করে না" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "আসলে কিছুই করে না" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "আসলে কিছুই করে না" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -325,345 +325,345 @@ msgstr "" msgid "Set metadata from %s files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -941,8 +941,8 @@ msgstr "" msgid "Disable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -952,11 +952,22 @@ msgstr "" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -968,26 +979,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1000,11 +1011,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" @@ -1012,14 +1023,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1027,7 +1038,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1035,45 +1046,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1101,23 +1137,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1240,8 +1276,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "" @@ -1289,10 +1325,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1333,6 +1369,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1651,17 +1688,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1669,12 +1706,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1682,7 +1719,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1694,7 +1731,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1707,10 +1744,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1767,66 +1806,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1834,7 +1873,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1843,11 +1882,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1867,55 +1906,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2040,7 +2079,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2521,7 +2560,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2830,23 +2869,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3134,15 +3173,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4093,7 +4136,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4117,27 +4160,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4173,13 +4216,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4188,9 +4232,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4200,7 +4245,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4212,8 +4257,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4325,60 +4370,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4386,13 +4431,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4402,6 +4465,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4461,12 +4565,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4493,72 +4597,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4567,14 +4671,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4599,12 +4703,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4637,7 +4741,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4762,9 +4866,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4780,11 +4884,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4827,6 +4931,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4981,7 +5089,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5103,12 +5211,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5185,8 +5293,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5307,7 +5415,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5355,7 +5463,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5369,7 +5477,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5381,12 +5489,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5526,7 +5634,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5554,7 +5662,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5595,7 +5703,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5608,96 +5716,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5716,6 +5837,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5788,75 +5910,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5932,12 +6056,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6021,8 +6145,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6058,7 +6182,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6128,15 +6252,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6241,17 +6365,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6260,185 +6395,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6555,7 +6701,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6660,7 +6806,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6672,30 +6818,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6705,11 +6851,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -6973,7 +7119,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7183,7 +7329,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7193,7 +7339,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7227,16 +7373,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7304,7 +7459,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7490,7 +7645,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7830,8 +7985,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8747,59 +8902,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8811,13 +8970,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9055,6 +9230,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9621,7 +9800,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9667,81 +9846,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9903,7 +10082,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10414,13 +10593,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10454,8 +10633,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10474,13 +10653,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10579,7 +10758,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10627,12 +10806,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10727,40 +10906,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11628,6 +11807,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11663,12 +11843,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12242,12 +12422,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12299,6 +12479,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12313,6 +12494,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13189,7 +13371,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13233,7 +13415,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13243,66 +13425,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13315,32 +13501,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13349,30 +13535,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13477,7 +13663,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13975,7 +14161,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14120,15 +14306,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14136,27 +14322,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14164,38 +14350,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14336,7 +14528,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14379,34 +14572,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14455,12 +14648,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15373,10 +15566,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15394,7 +15583,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16362,20 +16551,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16408,18 +16597,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16794,83 +16983,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17146,32 +17485,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17285,46 +17624,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17346,13 +17685,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17445,7 +17784,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17484,138 +17823,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17626,56 +17965,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17717,73 +18056,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17791,134 +18141,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -17997,31 +18392,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18029,11 +18424,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18049,16 +18444,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18081,34 +18476,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18649,29 +19044,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19919,44 +20314,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19965,59 +20360,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20028,28 +20423,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20059,11 +20464,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20073,15 +20478,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20096,7 +20501,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20106,40 +20511,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20150,28 +20555,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20182,13 +20587,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20208,11 +20613,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20223,30 +20628,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20258,17 +20663,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20277,27 +20682,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20307,15 +20712,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20328,40 +20733,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20375,13 +20780,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20389,34 +20794,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20431,18 +20836,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20450,33 +20855,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20499,31 +20904,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20765,20 +21161,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20801,7 +21197,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20810,98 +21206,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20914,21 +21310,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21931,10 +22329,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22033,6 +22427,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22081,107 +22500,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22444,7 +22863,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/br.po b/src/calibre/translations/br.po index a3a12c004e..a3756c26ab 100644 --- a/src/calibre/translations/br.po +++ b/src/calibre/translations/br.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2011-08-13 04:22+0000\n" "Last-Translator: Denis \n" "Language-Team: Breton \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:09+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:24+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "Ne ra netra da vat" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "Ne ra netra da vat" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "Ne ra netra da vat" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "Ne ra netra da vat" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "Ne ra netra da vat" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "Ne ra netra da vat" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "Ne ra netra da vat" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -328,345 +328,345 @@ msgstr "" msgid "Set metadata from %s files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Ketal" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "Emzalc'h" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Barrenn ostilhoù" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "O klask" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Dibarzhioù boutin" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "Enporzhiañ/Ezporzhiañ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "Kempleshoc'h" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "Rannañ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Enlugelladoù" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Liesseurt" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -944,8 +944,8 @@ msgstr "" msgid "Disable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -955,11 +955,22 @@ msgstr "" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -971,26 +982,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1003,11 +1014,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Keleier" @@ -1015,14 +1026,14 @@ msgstr "Keleier" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1030,7 +1041,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1038,45 +1049,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1104,23 +1140,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1243,8 +1279,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "Katalog" @@ -1292,10 +1328,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1336,6 +1372,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1654,17 +1691,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1672,12 +1709,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1685,7 +1722,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1697,7 +1734,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1710,10 +1747,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1770,66 +1809,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1837,7 +1876,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1846,11 +1885,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1870,55 +1909,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2043,7 +2082,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2524,7 +2563,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2833,23 +2872,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3137,15 +3176,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4099,7 +4142,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4123,27 +4166,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4179,13 +4222,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4194,9 +4238,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4206,7 +4251,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4218,8 +4263,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4331,60 +4376,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4392,13 +4437,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4408,6 +4471,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4467,12 +4571,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4499,72 +4603,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4573,14 +4677,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4605,12 +4709,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4643,7 +4747,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4768,9 +4872,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4786,11 +4890,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4833,6 +4937,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4987,7 +5095,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5109,12 +5217,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5191,8 +5299,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5313,7 +5421,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5361,7 +5469,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5375,7 +5483,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5387,12 +5495,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5532,7 +5640,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5560,7 +5668,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5601,7 +5709,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5614,96 +5722,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5722,6 +5843,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5794,75 +5916,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5938,12 +6062,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6027,8 +6151,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6064,7 +6188,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6134,15 +6258,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6247,17 +6371,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6266,185 +6401,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6561,7 +6707,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6666,7 +6812,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6678,30 +6824,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6711,11 +6857,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -6979,7 +7125,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7189,7 +7335,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7199,7 +7345,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7233,16 +7379,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7310,7 +7465,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7496,7 +7651,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7836,8 +7991,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8753,59 +8908,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8817,13 +8976,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9061,6 +9236,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9627,7 +9806,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9673,81 +9852,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9909,7 +10088,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10420,13 +10599,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10460,8 +10639,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10480,13 +10659,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10585,7 +10764,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10633,12 +10812,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10733,40 +10912,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11634,6 +11813,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11669,12 +11849,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12248,12 +12428,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12305,6 +12485,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12319,6 +12500,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13195,7 +13377,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13239,7 +13421,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13249,66 +13431,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13321,32 +13507,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13355,30 +13541,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13483,7 +13669,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13981,7 +14167,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14126,15 +14312,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14142,27 +14328,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14170,38 +14356,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14342,7 +14534,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14385,34 +14578,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14461,12 +14654,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15379,10 +15572,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15400,7 +15589,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16368,20 +16557,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16414,18 +16603,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16800,83 +16989,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17152,32 +17491,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17291,46 +17630,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17352,13 +17691,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17451,7 +17790,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17490,138 +17829,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17632,56 +17971,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17723,73 +18062,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17797,134 +18147,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18003,31 +18398,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18035,11 +18430,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18055,16 +18450,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18087,34 +18482,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18655,29 +19050,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19925,44 +20320,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19971,59 +20366,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20034,28 +20429,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20065,11 +20470,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20079,15 +20484,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20102,7 +20507,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20112,40 +20517,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20156,28 +20561,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20188,13 +20593,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20214,11 +20619,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20229,30 +20634,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20264,17 +20669,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20283,27 +20688,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20313,15 +20718,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20334,40 +20739,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20381,13 +20786,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20395,34 +20800,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20437,18 +20842,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20456,33 +20861,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20505,31 +20910,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20771,20 +21167,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20807,7 +21203,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20816,98 +21212,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20920,21 +21316,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21937,10 +22335,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22039,6 +22433,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22087,107 +22506,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22450,7 +22869,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/bs.po b/src/calibre/translations/bs.po index c997bd40a5..298498efbe 100644 --- a/src/calibre/translations/bs.po +++ b/src/calibre/translations/bs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2012-01-02 13:31+0000\n" "Last-Translator: Kenan Dervišević \n" "Language-Team: Bosnian \n" @@ -16,24 +16,24 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:09+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:24+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "Ne radi apsolutno ništa" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -88,8 +88,8 @@ msgstr "Ne radi apsolutno ništa" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -100,9 +100,9 @@ msgstr "Ne radi apsolutno ništa" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -111,7 +111,7 @@ msgstr "Ne radi apsolutno ništa" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -124,7 +124,7 @@ msgstr "Ne radi apsolutno ništa" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -146,13 +146,13 @@ msgstr "Ne radi apsolutno ništa" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -161,33 +161,33 @@ msgstr "Ne radi apsolutno ništa" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -326,233 +326,233 @@ msgstr "" msgid "Set metadata from %s files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "Prikaži detalje o knjizi u odvojenom prozoru" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "Restartujte Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "Pošalji knjige na povezane uređaje" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "Pregledajte korisničko uputstvo za Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "Prilagodite Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "Jednostavno pronađite knjige slične trenutno označenoj knjizi" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "Izvršite prebacivanje i održavanje različitih Calibre biblioteka" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "Slučajan odabir knjige iz vaše Calibre biblioteke" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "Pretražite knjige drugih prodavača" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Izgled i osjećaj" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Interfejs" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "Prilagodite izgled i osjećaj prilikom korištenja Calibre interfejsa" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "Ponašanje" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "Promijeniti način funkcionisanja Calibrea" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Dodajte vlastite kolone" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "Dodajte/Uklonite vlastite kolone iz liste knjiga" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Alatna traka" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "Pretražujem" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "Prilagodite način pretrage knjiga u Calibreu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "Ulazne opcije" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Pretvaranje" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "Postavite specifične opcije pretvorbe za svaki ulazni format" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Uobičajene opcije" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "Postavite opcije pretvorbe koje su uobičajene za sve formate" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "Izlazne opcije" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "Postavite opcije pretvorbe koje su specifične za sve izlazne formate" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "Dodavanje knjiga" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "Uvoz/Izvoz" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Kontrolišite način na koji Calibre čita meta podatke iz datoteka prilikom " "dodavanja knjiga" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "Snimanje knjiga na disk" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -560,116 +560,116 @@ msgstr "" "Kontrolišite način na koji Calibre izvozi datoteke iz svoje baze podataka na " "disk prilikom korištenja opcije Sačuvaj na disk" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "Slanje knjiga na uređaje" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" "Kontrolišite način prijenosa datoteka iz Calibread na vaš čitač e-knjiga" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "Napredno" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "Razmjena" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Plugini" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Ostalo" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "Ostala napredna podešavanja" @@ -947,8 +947,8 @@ msgstr "" msgid "Disable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -958,11 +958,22 @@ msgstr "" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -974,26 +985,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1006,11 +1017,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Vijesti" @@ -1018,14 +1029,14 @@ msgstr "Vijesti" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1033,7 +1044,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1041,45 +1052,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1107,23 +1143,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1246,8 +1282,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "Katalog" @@ -1295,10 +1331,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1339,6 +1375,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1657,17 +1694,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1675,12 +1712,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "Prikaži preglede" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1688,7 +1725,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1700,7 +1737,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1713,10 +1750,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1773,66 +1812,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1840,7 +1879,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1849,11 +1888,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1873,55 +1912,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2046,7 +2085,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2527,7 +2566,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2836,23 +2875,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3140,15 +3179,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4099,7 +4142,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4123,27 +4166,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "Naslov" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4179,13 +4222,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4194,9 +4238,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4206,7 +4251,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4218,8 +4263,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4331,60 +4376,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4392,13 +4437,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4408,6 +4471,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4467,12 +4571,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4499,72 +4603,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "Sadržaj" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4573,14 +4677,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4605,12 +4709,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4643,7 +4747,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4768,9 +4872,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4786,11 +4890,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4833,6 +4937,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4987,7 +5095,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5110,12 +5218,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5192,8 +5300,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5314,7 +5422,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5362,7 +5470,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5376,7 +5484,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5388,12 +5496,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5533,7 +5641,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5561,7 +5669,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5602,7 +5710,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5615,96 +5723,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "Odabire biblioteku" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5723,6 +5844,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5795,75 +5917,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5939,12 +6063,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6028,8 +6152,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6065,7 +6189,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6135,15 +6259,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6248,17 +6372,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6267,185 +6402,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6562,7 +6708,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6667,7 +6813,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "Traži %s" @@ -6679,30 +6825,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6712,11 +6858,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "O nalaženju knjiga" @@ -6980,7 +7126,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7190,7 +7336,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7200,7 +7346,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7234,16 +7380,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7311,7 +7466,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7497,7 +7652,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7837,8 +7992,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8754,59 +8909,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "Se&rif porodica:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "&Sans porodica:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "&Monospace porodica:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "S&tandardni font:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8818,13 +8977,29 @@ msgstr "" msgid " px" msgstr " px" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "Veličina monospace &fonta:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9062,6 +9237,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9628,7 +9807,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9674,81 +9853,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9910,7 +10089,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10421,13 +10600,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10461,8 +10640,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10481,13 +10660,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10586,7 +10765,7 @@ msgstr "Link" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "Nema rezultata" @@ -10634,12 +10813,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10734,40 +10913,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11635,6 +11814,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11670,12 +11850,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12249,12 +12429,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12306,6 +12486,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12320,6 +12501,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13196,7 +13378,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13240,7 +13422,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13250,66 +13432,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13322,32 +13508,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13356,30 +13542,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13484,7 +13670,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13982,7 +14168,7 @@ msgid "Edit Metadata" msgstr "Uredi meta podatke" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14127,15 +14313,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14143,27 +14329,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14171,38 +14357,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14343,7 +14535,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14386,34 +14579,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14462,12 +14655,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15380,10 +15573,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15401,7 +15590,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16369,20 +16558,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "Nije moguće pokrenuti server sa sadržajem" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "Izvještaj greške:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "Izvještaj o pristupu:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16415,18 +16604,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16801,83 +16990,233 @@ msgstr "Vrati &početno" msgid "Apply any changes you made to this tweak" msgstr "Primijeni bilo kakve promjene napravljene u ovom prilagođavanju" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" +msgstr "Sačuvaj pretragu" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 msgid "Delete current search" msgstr "Obriši trenutnu pretragu" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 msgid "No search is selected" msgstr "Pretraga nije odabrana" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "Započni pretragu" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "Omogućite ili onemogućite označavanje u pretragama." -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "Sačuvane pretrage" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "Sačuvaj pretragu" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "Obriši sačuvanu pretragu" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "Upravljanje sačuvanim pretragama" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" -msgstr "*Trenutna pretraga" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" -msgstr "Ograniči na" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "(sve knjige)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " -msgstr " ili pretragu " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "({0} od {1})" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "({0} svih)" @@ -17153,32 +17492,32 @@ msgstr "Preuzmi..." msgid "Goto in store..." msgstr "Idi u trgovinu..." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "Prilagođavanje pretraga knjiga" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "Nismo pronašli knjige koje odgovaraju vašem upitu." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "Odaberite format za preuzimanje u vašu biblioteku." @@ -17294,48 +17633,48 @@ msgstr "Učitaj ponovo" msgid "%p%" msgstr "%p%" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "Pretrage" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "Preimenuj korisničku kategoriju" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" "Ne možete koristiti tačke u imenu prilikom preimenovanja korisničke " "kategorije" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "Ime %s već postoji" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "Duplo ime pretrage" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "Sačuvano ime pretrage %s već postoji." @@ -17357,13 +17696,13 @@ msgid "Manage Tags" msgstr "Upravljanje oznakama" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "Upravljanje korisničkim kategorijama" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "Upravljanje sačuvanim pretragama" @@ -17456,7 +17795,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "Poredaj po" @@ -17495,138 +17834,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "Preimenuj %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "Uredi sortiranje za %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "Uredi linkove za %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "Dodaj %s u korisničku kategoriju" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "Obriši pretragu %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "Traži sve osim %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "Dodaj podkategoriju u %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "Obriši korisničku kategoriju %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "Sakrij kategoriju %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "Prikaži kategoriju" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "Traži knjige u kategoriji %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "Traži knjige koje nisu u kategoriji %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "Konfiguracija %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "Prikaži sve kategorije" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17637,56 +17976,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17728,73 +18067,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17802,134 +18152,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18008,31 +18403,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "&Izvršite donaciju kako biste pomogli razvoj Calibrea" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "&Vrati" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "&Izbaci povezani uređaj" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "Zatvori Calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "Očisti trenutnu pretragu" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18040,11 +18435,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18060,16 +18455,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "Greška pri pretvaranju" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18092,34 +18487,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "Neuspjelo" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18660,29 +19055,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19930,44 +20325,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19976,59 +20371,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20039,28 +20434,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20070,11 +20475,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20084,15 +20489,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20107,7 +20512,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20117,40 +20522,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20161,28 +20566,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20193,13 +20598,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20219,11 +20624,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20234,30 +20639,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20269,17 +20674,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20288,27 +20693,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20318,15 +20723,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20339,40 +20744,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20386,13 +20791,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20400,34 +20805,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20442,18 +20847,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20461,33 +20866,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20510,31 +20915,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20776,20 +21172,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20812,7 +21208,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20821,98 +21217,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20925,21 +21321,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21942,10 +22340,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22044,6 +22438,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22092,107 +22511,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22455,7 +22874,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/ca.po b/src/calibre/translations/ca.po index d2b69223f8..bbadb72846 100644 --- a/src/calibre/translations/ca.po +++ b/src/calibre/translations/ca.po @@ -10,32 +10,32 @@ msgid "" msgstr "" "Project-Id-Version: ca\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" -"PO-Revision-Date: 2013-03-30 10:00+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" +"PO-Revision-Date: 2013-04-27 10:58+0000\n" "Last-Translator: Ferran Rius \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-31 05:16+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-28 04:34+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "No fa res" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -90,8 +90,8 @@ msgstr "No fa res" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -102,9 +102,9 @@ msgstr "No fa res" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -113,7 +113,7 @@ msgstr "No fa res" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -126,7 +126,7 @@ msgstr "No fa res" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -148,13 +148,13 @@ msgstr "No fa res" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -163,33 +163,33 @@ msgstr "No fa res" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -334,75 +334,75 @@ msgstr "Estableix les metadades dels fitxers %s" msgid "Set metadata from %s files" msgstr "Estableix les metadades des dels fitxers %s" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "Afegeix llibres al calibre o al dispositiu que hi hagi connectat" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "Obté anotacions des d'un Kindle connectat (experimental)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "Genera un catàleg de la biblioteca del calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "Converteix llibres a diversos formats de llibre electrònic" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "Ajustament fi dels llibres" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "Edita l'índex dels llibres" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "Suprimeix llibres del calibre o del dispositiu que hi hagi connectat" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "Edita les metadades dels llibres de la biblioteca del calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "Llegeix llibres de la biblioteca del calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "Baixa notícies des d'internet en format de llibre electrònic" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Mostra ràpidament una llista de llibres seleccionats" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "Exporta llibres des de la biblioteca del calibre al disc dur" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "Mostra els detalls del llibre en una finestra emergent a part" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "Reinicia el calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" "Obre la carpeta que conté els fitxers dels llibres de la biblioteca del " "calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "Envia llibres al dispositiu connectat" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" @@ -410,45 +410,45 @@ msgstr "" "Envia llibres per correu electrònic o per web i també connecta a iTunes o a " "fitxers de l'ordinador com si fossin dispositius" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "Explora el manual de l'usuari del calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "Personalitza el calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "Troba fàcilment llibres similars al seleccionat" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" "Canvia entre biblioteques del calibre diferents i fes-hi tasques de " "manteniment" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "Copia llibres des del dispositiu a la biblioteca del calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" "Edita les col·leccions en què es col·loquen els llibres al dispositiu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "Copia un llibre des d'una biblioteca del calibre a una altra" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" "Fes petits ajustaments al fitxers epub o htmlz de la biblioteca del calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" @@ -456,57 +456,57 @@ msgstr "" "Vés a la coincidència següent a o l'anterior en cercar a la biblioteca del " "caibre en mode realçat" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "Tria un llibre a l'atzar de la biblioteca del calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "Cerca llibres de diferents botigues de llibres" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "Aconsegueix connectors nous del calibre o actualitza els existents" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Aparença" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Interfície" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" "Ajusta l'aparença de la interfície del calibre per adaptar-la al vostre gust" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "Comportament" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "Canvia el comportament del calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Columnes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "Configura les columnes de la llista de llibres del calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Barra d'eines" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -514,68 +514,68 @@ msgstr "" "Personalitza les barres d'eines i els menús de context, canviant les accions " "que estaran disponibles" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "S'està cercant" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "Personalitza com funciona la cerca de llibres al calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "Opcions d'entrada" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Conversió" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" "Ajusta les opcions de conversió específiques per a cada format d'entrada" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Opcions comunes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "Ajusta les opcions de conversió comunes a tots els formats" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "Opcions de sortida" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" "Ajusta les opcions de conversió específiques de cada format de sortida" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "Addició de llibres" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "Importa/exporta" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Controla com el calibre llegeix les metadades dels arxius quan s'afegeixen " "llibres" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "Desa llibres al disc" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -583,50 +583,50 @@ msgstr "" "Controla com el calibre exporta fitxers de la seva base de dades al disc en " "utilitzar «Desa al disc»" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "Enviament de llibres als dispositius" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "Controla com el calibre envia fitxers al lector de llibres" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "Quadres de connexions de metadades" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "Canvia els camps de les metadades abans de desar/enviar" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "Funcions de plantilla" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "Avançat" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "Creeu les funcions de la vostra plantilla" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "Comparteix llibres per correu electrònic" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "Compartició" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -634,11 +634,11 @@ msgstr "" "Configura la compartició de llibres per correu electrònic. Es pot utilitzar " "per enviar notícies baixades als vostres dispositius" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "Comparteix en xarxa" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -646,20 +646,20 @@ msgstr "" "Configura el Servidor de Continguts que dona accés a la biblioteca a través " "d'internet des de qualsevol lloc i dispositiu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "Baixada de metadades" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "Control com el calibre baixa les metadades dels llibres de la xarxa" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "Dispositius ignorats" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." @@ -667,39 +667,39 @@ msgstr "" "Controla quins dispositius ha d'ignorar el calibre quan es connectin a " "l'ordinador." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Connectors" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" "Afegeix/suprimeix/personalitza diverses parts de les funcions del calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "Ajustaments" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" "Configura en detall el comportament del calibre en diversos contextos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "Teclat" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "Personalitza les dreceres de teclat del calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Miscel·lània" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "Configuració avançada" @@ -1013,8 +1013,8 @@ msgstr "Habilita el connector especificat" msgid "Disable the named plugin" msgstr "Inhabilita el connector especificat" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -1025,11 +1025,22 @@ msgid "Path to library too long. Must be less than %d characters." msgstr "" "El camí a la biblioteca és massa llarg. Ha de ser de menys de %d caràcters." -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "s'ha restaurat la preferència " + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "s'està creant una columna personalitzada " + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -1041,26 +1052,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "%(tt)sLa valoració mitjana és %(rating)3.1f" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "Inici" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "Targeta A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "Targeta B" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1073,11 +1084,11 @@ msgstr "Targeta B" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Notícies" @@ -1085,14 +1096,14 @@ msgstr "Notícies" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "activat" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "sí" @@ -1100,7 +1111,7 @@ msgstr "sí" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "no" @@ -1108,45 +1119,71 @@ msgstr "no" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "desactivat" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "avui" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "ahir" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "aquest mes" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "fa dies" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "Error de conversió de nombre: {0}" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "Error de conversió de data: {0}" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "Valor no numèric a la consulta: {0}" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "buit" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "en blanc" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "Consulta booleana no vàlida «{0}»" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" +"Format de consulta no vàlid per la la cerca separada per dos punts: {0}" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "S'ha detectat un grup de consulta recursiu: {0}" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1181,7 +1218,7 @@ msgstr "No s'ha trobat cap connector anomenat %s" msgid "Communicate with Android phones." msgstr "Comunica't amb telèfons Android" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" @@ -1189,7 +1226,7 @@ msgstr "" "Llista separada per comes de les carpetes de la memòria principal del " "dispositiu on s'enviaran els llibres. S'utilitzarà la primera que existeixi" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" @@ -1198,11 +1235,11 @@ msgstr "" "del dispositiu on s'enviaran els llibres. S'utilitzarà la primera que " "existeixi" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "Comunica't amb telèfons S60." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "Comunica't amb tauletes tàctils WebOS." @@ -1362,8 +1399,8 @@ msgstr "" "Feu clic a «Mostra detalls» per a la llista." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "Catàleg" @@ -1419,10 +1456,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1463,6 +1500,7 @@ msgstr "S'està afegint llibres al llistat de metadades del dispositiu..." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1801,17 +1839,17 @@ msgstr "" "portada separada. Útil si heu modificat la portada." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "Carrega portades en blanc i negre" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "Mostra els llibres caducats" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1822,12 +1860,12 @@ msgstr "" "i permet suprimir-los amb la nova lògica de supressió." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "Mostra les previsualitzacions" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1838,7 +1876,7 @@ msgstr "" "Habiliteu-ho si les voleu veure o suprimir." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "Mostra les recomanacions" @@ -1853,7 +1891,7 @@ msgstr "" "si les voleu veure o suprimir." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "Intenta donar compatibilitat a microprogramari més recent" @@ -1870,11 +1908,13 @@ msgstr "" "restaurant el Kobo a la configuració de fàbrica i en provar programari" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" "La versió de la base de dades del Kobo no és compatible - Vegeu els detalls" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1954,21 +1994,21 @@ msgstr "" "/>Progrés al capítol: %(chapter_progress)s%%
Realça: " "%(text)s
Notes: %(annotation)s

" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" "El Kobo Touch és permet prestatgeries des del microprogramari V2.0.0." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" "Especifiqueu una columna de tipus d'etiqueta per a la gestió automàtica" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "Creació de prestatgeries" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." @@ -1976,11 +2016,11 @@ msgstr "" "Crea prestatgeries noves al Kobo Touch si no n'hi ha. Només per al " "microprogramari V2.0.0 o posterior." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "Suprimeix les prestatgeries buides." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." @@ -1988,11 +2028,11 @@ msgstr "" "Suprimeix les prestatgeries buides del Kobo Touch després de sincronitzar. " "Només per al microprogramari V2.0.0 o posterior." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "Puja portades per als llibres" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." @@ -2000,11 +2040,11 @@ msgstr "" "Puja les imatges de portades des de la biblioteca del calibre en enviar " "llibres al dispositiu." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "Manté la relació s'aspecte de la portada" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." @@ -2012,7 +2052,7 @@ msgstr "" "En pujar portades, no canviïs la relació d'aspecte en ajustar-ne la mida per " "al dispositiu. Per a versions de microprogramari 2.3.1 i posteriors." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " @@ -2022,11 +2062,11 @@ msgstr "" "d'altres només són enllaços a la pàgina web per comprar. Habiliteu-ho si " "voleu veure-les o suprimir-les." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "Estableix la informació de la sèrie" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -2039,7 +2079,7 @@ msgstr "" "processat el llibre. Habiliteu-ho si voleu establir la informació de la " "sèrie." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -2054,11 +2094,11 @@ msgstr "" "programari. Aquest controlador és compatible amb el microprogramari V2.x.x i " "DBVersion fins a " -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "Títol que es provarà en la depuració" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -2081,55 +2121,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "Comunica't amb un Sweex/Kogan/Q600/Wink" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "Comunica't amb un Pandigital Novel" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "Comunica't amb un VelocityMicro" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "Comunica't amb un GM2000" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "Comunica't amb l'Acer Lumiread." -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "Comunica't amb un Aluratek Color" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "Comunica't amb un Trekstor" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "Comunica't amb un EEE Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "Comunica't amb una tauleta tàctil Adam" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "Comunica't amb un Nextbook Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "Comunica't amb un lector Moovybook" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "Comunica't amb el COBY" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "Comunica't amb l'Ex124G" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "Comunica't amb les lectors WayteQ i SPC Dickens" @@ -2257,7 +2297,7 @@ msgstr "El Nook" msgid "Communicate with the Nook eBook reader." msgstr "Comunica't amb un lector Nook." -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "Comunica't amb un lector Nook Color, TSR o Tablet." @@ -2821,7 +2861,7 @@ msgid "There is insufficient free space on the storage card" msgstr "No hi ha espai lliure suficient a la targeta de memòria" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "%s renderitzat" @@ -3237,12 +3277,12 @@ msgstr "" "segur de què esteu fent ja que pot causar efectes desagradables no desitjats " "a la resta de la canal de conversió." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" "Fitxer CSS que es farà servir per a la sortida en lloc del fitxer per defecte" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" @@ -3250,7 +3290,7 @@ msgstr "" "Plantilla que es fa servir per generar l'índex html en lloc del fitxer per " "defecte" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" @@ -3258,7 +3298,7 @@ msgstr "" "Plantilla que es fa servir per generar els continguts html del llibre en " "lloc del fitxer per defecte" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3619,20 +3659,23 @@ msgstr "" "d'aquesta opció." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." msgstr "" -"Una plantilla HTML utilitzada per generar peus de pàgina a cada pàgina. Es " -"substituirà la cadena _PAGENUM_ pel nombre de pàgina actual." +"Una plantilla HTLM utilitzada per generar %s a cada pàgina. Es reemplaçarà " +"les cadenes _PAGENUM_, _TITLE_, _AUTHOR_ and _SECTION_ pels seus valors " +"actuals." + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" +msgstr "peus de pàgina" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." -msgstr "" -"Una plantilla HTML utilitzada per generar encapçalaments de pàgina a cada " -"pàgina. Es substituirà la cadena _PAGENUM_ pel nombre de pàgina actual." +msgid "headers" +msgstr "encapçalaments" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 msgid "" @@ -4877,7 +4920,7 @@ msgstr "" msgid "Set book ID" msgstr "Indiqueu l'ID (identificador) del llibre" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4903,27 +4946,27 @@ msgstr "No" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "Tí­tol" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "Autor(s)" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "Editorial" @@ -4959,13 +5002,14 @@ msgstr "Comentaris" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "Etiquetes" @@ -4974,9 +5018,10 @@ msgstr "Etiquetes" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4986,7 +5031,7 @@ msgstr[0] "Sèrie" msgstr[1] "Sèries" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4998,8 +5043,8 @@ msgstr "Marca horària" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "Publicat" @@ -5137,61 +5182,61 @@ msgstr "" "Obté una imatge de portada o bé metadades socials per al llibre identificat " "amb ISBN des de LibraryThing.com\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "Portada" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "Baixa les metadades i les portades des d'Amazon" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "Estats Units" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "França" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "Alemanya" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "Regne Unit" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "Itàlia" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "Japó" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "Espanya" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "Brasil" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "Portal de Amazon que s'utilitzarà:" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" "S'obtindrà les metadades d'Amazon del lloc web d'Amazon d'aquest país." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "El temps d'espera d'Amazon s'ha esgotat. Intenteu-ho més tard." @@ -5199,6 +5244,27 @@ msgstr "El temps d'espera d'Amazon s'ha esgotat. Intenteu-ho més tard." msgid "Metadata source" msgstr "Font de les metadades" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" +"Baixa múltiples portades de llibre des d'Amazon. Útil per trobar portades " +"alternatives." + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "Configuració del connector Big Book Search" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "Nombre màxim de portades que s'obtindran" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" +"El nombre màxim de portades del resultat de la cerca que es processaran" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " @@ -5207,7 +5273,7 @@ msgstr "" "Descarrega metadades i portades de Douban.com. Només és útil per a llibres " "en xinès." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -5219,6 +5285,51 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "Baixa les metadades i les portades des de Google Books" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" +"Baixa portades d'una cerca a Imatges de Google. Útil per trobar portades " +"alternatives o més grans." + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "Configuració del connector de Cerca d'Imatges de Google" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" +"El nombre màxim de portades que es processaran del resultat de la cerca de " +"Google" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "Mida de la portada" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "Cerca portades més grans que la mida especificada" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "Qualsevol mida" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "Gran" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "Més gran que %s" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "Baixa les metadades des d'isbndb.com" @@ -5293,12 +5404,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "Aquest és un llibre Amazon Topaz. No es pot processar" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "No és un fitxer MOBI, és un fitxer Topaz." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "No és un fitxer MOBI." @@ -5331,72 +5442,72 @@ msgid "No details available" msgstr "No es disposa de detalls" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "Índex" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "Pàgina del títol" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "Índex" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "Glossari" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "Agraïments" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "Bibliografia" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "Colofó" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "Drets d'autor" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "Dedicatòria" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "Epígraf" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "Prefaci" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "Índex d'il·lustracions" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "Índex de taules" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "Anotacions" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "Pròleg" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "Text principal" @@ -5405,7 +5516,7 @@ msgstr "Text principal" msgid "%s format books are not supported" msgstr "El format de llibre %s no és compatible" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " @@ -5415,7 +5526,7 @@ msgstr "" "d'Amazon. El calibre només pot editar fitxers MOBI que contenen llibres KF8. " "No es pot editar els fitxers MOBI antics sense KF8." -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -5442,28 +5553,30 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" -"

Polit de llibres us permet aconseguir un toc de perfecció als " -"llibres\n" -"que heu creat tant acuradament.

\n" +"

Polir llibres consisteix en posar la cirereta al pastís de la " +"perfecció als\n" +"llibres que heu creat amb tanta cura.

\n" "\n" -"

El polit intenta minimitzar els canvis al codi intern del vostre llibre.\n" -"A diferència de la conversió no aplana el CSS, reanomena fitxers, " -"canvia\n" -"mides de lletra, ajusta marges... Cada acció fa només el mínim de canvis " -"que\n" -"cal per aconseguir l'efecte desitjat.

\n" +"

En polir s'intenta minimitzar els canvis al codi intern del llibre. A " +"diferència de\n" +"la conversió no aplana el CSS, reanomena fitxers canvia les mides de " +"lletra,\n" +"ajusta marges... Cada acció fa els canvis mínims necessaris per a l'efecte " +"desitjat.

\n" "\n" -"

Hauríeu d'utilitzar aquesta eina com al darrer pas del procés de creació\n" -"d'un llibre.

\n" -"\n" -"

Tingueu en compte que el polit només funciona en fitxers dels formats " -"%s.

\n" +"

Hauríeu d'utilitzar aquesta eina com al darrer pas del procés de creació " +"del\n" +"vostre llibre.

\n" +"{0}\n" +"

Tingueu en compte que el polit de llibres només funciona en llibres en " +"els\n" +"formats %s." #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -5512,11 +5625,11 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" -"

Insereix una pàgina de «sobrecoberta» al començament del llibre\n" -"que conté totes les metadades com el títol, etiquetes, autors, sèrie,\n" -"comentaris...

" +"

Inserció d'una pàgina de «sobrecoberta» al començament del llibre\n" +"que en contingui totes les metadades com el títol, etiquetes, autors,\n" +"sèrie, comentaris... Es reemplaçarà qualsevol sobrecoberta anterior.

" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 msgid "

Remove a previous inserted book jacket page.

\n" @@ -5652,9 +5765,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "No hi ha cap àncora %(a)s al fitxer %(f)s" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "(Sense títol)" @@ -5670,11 +5783,11 @@ msgid "HTML TOC generation options." msgstr "Opcions de generació de l'index HTML." #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "Valoració" @@ -5721,6 +5834,10 @@ msgstr "Pàgina %d" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "No es troba pdftohtml, comproveu que està al PATH" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "Sense títol" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5894,7 +6011,7 @@ msgid "Show this confirmation again" msgstr "Mostra un altre cop aquesta informació" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "Cal reiniciar" @@ -6022,12 +6139,12 @@ msgstr "Control de l'addició de llibres" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -6109,8 +6226,8 @@ msgstr "Afegeix a la biblioteca" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -6235,7 +6352,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "Seleccioneu la destinació de %(title)s.%(fmt)s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -6286,7 +6403,7 @@ msgid "No existing calibre library found at %s" msgstr "No hi ha cap biblioteca del calibre a %s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "Trieu la biblioteca" @@ -6300,7 +6417,7 @@ msgstr "Canvia/crea una biblioteca" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -6312,12 +6429,12 @@ msgid "Pick a random book" msgstr "Agafa un llibre a l'atzar" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "Canvi ràpid" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "Canvia el nom de la biblioteca" @@ -6473,7 +6590,7 @@ msgstr "" "la informació de la base de dades?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -6504,7 +6621,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -6549,7 +6666,7 @@ msgstr "" "aproximada d'un llibre cada tres segons." #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "No es pot convertir" @@ -6563,89 +6680,103 @@ msgid "Empty output file, probably the conversion process crashed" msgstr "" "Fitxer de sortida buit, probablement el procés de conversió ha fallat" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "%(title)s per %(author)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "Tria la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "&Camí a la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "Cerca una biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" -msgstr "Suprimeix &després de copiar" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" +msgstr "&Copia" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "Copia a la biblioteca especificada" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "&Mou" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" +"Copia a la biblioteca especificada i suprimeix de la biblioteca actual" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "Copia a la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "Copia els llibres seleccionats a la biblioteca que s'indica" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "(suprimeix després de copiar)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "Tria la biblioteca pel camí..." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "No es pot copiar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "No es pot copiar a la biblioteca actual." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "No hi ha biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "No s'ha trobat cap biblioteca a %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "S'està copiant a" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "S'està desplaçant a" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "%(num)d llibres copiats a %(loc)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "S'ha desplaçat %(num)d llibres a %(loc)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "No s'ha pogut copiar els llibres: " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "Fusió automàtica" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " @@ -6656,7 +6787,7 @@ msgstr "" "comportament està controlat per l'opció «Fusió automàtica» a «Preferències-" ">Addició de llibres»." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -6677,6 +6808,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "N'esteu segur?" @@ -6756,11 +6888,11 @@ msgid "" msgstr "" "Se suprimirà permanentement el format %(fmt)s de %(title)s. Segur?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "Trieu els formats s'ha de suprimir" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." @@ -6768,7 +6900,7 @@ msgstr "" "Trieu els formats que no se suprimiran.

Fixeu-vos que això no " "suprimirà mai tots els formats d'un llibre." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" @@ -6776,44 +6908,44 @@ msgstr "" "Se suprimirà tots els formats dels llibres llibres seleccionats de la " "biblioteca.
Les metadades dels llibres es conservaran. N'esteu segur?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "No es pot suprimir els llibres" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "No hi ha cap dispositiu connectat" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "Memòria principal" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "Targeta de memòria A" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "Targeta de memòria B" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "No hi ha cap llibre per suprimir" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "Cap dels llibres seleccionats són al dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "S'està suprimint llibres del dispositiu." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" @@ -6821,21 +6953,23 @@ msgstr "" "Alguns dels llibres seleccionats són al dispositiu connectat. D'on " "voleu que se suprimeixin els fitxers seleccionats?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -"Els llibres seleccionats se suprimiran permanentment i els fitxers es " -"trauran de la biblioteca del calibre. N'esteu segur?" +"Els %d llibre(s) seleccionat(s) se suprimiran permanentment i els " +"fitxers s'eliminaran de la biblioteca del calibre. N'esteu segur?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" -"Els llibres seleccionats se suprimiran permanentment del dispositiu. " -"N'esteu segur?" +"Els %d llibre(s) seleccionat(s) se suprimiran permanentment del " +"dispositiu. N'esteu segur?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 msgid "Start wireless device connection" @@ -6912,12 +7046,12 @@ msgstr "" "Connecta a dispositius especials..." #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "S'està aturant" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "S'està aturant el servidor, pot trigar fins a un minut, espereu..." @@ -7005,8 +7139,8 @@ msgstr "No s'ha pogut baixar les metadades" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "No s'ha pogut baixar" @@ -7049,7 +7183,7 @@ msgid "Download complete" msgstr "S'ha acabat la baixada" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "Registre de baixades" @@ -7145,15 +7279,15 @@ msgstr "" "duplicats del segon i del següents llibres seleccionats de la biblioteca del " "calibre.

Esteu segur que voleu continuar?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "S'està aplicant les metadades canviades" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "Alguns errors" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -7261,17 +7395,33 @@ msgstr "Poleix %d llibres" msgid "

About Polishing books

%s" msgstr "

Quant al polit de llibres

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" +"

Si teniu EPUB i ORIGINAL_EPUB al llibre,\n" +" el polit s'executarà a ORIGINAL_EPUB (el mateix amb\n" +" els altres formats ORIGINAL_*). Si no voleu que el\n" +" polit s'executi en el format ORIGINAL_*, suprimiu el\n" +" format ORIGINAL_* abans d'executar-lo.

" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "

Subconjunts de tipus de lletra

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "

Embelleix la puntuació

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -7286,7 +7436,7 @@ msgstr "" "metadades del calibre.

Hi ha una opció per separat per actualitzar la " "portada.

" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " @@ -7296,172 +7446,186 @@ msgstr "" "portada actual de la biblioteca del calibre.

Si el fitxer de llibre no " "té una portada identificable, s'insereix una portada nova.

" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "

Sobrecoberta de metadades

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "

Suprimeix la sobrecoberta de metadades

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "Selecció de les accions a realitzar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "Crea &subconjunts de tots els tipus de lletra incrustats" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "Embelleix la &puntuació" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "Actualitza les metadades als fitxers de llibre" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "Actualitza la &portada als fitxers de llibre" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "Afegeix les metadades com a pàgina de «sobre&coberta»" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "&Suprimeix una sobrecoberta inserida prèviament" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "Quant a" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "Mostra l'info&rme" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" "Mostra un informe de totes les accions realitzades després d'acabar el polit" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "De&sa la configuració" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "Carrega &la configuració" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "Selecciona'ls &tots" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "No en seleccionis &cap" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "No s'ha seleccionat cap acció" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "Heu de seleccionar almenys una acció abans de desar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "Tria de nom" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "Trieu un nom per a aquesta configuració" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "Suprimeix els paràmetres desats" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "Cal actualitzar les metadades" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" +"Heu seleccionat l'opció d'afegir les metadades com a «sobrecoberta». Per tal " +"que funcioni l'opció també heu de seleccionar l'opció d'actualitzar les " +"metadades als fitxers de llibre. Voleu seleccionar-la?" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "Heu de seleccionar almenys una acció o fer clic a «Cancel·la»." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "S'està posant els llibres per polir a la cua" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "Poleix %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "S'està polint el llibre %(nums)s de %(tot)s (%(title)s)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "S'està posant a la cua el llibre %(nums)s de %(tot)s (%(title)s)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "Ignora els %d informes que resten" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "Visua&litza el registre complet" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "S'està polint %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "El fitxer original s'ha desat com a %s." msgstr[1] "Els fitxers originals s'han desat com a %s." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr " i " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "Si torneu a polir, el polit es farà en els originals." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "Polit de llibres" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "Aplica un toc de perfecció als llibres" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "P" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "No s'ha pogut polir" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " @@ -7470,7 +7634,7 @@ msgstr "" "Només es pot polir llibres en els formats %s. Convertiu-lo a una d'aquests " "formats abans de polir-lo." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "Inicia el polit de %d llibre(s)" @@ -7590,7 +7754,7 @@ msgid "Click the show details button to see which ones." msgstr "Feu clic a «Mostra detalls» per saber quins són." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "Mostra detalls del llibre" @@ -7698,7 +7862,7 @@ msgid "this book" msgstr "aquest llibre" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "Cerca %s" @@ -7710,17 +7874,17 @@ msgstr "Botigues" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "Tria botigues" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "No es pot cercar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." @@ -7728,7 +7892,7 @@ msgstr "" "El calibre us ajuda a trobar els llibres que voleu cercant als llocs web de " "diferents fonts de llibres comercials i de domini públic." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " @@ -7738,7 +7902,7 @@ msgstr "" "llibre que s'està buscant, al millor preu. També podeu saber l'estat DRM i " "d'altra informació útil." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -7754,11 +7918,11 @@ msgstr "" "lector, especialment si el llibre té DRM." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "Torna a mostrar aquest missatge" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "Quant a Get Books" @@ -8059,7 +8223,7 @@ msgid "The specified directory could not be processed." msgstr "La carpeta que s'ha indicat no es pot processar." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "Cap llibre" @@ -8288,7 +8452,7 @@ msgid "Click to open" msgstr "Feu clic per obrir" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "Identificadors" @@ -8298,7 +8462,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "Llibre %(sidx)s de %(series)s" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "Col·leccions" @@ -8332,16 +8496,25 @@ msgstr "Camí" msgid "Cover size: %(width)d x %(height)d" msgstr "Mida de la portada: %(width)d×%(height)d" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "&Copia l'enllaç" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "Suprimeix el format %s" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "Desa el format %s al disc" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "Restaura el format %s" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "Opcions de BibTeX" @@ -8409,7 +8582,7 @@ msgstr "sortida" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -8603,7 +8776,7 @@ msgstr "Cert" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "Nom" @@ -8967,8 +9140,8 @@ msgid "Style the selected text block" msgstr "Aplica un estil al bloc de text seleccionat" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "Normal" @@ -9945,7 +10118,7 @@ msgstr "&Sense imatges" msgid "PDF Output" msgstr "Sortida PDF" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " @@ -9955,52 +10128,56 @@ msgstr "" "s'apliquen si habiliteu la casella de selecció «Substitueix». En cas " "contrari s'utilitza la mida del perfil de sortida." -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "&Substitueix la mida de la pàgina establert al perfil de sortida" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "Mida del &full:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "Mida &personalitzada:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "&Unitat:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "Conserva la relació d'&aspecte de la portada" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "Afegeix &nombres de pàgina al peu de cada pàgina." + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "Família Se&rif:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "Família &Sans:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "Família &Monoespai" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "Tipus de lletra es&tàndard:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "Mida de lletra per de&fecte:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -10012,14 +10189,34 @@ msgstr "Mida de lletra per de&fecte:" msgid " px" msgstr " Pí­xels" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "Mida del &tipus de lletra Monoespai:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" -msgstr "Afegeix &nombres de pàgina al peu de cada pàgina." +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "Encapçalaments i peus de pàgina" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" +"Si utilitzeu plantilles d'encapçalament i peu de pàgina podeu inserir " +"encapçalaments i peus de pàgina a cada pàgina del fitxer PDF obtingut. Per a " +"exemples vegeu la documentació." + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "Plantilla d'&encapçalament:" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" +msgstr "Plantilla de &peu de pàgina:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 msgid "PMLZ Output" @@ -10279,6 +10476,10 @@ msgstr "" "amb una expressió feu clic al botó «Afegeix» per afegir-la a la llista " "d'expressions." +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "Restaura els pre&determinats" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "Conversió" @@ -10874,7 +11075,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "S'ha detectat un %s. Voleu que el calibre el gestioni?" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "No hi ha formats adequats" @@ -10924,68 +11125,68 @@ msgstr "Dispositiu: " msgid " detected." msgstr " detectat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "seleccionat per enviar" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "No hi ha cap dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "No hi ha cap dispositiu connectat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "%(num)i de %(total)i llibres" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "0 de %i llibres" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "Tria el format que s'enviarà al dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "No s'ha pogut enviar: no hi ha cap dispositiu connectat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "Sense targeta" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "No s'ha pogut enviar: el dispositiu no té targeta de memòria" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" "S'ha de convertir automàticament aquests llibres abans de carregar-los al " "dispositiu?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "S'estan enviant els catàlegs al dispositiu." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "S'estan enviant les notícies al dispositiu." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "S'estan enviant els llibres al dispositiu." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." @@ -10994,16 +11195,16 @@ msgstr "" "un format adequat. Convertiu primer el(s) llibre(s) a un format compatible " "amb el vostre dispositiu." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "No hi ha espai al dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "

No es pot desar llibres al dispositiu perquè no hi ha prou espai " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "Destinació incorrecta" @@ -11187,7 +11388,7 @@ msgstr "Mostra la informació del dispositiu" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -11830,13 +12031,13 @@ msgid "Where do you want to delete from?" msgstr "D'on voleu suprimir?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "Biblioteca" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "Dispositiu" @@ -11872,8 +12073,8 @@ msgid "Location" msgstr "Ubicació" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -11892,13 +12093,13 @@ msgstr "%(curr)s (era %(initial)s)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "L'element està en blanc" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "No es pot deixar un element en blanc. En tot cas l'heu d'esborrar." @@ -12008,7 +12209,7 @@ msgstr "Enllaça" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "No s'han trobat coincidències" @@ -12056,12 +12257,12 @@ msgid "Copy to author" msgstr "Copia a autor" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "El nom de l'autor no és vàlid" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "Els noms d'autor no poden contenir caràcters &." @@ -12163,40 +12364,40 @@ msgstr "&Oculta totes les tasques" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "&Copia al porta-retalls" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "Mostra els &detalls" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "Oculta els &detalls" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "Mostra informació detallada quant a aquest error" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "Copiat" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "Mostra el registre" @@ -13165,6 +13366,7 @@ msgstr "S'està interrompent..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -13204,12 +13406,12 @@ msgstr "Elements" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "Cerca" @@ -13875,12 +14077,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "El port ha de ser un nombre entre 8000 i 32000." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "Hi ha hagut un problema en iniciar el dispositiu sense fils" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "No s'ha iniciat el dispositiu sense fils. El missatge és «%s»" @@ -13940,6 +14142,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "Permet connexions &automàticament a l'inici del calibre" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "Editorial" @@ -13954,6 +14157,7 @@ msgstr "Nom de la cerca de categoria: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "El nom no és vàlid" @@ -14872,7 +15076,7 @@ msgid "&Shortcut:" msgstr "&Drecera:" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "Acabat" @@ -14917,7 +15121,7 @@ msgstr "Cerca una drecera pel nom" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "Cap coincidència" @@ -14927,48 +15131,52 @@ msgstr "Cap coincidència" msgid "Could not find any shortcuts matching %s" msgstr "No s'ha trobat cap drecera que coincideixi amb %s" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "Expulsa el dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "Configureu aquest dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "Mostra els llibres de la biblioteca del calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "Mostra els llibres de la memòria principal del dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "Mostra els llibres de la targeta de memòria A" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "Mostra els llibres de la targeta de memòria B" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "Esborra la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "disponible" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "Biblioteca virtual" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "Cerca avançada" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "Maj+Ctrl+F" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" @@ -14977,19 +15185,19 @@ msgstr "" "comentaris...

Es cerquen totes les paraules que es posen separades " "per espais" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "Enda&vant!" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "Cerca ràpida (també podeu prémer la tecla de retorn)" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "Reinicia la cerca ràpida" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "Copia el text de cerca (en lloc del nom de la cerca)" @@ -15002,32 +15210,32 @@ msgstr "estrelles" msgid "Y" msgstr "S" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "Al dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "Mida (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "Modificat" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "El nom de la cerca és «{0}»" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "L'UUID del llibre és «{0}»" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -15038,32 +15246,32 @@ msgstr "" "No s'ha pogut canviar la localització al disc d'aquest llibre. El té obert " "un altre programa?" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "No s'ha pogut establir les dades" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" "No s'ha pogut establir les dades, feu clic a «Mostra detalls» per veure " "perquè." -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "A la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "Mida" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "S'ha marcat per suprimir" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "Feu doble clic per a edittar>/b>
-me" @@ -15170,7 +15378,7 @@ msgid "Previous Page" msgstr "Pàgina anterior" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -15713,7 +15921,7 @@ msgid "Edit Metadata" msgstr "Edició de metadades" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -15870,15 +16078,15 @@ msgstr "&Comentaris" msgid "Basic metadata" msgstr "Metadades bàsiques" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "Té portada" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "Té resum" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -15891,29 +16099,29 @@ msgstr "" "troba una portada a la fase de baixada de\n" "portades i a l'inrevés." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "Vegeu a" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "El calibre està baixant les metadades des de: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "Espereu" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "Consulta: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" "No s'ha pogut baixar les metadades. Feu clic a «Mostra detalls» per a més " "informació" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -15925,42 +16133,48 @@ msgstr "" "l'autor i una sola paraula per identificar el títol.

Feu clic a «Mostra " "detalls» per veure tot el registre." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "Portada actual" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "S'està cercant..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "Visualitza la portada a mida completa" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "S'està baixant portades per a %s, espereu..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" "No s'ha pogut baixar cap portada. Feu clic a «Mostra detalls» per a més " "informació." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "No s'ha trobat cap portada per a %s" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -"S'ha trobat %(num)d portades per a %(title)s. Trieu la que us agradi " -"més." +"S'ha trobat %(num)d portades possibles per a %(title)s. Quan s'acabin " +"de baixar s'ordenaran les portades per mida." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "Descàrrega de les metadades..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "Baixada de la portada..." @@ -16148,9 +16362,11 @@ msgid "The Add &Process" msgstr "Procés d'addició" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" -"En afegir automàticament ignora els fitxers amb les extensions següents " +"En afegir automàticament, ignora els fitxers amb les extensions " +"següents " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 msgid "" @@ -16201,34 +16417,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "&Addició automàtica" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "Alt" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "Baix" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "Molt baix" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "Compacta la metadades" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "Per defecte" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "Tot en una pestanya" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "S'ha reinicialitzat tot els diàlegs de confirmació" @@ -16285,18 +16501,18 @@ msgid "Job &priority:" msgstr "&Prioritat de les tasques:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" -msgstr "Restriccions que s'aplicaran quan la biblioteca actual s'obri:" +msgid "Virtual library to apply when the current library is opened:" +msgstr "Biblioteca virtual que s'aplicarà en obrir la biblioteca actual:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" -"Aplica aquesta restricció a l'inici del calibre si s'està fent servir la " -"biblioteca actual. També s'aplica si es canvia a aquesta biblioteca. Tingueu " -"en compte que aquest paràmetre és per a cada biblioteca. " +"Utilitza aquesta biblioteca virtual a l'inici del calibre si s'està " +"utilitzant la biblioteca actual. També s'aplica en canviar a aquesta " +"biblioteca. Tingueu en compte que aquest paràmetre és per a cada biblioteca. " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170 msgid "Edit metadata (single) layout:" @@ -17336,10 +17552,6 @@ msgstr "Desactivat" msgid "Small" msgstr "Petita" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "Gran" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "Mitjana" @@ -17357,7 +17569,7 @@ msgid "Never" msgstr "Mai" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "Per inicial" @@ -18505,20 +18717,20 @@ msgstr "" "pot substituir personalitzant els connectors d'interfície de dispositiu a " "Preferències->Avançat->Connectors" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "No s'ha pogut iniciar el servidor de continguts" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "Registre d'error:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "Registre d'accés:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "Heu de reiniciar el servidor per tal que els canvis s'apliquin" @@ -18559,23 +18771,23 @@ msgid "Max. &OPDS items per query:" msgstr "Número màxim d'elements &OPDS per consulta:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" -msgstr "Número màxim d'elements OPDS sense agr&upar:" +msgid "Max. &ungrouped items:" +msgstr "Màxim d'elements desa&grupats:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" -msgstr "Restricció (cerca desada) que s'aplicarà:" +msgid "Virtual library to apply:" +msgstr "Biblioteca virtual que s'aplicarà:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" -"Aquesta restricció (basada en un cerca desada) fa que el servidor de " -"contingut només deixi disponibles els llibres que coincideixen amb la cerca. " -"Aquest paràmetre és independent per a cada biblioteca (és a dir, podeu tenir " -"restriccions diferents per a cada biblioteca)." +"En establir una biblioteca virtual es restringeixen els llibres que el " +"servidor de continguts ofereix als de la biblioteca. Aquest paràmetre és per " +"a cada biblioteca (és a dir, podeu tenir un valor diferent a cada " +"biblioteca)." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 msgid "" @@ -19055,41 +19267,51 @@ msgstr "Restaura els valors per &defecte" msgid "Apply any changes you made to this tweak" msgstr "Aplica els canvis que s'ha fet a l'ajustament" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" +msgstr "Crea una cerca per desar" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" +msgstr "No hi ha cap cerca per desar" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 msgid "Delete current search" msgstr "Suprimeix la cerca actual" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 msgid "No search is selected" msgstr "No s'ha seleccionat cap cerca" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" "La cerca seleccionada se suprimirà permanentmentVirtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" +"\n" +"

Biblioteques virtuals

\n" +"\n" +"

Amb les biblioteques virtuals podeu fer que el calibre " +"només mostri els llibres que\n" +" coincideixen amb una cerca. Quan una biblioteca virtual està " +"activa, el calibre es comporta\n" +" com si la biblioteca comés contingués els llibres que " +"coincideixen. El navegador d'etiquetes\n" +" només mostra les etiquetes/autors/sèrie/... que corresponen als " +"llibres coincidents i qualsevol\n" +" cerca que feu només cercarà entre els llibres de la biblioteca " +"virtual. És una bona manera de\n" +" dividir una biblioteca gran en subgrups més petits i " +"manejables.

\n" +"\n" +"

Per exemple, podeu utilitzar una biblioteca virtual per " +"mostrar només els llibres amb l'etiqueta\n" +" «No llegit» o les d'«el meu autor preferit» o " +"només els s'una sèrie concreta.

\n" +" " + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "Cerques desades reconegudes a l'expressió:" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "Ha canviat el text de cerca" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" +"El nom de la biblioteca virtual o el text de cerca ha canviat. Voleu " +"descartar els canvis?" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "Sense nom" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "Heu de donar un nom per a la nova biblioteca virtual" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "Un nom de biblioteca virtual no pot començar per «*»" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "El nom ja està en ús" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "El nom ja està en ús. Voleu reemplaçar-lo amb el de la nova cerca?" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "No hi ha cadena de cerca" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "Heu d'introduir una cerca per definir la nova biblioteca virtual" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "Cerca no vàlida" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "La cerca del quadre de cerca no és vàlida" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "La cerca no ha trobat cap llibre" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" +"La cerca no ha trobat cap llibre, per tant la biblioteca virtual estarà " +"buida. Segur que voleu utilitzar aquesta cerca?" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" +"Utilitzeu una «biblioteca virtual» per mostrar només un subgrup dels llibres " +"que hi ha a la biblioteca" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "(tots els llibres)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" -msgstr "" -"Només és mostraran els llibres que coincideixin amb la cerca desada " -"seleccionada" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" +msgstr "Restricció addicional" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " -msgstr " o la cerca " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" +msgstr "Edita la biblioteca virtual" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "Suprimeix la biblioteca virtual" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "Crea una biblioteca virtual" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "*cerca actual" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "Cap cerca" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "No hi ha cap cerca actual per utilitzar" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "Esteu segur que voleu suprimir la biblioteca virtual {0}?" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "({0} de {1})" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "({0} de tots)" @@ -19438,34 +19825,34 @@ msgstr "Baixada..." msgid "Goto in store..." msgstr "Vés a la botiga..." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" "Si compreu en aquesta botiga doneu suport al desenvolupador del calibre: " "%s

" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "No hi ha cap consulta" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "Heu d'introduir el títol, autor o paraula clau que s'ha de cercar." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "Personalitza la cerca d'aconseguir llibres" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "Configura la cerca" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "No s'ha trobat cap llibre que coincideixi amb la consulta" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "Trieu un format per baixar a la biblioteca" @@ -19589,52 +19976,52 @@ msgstr "Torna a carregar" msgid "%p%" msgstr "%p%" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "El nom del terme de cerca agrupada és «{0}»" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" "El canvi dels autors de diversos llibres pot trigar una estona. N'esteu " "segur?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" "El canvi de les metadadades de tots aquests llibres pot trigar una estona. " "N'esteu segur?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "Cerques" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "Canvia el nom a la categoria d'usuari" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" "No es pot utilitzar punts al nom quan s'està canviant el nom de categories " "d'usuari" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "El nom %s ja s'està utilitzant" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "El nom de la cerca està duplicat" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "El nom de cerca %s ja existeix." @@ -19656,13 +20043,13 @@ msgid "Manage Tags" msgstr "Gestiona les etiquetes" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "Gestiona les categories d'usuari" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "Gestiona les cerques desades" @@ -19764,7 +20151,7 @@ msgid "Alter Tag Browser" msgstr "Modifica l'explorador d'etiquetes" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "Ordena per" @@ -19807,138 +20194,138 @@ msgstr "" "Tots aquests gestors de categories estan disponibles amb un clic dret als " "elements dins de l'explorador d'etiquetes de més amunt." -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "Canvia la icona per a: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "Canvia el nom de %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "Suprimeix %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "Edita l'ordre de %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "Modifica l'enllaç de %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "Afegeix a la categoria d'u%suari" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "Fill de %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "Suprimeix la cerca %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "Suprimeix %(item)s de la categoria %(cat)s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "Cerca-ho tot excepte %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "Afegeix una subcategoria a %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "Suprimeix la categoria d'usuari %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "Oculta la categoria %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "Mostra la categoria" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "Cerca llibres a la categoria %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "Cerca llibres que no estiguin a la categoria %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "Gestiona %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "Canvia la icona de la categoria" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "Restaura la icona per defecte" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "Mostra totes les categories" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "Canvia el mètode de divisió per categories" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "Inhabilita" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "Partició" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "Només es pot utilitzar la primera lletra quan s'ordena per nom" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "Seleccioneu una destinació per a l'entrada de l'índex" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "Cerca text..." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "Troba el &següent" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "Cerca l'&anterior" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -19956,25 +20343,25 @@ msgstr "" "apareix una línia verda gruixuda, indicant la ubicació exacta que es " "seleccionarà en fer clic." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "&Nom de l'entrada de l'índex" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "Destinació seleccionada actualment:" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "No s'ha trobat cap coincidència" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "No s'ha trobat cap coincidència per a: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " @@ -19983,31 +20370,31 @@ msgstr "" "No s'ha trobat coincidències per a %(text)s al fitxer actual [%(current)s]. " "Voleu cercar al fitxer %(which)s [%(next)s]?" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "següent" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "anterior" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "Fitxer:" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "Començament del fitxer" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "Aproximadament %d%% des del principi" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "Ubicació: Una etiqueta <%s> a dins del fitxer" @@ -20052,7 +20439,7 @@ msgstr "No s'ha introduït cap expressió XPath" msgid "The XPath expression %s is not valid." msgstr "L'expressió XPath %s no és vàlida." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." @@ -20060,7 +20447,7 @@ msgstr "" "Podeu editar les entrades existents a l'índex fent-hi clic al panell de " "l'esquerra." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " @@ -20070,15 +20457,15 @@ msgstr "" "verificat que existeix. Les entrades amb un punt vermell no són vàlides i " "pot ser que calgui arreglar-les." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "Crea una entrada &nova" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "Genera un índex a partir dels títols &principals" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " @@ -20088,11 +20475,11 @@ msgstr "" "llibre identifica els títols utilitzant etiquetes d'encapçalament HTML. " "Utilitza les etiquetes

,

i

." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "Genera un índex a partir de &tots els títols" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " @@ -20102,11 +20489,11 @@ msgstr "" "llibre identifica els títols utilitzant etiquetes d'encapçalament HTML. " "Utilitza les etiquetes ." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "Genera un índex a partir dels en&llaços" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " @@ -20116,23 +20503,37 @@ msgstr "" "enllaços que apunten a destinacions que no existeixen. També s'ignoren " "enllaços múltiples amb la mateixa destinació o el mateix text." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" +msgstr "Genera l'índex des dels &fitxers" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." +msgstr "" +"Genera un índex a partir dels fitxers individuals que hi ha al llibre. Cada " +"entrada a l'índex apuntarà al començament del fitxer i el text de l'entrada " +"serà la «primera línia» del text del fitxer." + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 msgid "Generate ToC from &XPath" msgstr "Genera un índex a partir d'&XPath" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 msgid "Generate a Table of Contents from arbitrary XPath expressions." msgstr "Genera un índex a partir d'expressions XPath arbitràries." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" -msgstr "Aplana l'índex" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "&Aplana l'índex" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "Aplana l'índex, posant totes les entrades al nivell superior" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -20144,7 +20545,7 @@ msgstr "" "prèvia. Si creeu un índex no lineal, es reordenarà automàticament a dins del " "fitxer AZW3." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" @@ -20152,80 +20553,120 @@ msgstr "" "Podeu desplaçar aquesta entrada per l'índex arrossegant-la i deixant-la anar " "o utilitzant els botons «Amunt» i «Avall» de l'esquerra" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "Canvia &la ubicació cap a on apunta l'entrada" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "Sup&rimeix l'entrada" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "Nova entrada a d&ins de l'entrada" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "Nova entrada al d&amunt de l'entrada" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "Nova entrada per &sota de l'entrada" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "&Aplana l'entrada" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "Tots els fills de l'entrada es duran al seu mateix nivell." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "To&rna a la pantalla de benvinguda" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "Torna a la visualització del nivell més alt" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "L'entrada apunta a una destinació existent" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "La ubicació cap a on apunta l'entrada no existeix" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" -msgstr "Mou cap amunt l'entrada actual" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" +msgstr "Mou «%s» amunt" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "Mou «%s» avall" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "Suprimeix tots els elements seleccionats" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "Treu la sagnia de «%s»" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "Sagna «%s»" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "Canvia la ubicació que apunta aquesta entrada a" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "Posa tots els elements seleccionats amb les inicials en majúscula" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "Mou l'entrada actual amunt [Ctrl+Amunt]" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "Treu el sagnat de l'entrada actual [Ctrl+Esquerra]" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "Suprimeix totes les entrades seleccionades" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" -msgstr "Mou cap avall l'entrada actual" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" +msgstr "Sagna l'entrada actual [Ctrl+Dreta]" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "Mou l'entrada actual amunt [Ctrl+Avall]" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "&Expandeix-ho tot" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "Reduei&x-ho tot:" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "Feu doble clic a una entrada per canviar-ne el text" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "Títol: {0} Dest: {1}{2}" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" @@ -20234,49 +20675,54 @@ msgstr "" "La ubicació que apunta aquesta entrada no existeix:\n" "%s" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "No s'ha trobat cap element" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "No s'ha trobat cap element que es pogués afegir a l'índex." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "No s'ha trobat cap enllaç que es pogués afegir a l'índex." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "No s'ha trobat cap fitxer que es pugui afegit a l'índex." + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "Edita l'ïndex a %s" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "S'està carregant %s, espereu..." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "S'està desant %s, espereu..." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "No s'ha pogut desar el llibre" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" "No s'ha pogut desar %s. Fer clic a «Mostra els detalls» per a més informació." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "La càrrega del llibre ha fallat" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -20367,31 +20813,31 @@ msgstr "" "Els llibres següents ja s'han convertit al format %s. Els voleu tornar a " "convertir?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "Feu una &donació per donar suport al calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "&Restaura" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "&Expulseu el dispositiu connectat" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "Surt del calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "Suprimeix la cerca actual" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "Mode de depuració" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -20402,11 +20848,11 @@ msgstr "" "el registre de depuració estarà disponible al fitxer: %s

El registre es " "mostrarà automàticament." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "No s'ha pogut iniciar el servidor de continguts" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -20428,16 +20874,16 @@ msgstr "" "el calibre intenti reconstruir-la automàticament? Pot ser que no es pugui " "reconstruir totalment." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "Error de conversió" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "

No s'ha pogut convertir: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -20477,23 +20923,23 @@ msgstr "" " amb l'EPUB.\n" " " -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "No s'ha pogut convertir" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "Recepta inhabilitada" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "Ha fallat" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "Hi ha tasques actives. Segur que voleu sortir?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" @@ -20503,11 +20949,11 @@ msgstr "" " Si sortiu podeu malmetre el dispositiu.
\n" " Segur que voleu sortir?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "Tasques actives" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -21081,29 +21527,29 @@ msgstr "Mida de lletra per defecte" msgid "S&earch Google for '%s'" msgstr "C&erca «%s» a Google" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "A&tansa" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "A&llunya" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "&Desa com a" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "&Rota" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "Trieu en quin fitxer es desarà" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "Visualitza la imatge: %s" @@ -22599,8 +23045,8 @@ msgstr "" "de cerca vegeu la documentació relacionada al Manual de l'usuari. Per " "defecte no es filtra." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." @@ -22608,12 +23054,12 @@ msgstr "" "Amplada màxima d'una línia a la sortida. Per defecte es detecta la mida de " "la pantalla." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" "Cadena que es fa servir per separar els camps. Per defecte és un espai." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." @@ -22621,15 +23067,15 @@ msgstr "" "Prefix per a tots els camins dels fitxers. Per defecte és el camí d'accés a " "la carpeta de la biblioteca." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "Camps no vàlids. Camps disponibles:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "Camp d'ordenació no vàlid. Camps disponibles:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" @@ -22637,13 +23083,13 @@ msgstr "" "No s'ha afegit els llibres següents perquè ja són a la base de dades (vegeu " "l'opció --duplicates):" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "S'ha afegit els idectificadors de llibre: %s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -22657,7 +23103,7 @@ msgstr "" "indicar carpetes, vegeu\n" "les opcions relacionades amb les carpetes més avall.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" @@ -22665,11 +23111,11 @@ msgstr "" "Assumeix que cada carpeta conté un sol llibre lògic i que tots els fitxers " "que hi ha són diferents formats del mateix llibre" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "Processa les carpetes de forma recursiva" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." @@ -22677,43 +23123,43 @@ msgstr "" "Afegeix els llibres a la base de dades encara que ja existeixin. La " "comparació es fa mitjançant els títols dels llibres." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "Afegeix un llibre en blanc (sense formats)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "Estableix el títol del(s) llibre(s) afegit(s)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "Estableix els autors del(s) llibre(s) afegit(s)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "Estableix l'ISBN del(s) llibre(s) afegit(s)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "Estableix les etiquetes del(s) llibre(s) afegit(s)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "Estableix la sèrie del(s) llibre(s) afegit(s)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "Estableix el nombre de sèrie del(s) llibre(s) afegit(s)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "Camí a la portada que s'utilitzarà per al llibre afegit" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "Heu d'especificar almenys un camp per afegir" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -22731,33 +23177,44 @@ msgstr "" "exemple, 23,34,57-85 (quan s'especifica un interval no s'inclou el darrer " "nombre de l'interval).\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "Heu d'especificar almenys un llibre per suprimir" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "Ja hi ha un fitxer %s per al llibre: %d, no es reemplaçarà" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" -"%prog add_format [opcions] ID fitxer_de_llibre\n" +"%prog add_format [opcions] id fitxer_llibre\n" "\n" -"Afegiu el llibre que s'especifiqui als formats disponibles del llibre lògic " -"identificat per ID. Podeu aconseguir l'ID amb l'ordre «list». Si el format " -"ja existeix es sobreescriurà.\n" +"Afegeix el llibre de «fitxer_llibre» als formats disponibles per al llibre " +"lògic identificat per «id». Podeu aconseguir la «id» amb l'ordre «list». Si " +"el format ja existeix es reemplaçarà, a no ser que s'especifiqui l'opció de " +"no reemplaçar." #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "No reemplacis el format si ja existeix" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "Heu d'especificar una ID i un fitxer de llibre" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "Els fitxers de llibre han de tenir una extensió" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -22774,11 +23231,11 @@ msgstr "" "fitxer com LRF, TXT o EPUB. Si el llibre lògic no té el format que " "s'especifica no es farà res\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "Heu d'especificar una ID i un format" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -22794,15 +23251,15 @@ msgstr "" "que identifica l'ID.\n" "ID és un número obtingut amb l'ordre «list».\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "Imprimeix les metadades en format OPF (XML)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "Heu d'especificar una ID" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -22828,7 +23285,7 @@ msgstr "" "amb\n" "l'opció «--field».\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -22845,42 +23302,42 @@ msgstr "" "la sintaxi és {0} {2}. Per als camps booleans (sí/no) utilitzeu «true» i " "«false» o «yes» i «no»." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" "Mostra una llista dels noms dels camps de metadades que es poden utilitzar " "amb l'opció --field opció" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "Nom del camp" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "Heu d'especificar un identificador de registre com a primer argument" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "Heu d'especificar o un camp o un arxiu opf" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "No hi ha cap llibre amb la ID: %s a la base de dades" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "El fitxer OPF %s no existeix" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "%s no és un camp conegut" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -22898,29 +23355,29 @@ msgstr "" "metadades (a un\n" "fitxer opf). Podeu aconseguir les IDs amb l'ordre «list».\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" "Exporta tots els llibres de la base de dades, ignorant la llista d'IDs." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "Exporta els llibres a la carpeta que s'indica. Per defecte és" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "Exporta tots els llibres a una carpeta" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "Si indiqueu aquesta opció es desactiva aquest comportament." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "Heu d'indicar alguna ID o l'opció %s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -22937,7 +23394,7 @@ msgstr "" "espais ni dos punts. El nom és el nom visible de la columna. El tipus de " "dades és un de: {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." @@ -22945,7 +23402,7 @@ msgstr "" "Aquesta columna emmagatzema les etiquetes com a dades (amb valors separats " "per comes). Només s'aplica si les dades són de tipus text." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -22982,11 +23439,11 @@ msgstr "" "de crear la columna). Veureu la cadena JSON per a «display» de la nova " "columna al fitxer OPF." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "Heu d'indicar etiqueta, nom i tipus de dades" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -23005,7 +23462,7 @@ msgstr "" "genera.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" @@ -23015,7 +23472,7 @@ msgstr "" "Si es declara, s'ignora --search.\n" "Per defecte: totes" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" @@ -23025,16 +23482,16 @@ msgstr "" "documentació del tema al Manual de l'usuari.\n" "Per defecte: sense filtre" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "Mostra informació de sortida detallada. Útil per a depurar" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "Error: Heu d'indicar un fitxer de sortida del catàleg" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -23055,7 +23512,7 @@ msgstr "" " l'ordre custom_columns.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." @@ -23063,11 +23520,11 @@ msgstr "" "Si la columna conté múltiples valors, afegeix els valors que s'indiquen als " "que ja hi ha, en lloc de substituir-los." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "Error: Heu d'indicar un nom de camp, ID i valor" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -23082,20 +23539,20 @@ msgstr "" "etiquetes de columna i les IDs.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "Mostra els detalls de cada columna." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "Perdreu totes les dades de la columna: %s. N'esteu segur (s/n)? " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " @@ -23105,7 +23562,7 @@ msgstr "" "columna, no els títols. Utilitzeu «calibredb custom_columns» per aconseguir " "una llista d'etiquetes." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -23122,15 +23579,15 @@ msgstr "" " les columnes disponibles amb l'ordre custom_columns.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "No demanis confirmació" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "Error: Heu d'indicar una etiqueta per a la columna" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -23152,40 +23609,40 @@ msgstr "" " es sobreescriurà.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "Error: Heu d'indicar una acció (add/remove/list)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "Nom:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "Cadena de cerca:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "Error: Heu d'indicar un nom i una cadena de cerca" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "s'ha afegit" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "Error: Heu d'indicar un nom" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "s'ha suprimit" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "Error: No es reconeix l'acció %s, ha de ser una de «add/remove/list»" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -23213,7 +23670,7 @@ msgstr "" "una còpia de seguretat dels fitxers OPF cada cop que es canvien les " "metadades.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." @@ -23221,7 +23678,7 @@ msgstr "" "Normalment aquesta ordre només actua en llibres que tenen fitxers OPF " "obsolets. Aquesta opció fa que actuï en tots els llibres." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -23233,12 +23690,12 @@ msgstr "" "Fes algunes comprovacions al sistema de fitxers que hi ha en una biblioteca. " "Els resultats són {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "Sortida CSV" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" @@ -23246,7 +23703,7 @@ msgstr "" "Llista d'informes separats per comes.\n" "Per defecte: tots" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" @@ -23254,7 +23711,7 @@ msgstr "" "Llista de les extensions que s'ignoraran separada per comes.\n" "Per defecte: totes" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" @@ -23262,11 +23719,11 @@ msgstr "" "Llista de noms que s'ignoraran separats per comes.\n" "Per defecte: tots" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "Informe de comprovació desconegut" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -23296,19 +23753,19 @@ msgstr "" "OPF.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" "Fes la recuperació. L'ordre no s'executa si no s'especifica aquesta opció." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "Heu d'introduir l'opció %s per fer una recuperació" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -23321,7 +23778,7 @@ msgstr "" "La\n" "informació equival al que es mostra a la subfinestra d'etiquetes.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" @@ -23329,7 +23786,7 @@ msgstr "" "Genera només la sortida del nombre d'elements en una categoria en lloc del " "recompte per element a cada categoria" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." @@ -23337,7 +23794,7 @@ msgstr "" "El caràcter que es posarà al voltant del valor de la categoria en mode CSV. " "Per defecte són les cometes (\")." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" @@ -23345,17 +23802,17 @@ msgstr "" "Llista separada per comes dels noms de la categoria de cerca.\n" "Per defecte: all" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" "La cadena que es farà servir per separar els camps en mode CSV. Per defecte " "és una coma." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "ELEMENTS DE LES CATEGORIES" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -23389,32 +23846,23 @@ msgstr "" "L'etiqueta només pot contenir lletres minúscules, nombres i guions baixos, i " "ha de començar amb una lletra" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "s'ha restaurat la preferència " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "s'està creant una columna personalitzada " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr " (%s llibres)" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" "

S'està migrant la base de dades antiga a la biblioteca de %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "S'està copiant %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "S'està compactant la base de dades" @@ -23703,20 +24151,20 @@ msgstr "" "intermediari de retorn a aquest servidor des d'Apache, nginx..." #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "Tots els llibres" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "El més recent" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "S'està carregant" @@ -23739,7 +24187,7 @@ msgid "Browsing %d books" msgstr "S'està explorant %d llibres" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "Valoració mitjana" @@ -23748,98 +24196,98 @@ msgstr "Valoració mitjana" msgid "%(prefix)s: %(rating).1f stars" msgstr "%(prefix)s: %(rating).1f estrelles" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "%d estrelles" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "Popularitat" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "biblioteca" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "inici" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "Llibre aleatori" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "Explora llibres per" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "Trieu una categoria per la qual cercar:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "S'està cercant per" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "Cap amunt" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "a" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "llibres a" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "Altres formats" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "Llegeix %(title)s en el format %(fmt)s" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "Aconsegueix" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "Detalls" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "Enllaç permanent" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "Un enllaç permanent a aquest llibre" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "S'ha suprimit el llibre" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "Tria un altre llibre a l'atzar" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "Un altre llibre a l'atzar" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "en una cerca" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "Llibres coincidents" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -23861,24 +24309,28 @@ msgstr "" "\n" "La interfície OPDS es publicita automàticament fent servir el BonJour.\n" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" "Camí a la carpeta de la biblioteca que s'ofereix al servidor de continguts" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "Desa el PID del procés al fitxer que s'especifiqui" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -"Indica una restricció per a la invocació. Anul·la qualsevol paràmetre d'una " -"biblioteca que s'hagi indicat a la interfície gràfica" +"Especifica la biblioteca virtual que s'utilitzarà amb aquesta crida. Aquesta " +"opció anul·la qualsevol paràmetre per a cada biblioteca especificat a la " +"interfície gràfica. Per motius de compatibilitat si el valor no és una " +"biblioteca virtual però és una cerca desada, s'utilitza la cerca desada." -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -25159,10 +25611,6 @@ msgstr "am" msgid "pm" msgstr "pm" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "&Copia" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "Selecciona-ho tot" @@ -25263,6 +25711,32 @@ msgstr "S'està executant el codi" msgid "Restart console" msgstr "Reinicia la consola" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "Caràcters addicionals al final de la cerca" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "falta un «)»" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "Sintaxi no vàlida. S'esperava un nom de cerca o una paraula" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" +"Ha fallat el procés de consulta, s'ha arribat al límit de recursió: %s" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "S'ha desat la cerca recursiva: {0}" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "Error desconegut a la cerca desada: {0}" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "L'URL ha de tenir l'esquema sftp" @@ -25311,101 +25785,101 @@ msgstr "No s'ha pogut baixar %s" msgid "The \"%s\" recipe needs a username and password." msgstr "La recepta «%s» necessita usuari i contrasenya" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "S'ha finalitzat la baixada" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "No s'ha pogut baixar aquests articles:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "No s'ha pogut baixar part d'aquests articles:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr " des de " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "\tEnllaços que han fallat:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "No s'ha pogut aconseguir l'article." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "La traça de depuració està més amunt en aquest registre" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "Executeu amb -vv per saber-ne el motiu" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "S'està aconseguint els canals..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "S'ha aconseguit canals des de la pàgina principal" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "S'està intentant baixar la portada..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "S'està generant l'encapçalament..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "S'està iniciant la baixada [%d fils]" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "S'ha baixat els canals a %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "No s'ha pogut baixar la portada: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "Baixada de la portada de %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "S'ha baixat la imatge de capçalera" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "Articles en aquest exemplar: " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "Article sense títol" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "Article baixat: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "Ha fallat la baixada de l'article: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "S'està aconseguint el canal" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 msgid "" "Failed to log in, check your username and password for the calibre " "Periodicals service." @@ -25413,7 +25887,7 @@ msgstr "" "No s'ha pogut entrar, comproveu el nom d'usuari i la contrasenya del servei " "de publicacions periòdiques del calibre" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -25762,14 +26236,14 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" "Per defecte el calibre divideix una cadena que conté múltiples noms d'autor\n" -"amb el caràcter «&» i les paraules «and» i «with». Podeu personalitzar la\n" -"divisió canviant l'expressió regular de més avall. Les cadenes es " -"divideixen\n" -"sempre que hi hagi una coincidència amb l'expressió regular especificada.\n" +"units per «&» i les paraules «and» i «with». Podeu personalitzar la divisió\n" +"canviant l'expressió regular de més avall. Es divideixen les cadenes si hi " +"ha\n" +"una coincidència amb qualsevol de les expressions regulars, a més de «&».\n" "Per defecte: r'(?i),?\\s+(and|with)\\s+'" #: /home/kovid/work/calibre/resources/default_tweaks.py:85 diff --git a/src/calibre/translations/calibre.pot b/src/calibre/translations/calibre.pot index 3e56497f17..5312b802d2 100644 --- a/src/calibre/translations/calibre.pot +++ b/src/calibre/translations/calibre.pot @@ -4,9 +4,9 @@ # msgid "" msgstr "" -"Project-Id-Version: calibre 0.9.26\n" -"POT-Creation-Date: 2013-04-05 08:39+IST\n" -"PO-Revision-Date: 2013-04-05 08:39+IST\n" +"Project-Id-Version: calibre 0.9.29\n" +"POT-Creation-Date: 2013-05-03 10:04+IST\n" +"PO-Revision-Date: 2013-05-03 10:04+IST\n" "Last-Translator: Automatically generated\n" "Language-Team: LANGUAGE\n" "MIME-Version: 1.0\n" @@ -21,16 +21,17 @@ msgid "Does absolutely nothing" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:840 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:148 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:151 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:162 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:717 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:858 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -51,8 +52,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/comic_input.py:189 #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/fb2_input.py:99 #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/fb2_input.py:101 -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_input.py:119 -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_input.py:122 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_input.py:118 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_input.py:121 #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/lrf_output.py:29 #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdb_input.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:28 @@ -62,15 +63,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1897 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1899 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:311 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:312 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:36 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:37 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:38 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:39 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:101 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:494 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:499 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:67 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:701 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/docx.py:64 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61 @@ -85,10 +86,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1191 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1301 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pml.py:23 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pml.py:49 @@ -96,18 +97,18 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:91 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:84 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:334 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:86 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:365 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:367 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:88 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:79 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:260 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:366 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:368 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:469 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:58 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:129 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 @@ -121,7 +122,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -135,21 +136,21 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/writer.py:174 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/palmdoc/writer.py:29 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ztxt/writer.py:27 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/links.py:129 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/links.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:451 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:459 #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:171 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:446 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:502 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:505 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -167,24 +168,25 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/diff.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2269 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2422 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2872 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3511 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3513 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3651 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -317,330 +319,330 @@ msgstr "" msgid "Set metadata from %s files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:771 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:776 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:781 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:786 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:791 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:796 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:801 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:806 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:811 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:816 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:821 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:826 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:831 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:836 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:841 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:847 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:852 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "Send books via email or the web also connect to iTunes or folders on your computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:858 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:863 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:868 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:873 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:879 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:884 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:889 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:894 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:899 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "Find the next or previous match when searching in your calibre library in highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:905 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:912 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:928 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:947 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:949 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:961 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:972 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:983 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:995 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:953 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:959 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:965 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:970 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:976 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:981 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:987 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "Customize the toolbars and context menus, changing which actions are available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:993 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:999 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1004 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1006 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1017 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1028 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1010 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1015 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1021 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1026 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1032 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1037 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1039 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1051 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1063 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1075 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1043 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1049 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1055 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "Control how calibre exports files from its database to disk when using Save to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1061 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1067 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1073 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1079 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1084 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1086 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1146 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1158 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1169 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1180 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1090 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1095 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1097 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1109 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1122 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1133 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1101 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "Setup sharing of books via email. Can be used for automatic sending of downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1107 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1113 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "Setup the calibre Content Server which will give you access to your calibre library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1120 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1126 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1131 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1137 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "Control which devices calibre will ignore when they are connected to the computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1144 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1150 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1156 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1162 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1167 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1173 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1178 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1184 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -891,8 +893,8 @@ msgstr "" msgid "Disable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:328 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:337 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -902,11 +904,22 @@ msgstr "" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:396 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:402 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:176 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -918,43 +931,43 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2838 #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:792 -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:419 -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:425 -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:456 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:420 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:426 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:457 #: /home/kovid/work/calibre/src/calibre/devices/utils.py:80 #: /home/kovid/work/calibre/src/calibre/devices/utils.py:84 #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3365 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" @@ -962,14 +975,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -977,7 +990,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -985,45 +998,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "Cause a running calibre instance, if any, to be shutdown. Note that if there are running jobs, they will be silently aborted, so use with care." @@ -1049,31 +1087,31 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "Comma separated list of directories to send e-books to on the device's main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "Comma separated list of directories to send e-books to on the device's storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:65 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:64 msgid "

If you do not want calibre to recognize your Apple iDevice when it is connected to your computer, click Disable Apple Driver.

To transfer books to your iDevice, click Disable Apple Driver, then use the 'Connect to iTunes' method recommended in the Calibre + iDevices FAQ, using the Connect/Share|Connect to iTunes menu item.

Enabling the Apple driver for direct connection to iDevices is an unsupported advanced user mode.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:82 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:81 msgid "Disable Apple driver" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:86 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:85 msgid "Enable Apple driver" msgstr "" @@ -1131,43 +1169,43 @@ msgstr "" msgid "Updating device metadata listing..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:464 -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:505 -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1151 -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1198 -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3302 -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3344 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:465 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:506 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1155 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1202 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3315 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3357 #, python-format msgid "%(num)d of %(tot)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:513 -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1203 -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3351 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:514 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1207 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3364 #: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:110 msgid "finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:705 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:706 msgid "" "Some books not found in iTunes database.\n" "Delete using the iBooks app.\n" "Click 'Show Details' for a list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1113 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1117 msgid "" "Some cover art could not be converted.\n" "Click 'Show Details' for a list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2839 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3322 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3340 msgid "Catalog" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3194 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3206 msgid "Communicate with iTunes." msgstr "" @@ -1207,10 +1245,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1357 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1361 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1365 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1735 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1224,9 +1262,9 @@ 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:324 -#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:391 -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:1136 -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:1138 +#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:393 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:1139 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:1141 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:277 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:279 msgid "Transferring books to device..." @@ -1236,9 +1274,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:344 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:493 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:527 -#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:430 -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:1149 -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:1160 +#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:432 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:1152 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:1163 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:301 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:332 msgid "Adding books to device metadata listing..." @@ -1251,6 +1289,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2595 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1260,8 +1299,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:374 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:481 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:488 -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:1198 -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:1204 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:1201 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:1207 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:366 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:371 msgid "Removing books from device metadata listing..." @@ -1286,7 +1325,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/blackberry/driver.py:14 #: /home/kovid/work/calibre/src/calibre/devices/blackberry/driver.py:37 -#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:298 +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:306 #: /home/kovid/work/calibre/src/calibre/devices/nuut2/driver.py:18 msgid "Kovid Goyal" msgstr "" @@ -1319,31 +1358,31 @@ msgstr "" msgid "Communicate with the Tolino Shine reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:214 +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:222 msgid "Communicate with the Astak Mentor EB600" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:245 msgid "Communicate with the PocketBook 301 reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:254 +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:262 msgid "Communicate with the PocketBook 602/603/902/903/Pro 912 reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:274 +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:282 msgid "Communicate with the PocketBook 622 reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:287 +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:295 msgid "Communicate with the PocketBook 360+ reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:297 +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:305 msgid "Communicate with the PocketBook 701" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:337 msgid "Communicate with the Infibeam Pi2 reader." msgstr "" @@ -1552,32 +1591,32 @@ msgid "Normally, the KOBO readers get the cover image from the ebook file itself msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 msgid "A bug in an earlier version left non kepubs book records in the database. With this option Calibre will show the expired records and allow you to delete them with the new delete logic." msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Kobo previews are included on the Touch and some other versions by default they are no longer displayed as there is no good reason to see them. Enable if you wish to see/delete them." msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 msgid "Show Recommendations" msgstr "" @@ -1586,7 +1625,7 @@ msgid "Kobo now shows recommendations on the device. In some case these have fi msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1258 msgid "Attempt to support newer firmware" msgstr "" @@ -1595,10 +1634,12 @@ msgid "Kobo routinely updates the firmware and the database version. With this o msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2597 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2598 msgid "Your Kobo is running an updated firmware/database version. As calibre does not know about this updated firmware, database editing is disabled, to prevent corruption. You can still send books to your Kobo with calibre, but deleting books and managing collections is disabled. If you are willing to experiment and know how to reset your Kobo to Factory defaults, you can override this check by right clicking the device icon in calibre and selecting \"Configure this device\" and then the \"Attempt to support newer firmware\" option. Doing so may require you to perform a factory reset of your Kobo." msgstr "" @@ -1633,67 +1674,67 @@ msgstr "" msgid "Chapter %(chapter)d: %(chapter_title)s
%(typ)s
Chapter Progress: %(chapter_progress)s%%
Highlight: %(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Create new bookshelves on the Kobo Touch if they do not exist. This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Delete any empty bookshelves from the Kobo Touch when syncing is finished. This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "Upload cover images from the calibre library when sending books to the device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "When uploading covers, do not change the aspect ratio when resizing for the device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Kobo shows recommendations on the device. In some cases these have files but in other cases they are just pointers to the web site to buy. Enable if you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1253 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1254 msgid "The book lists on the Kobo devices can display series information. This is not read by the device from the sideloaded books. Series information can only be added to the device after the book has been processed by the device. Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1259 msgid "Kobo routinely updates the firmware and the database version. With this option Calibre will attempt to perform full read-write functionality - Here be Dragons!! Enable only if you are comfortable with restoring your kobo to factory defaults and testing software. This driver supports firmware V2.x.x and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1265 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1266 msgid "Part of title of a book that can be used when doing some tests for debugging. The test is to see if the string is contained in the title of a book. The better the match, the less extraneous output." msgstr "" @@ -1710,55 +1751,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -1770,74 +1811,74 @@ msgstr "" msgid "Communicate with MTP devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:167 -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:960 +#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:169 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:963 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:95 msgid "Get device information..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:190 +#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:192 msgid "Listing files, this can take a while" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:205 +#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:207 msgid "Reading ebook metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:238 +#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:240 #, python-format msgid "Reading metadata from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:257 +#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:259 msgid "Updating metadata cache on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:259 +#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:261 msgid "Finished reading metadata from device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:419 +#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:421 #, python-format msgid "Transferred %s to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:421 +#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:423 msgid "Transfer to device finished..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:442 +#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:444 #, python-format msgid "Added %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:444 +#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:446 msgid "Adding complete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:460 +#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:462 msgid "Deleting books from device..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:466 +#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:468 #, python-format msgid "Deleted %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:467 +#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:469 msgid "All books deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:470 +#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:472 msgid "Removing books from metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:482 +#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:484 #, python-format msgid "Removed %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:484 +#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:486 msgid "All books removed" msgstr "" @@ -1888,66 +1929,66 @@ msgstr "" msgid "Communicate with the Nuut2 eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:22 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:21 msgid "Communicate with Sony eBook readers older than the PRST1." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:60 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:59 msgid "Comments have been removed as the SONY reader chokes on them" msgstr "" +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:65 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:271 +msgid "All by title" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:66 #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:272 -msgid "All by title" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:67 -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:273 msgid "All by author" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:70 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:69 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:68 msgid "Comma separated list of metadata fields to turn into collections on the device. Possibilities include: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:73 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:72 #, python-format msgid ". Two special collections are available: %(abt)s:%(abtv)s and %(aba)s:%(abav)s. Add these values to the list to enable them. The collections will be given the name provided after the \":\" character." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:77 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:76 msgid "Upload separate cover thumbnails for books (newer readers)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:78 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:77 msgid "Normally, the SONY readers get the cover image from the ebook file itself. With this option, calibre will send a separate cover image to the reader, useful if you are sending DRMed books in which you cannot change the cover. WARNING: This option should only be used with newer SONY readers: 350, 650, 950 and newer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:84 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:83 msgid "Refresh separate covers when using automatic management (newer readers)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:86 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:85 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:78 msgid "Set this option to have separate book covers uploaded every time you connect your device. Unset this option if you have so many books on the reader that performance is unacceptable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:90 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:89 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:82 msgid "Preserve cover aspect ratio when building thumbnails" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:92 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:91 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:84 msgid "Set this option if you want the cover thumbnails to have the same aspect ratio (width to height) as the cover. Unset it if you want the thumbnail to be the maximum size, ignoring aspect ratio." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:96 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:95 msgid "Search for books in all folders" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:98 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:97 msgid "Setting this option tells calibre to look for books in all folders on the device and its cards. This permits calibre to find books put on the device by other software and by wireless download." msgstr "" @@ -1980,107 +2021,107 @@ msgstr "" msgid "Set this option if you want the author on the Sony to appear the same way the T1 sets it. This means it will only show the first author for books with multiple authors. Leave this disabled if you use Metadata Plugboards." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:184 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:183 msgid "Wireless Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:188 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:187 msgid "Communicate with Smart Device apps" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:274 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:273 msgid "All by something" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:277 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:276 msgid "Enable connections at startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:278 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:277 msgid "Check this box to allow connections when calibre starts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:280 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:279 msgid "Security password" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:281 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:280 msgid "Enter a password that the device app must use to connect to calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:283 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:282 msgid "Use fixed network port" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:284 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:283 msgid "If checked, use the port number in the \"Port\" box, otherwise the driver will pick a random port" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:286 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:285 msgid "Port number: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:287 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:286 msgid "Enter the port number the driver is to use if the \"fixed port\" box is checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:288 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:287 msgid "Print extra debug information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:288 msgid "Check this box if requested when reporting problems" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:291 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:290 msgid "Comma separated list of metadata fields to turn into collections on the device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:293 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:292 msgid "Possibilities include: series, tags, authors, etc" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:301 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:300 msgid "Enable the no-activity timeout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:302 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:301 #, python-format msgid "If this box is checked, calibre will automatically disconnect if a connected device does nothing for %d minutes. Unchecking this box disables this timeout, so calibre will never automatically disconnect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:306 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:305 msgid "Use this IP address" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:307 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:306 msgid "Use this option if you want to force the driver to listen on a particular IP address. The driver will listen only on the entered address, and this address will be the one advertized over mDNS (bonjour)." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:311 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:310 msgid "Replace books with the same calibre identifier" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:312 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:311 msgid "Use this option to overwrite a book on the device if that book has the same calibre identifier as the book being sent. The file name of the book will not change even if the save template produces a different result. Using this option in most cases prevents having multiple copies of a book on the device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:805 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:807 #, python-format msgid "Too many connection attempts from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:1312 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:1315 #, python-format msgid "Invalid port in options: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:1320 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:1323 #, python-format msgid "Failed to connect to port %d. Try a different value." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:1332 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:1335 msgid "Failed to allocate a random port" msgstr "" @@ -2191,7 +2232,7 @@ msgstr "" msgid "Extra customization" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:42 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:40 msgid "Communicate with an eBook reader." msgstr "" @@ -2508,32 +2549,32 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_input.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_input.py:32 msgid "Traverse links in HTML files breadth first. Normally, they are traversed depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_input.py:40 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_input.py:39 #, python-format msgid "Maximum levels of recursion when following links in HTML files. Must be non-negative. 0 implies that no links in the root HTML file are followed. Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_input.py:49 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_input.py:48 msgid "Normally this input plugin re-arranges all the input files into a standard folder hierarchy. Only use this option if you know what you are doing as it can result in various nasty side effects in the rest of the conversion pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "Template used for generation of the html index file instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "Template used for the generation of the html contents of the book instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "Extract the contents of the generated ZIP file to the specified directory. WARNING: The contents of the directory will be deleted." msgstr "" @@ -3499,65 +3540,61 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "Extract common e-book formats from archives (zip/rar) files. Also try to autodetect if they are actually cbz/cbr files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:61 -msgid "Value: unknown field " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:132 msgid "TEMPLATE ERROR" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 msgid "No" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:769 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:223 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:772 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742 msgid "Producer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:773 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:982 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:157 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:245 msgid "Comments" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:775 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:186 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:102 @@ -3580,21 +3617,23 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:128 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:777 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:225 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:129 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -3603,18 +3642,18 @@ msgid_plural "Series" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:748 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:780 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:750 msgid "Timestamp" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:752 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 @@ -3622,10 +3661,14 @@ msgstr "" msgid "Published" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:784 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:754 msgid "Rights" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/formatter.py:32 +msgid "Value: unknown field " +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:20 msgid "options" msgstr "" @@ -3717,75 +3760,93 @@ msgid "" "Fetch a cover image/social metadata for the book identified by ISBN from LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1496 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:255 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:517 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:538 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:190 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:173 msgid "Metadata source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154 msgid "Downloads metadata and covers from Douban.com. Useful only for chinese language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "Downloads metadata and covers from Edelweiss - A catalog updated by book publishers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:162 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:161 msgid "Downloads metadata and covers from Google Books" msgstr "" @@ -3797,10 +3858,6 @@ msgstr "" msgid "Configure the Google Image Search plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 -msgid "Maximum number of covers to get" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 msgid "The maximum number of covers to process from the google search result" msgstr "" @@ -3832,19 +3889,19 @@ msgstr "" msgid "Larger than %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:23 msgid "Downloads metadata from isbndb.com" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:34 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:33 msgid "IsbnDB key:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:34 msgid "To use isbndb.com you have to sign up for a free account at isbndb.com and get an access key." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:39 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:38 msgid "To use metadata from isbndb.com you must sign up for a free account and get an isbndb key and enter it below. Instructions to get the key are here." msgstr "" @@ -3868,7 +3925,7 @@ msgstr "" msgid "Additional metadata can be taken from Overdrive's book detail page. This includes a limited set of tags used by libraries, comments, language, and the ebook ISBN. Collecting this data is disabled by default due to the extra time required. Check the download all metadata option below to enable downloading this data." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:20 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:18 msgid "Downloads metadata and covers from OZON.ru" msgstr "" @@ -3881,12 +3938,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -3907,72 +3964,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -3981,11 +4038,11 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "This MOBI file does not contain a KF8 format book. KF8 is the new format from Amazon. calibre can only edit MOBI files that contain KF8 books. Older MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit MOBI files that contain only KF8 data." msgstr "" @@ -4005,12 +4062,12 @@ msgid "" "changes needed for the desired effect.

\n" "\n" "

You should use this tool as the last step in your ebook creation process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4043,7 +4100,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4163,9 +4220,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:669 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:684 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4185,7 +4242,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4372,7 +4429,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -4490,12 +4547,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:104 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -4567,8 +4624,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -4731,7 +4788,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -4745,7 +4802,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -4757,12 +4814,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -4889,7 +4946,7 @@ msgid "Found no errors in your calibre library database. Do you want calibre to msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -4917,7 +4974,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -4956,7 +5013,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 msgid "Cannot convert" msgstr "" @@ -4969,93 +5026,106 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "Some books were automatically merged into existing records in the target library. Click Show details to see which ones. This behavior is controlled by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "You cannot use other libraries while using the environment variable CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" @@ -5072,6 +5142,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:452 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5138,65 +5209,65 @@ msgstr "" msgid "The %(fmt)s format will be permanently deleted from %(title)s. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "Choose formats not to be deleted.

Note that this will never remove all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "All formats for the selected books will be deleted from your library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "Some of the selected books are on the attached device. Where do you want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 #, python-format msgid "The %d selected book(s) will be permanently deleted and the files removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 #, python-format msgid "The %d selected book(s) will be permanently deleted from your device. Are you sure?" msgstr "" @@ -5273,12 +5344,12 @@ msgid "Share books using a web server or email. Connect to special devices, etc. msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -5306,147 +5377,173 @@ msgstr "" msgid "Manage the collections on this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:26 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:27 msgid "Change the title/author/cover etc. of books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:26 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:27 msgid "E" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:26 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:27 msgid "Edit metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:62 msgid "Edit metadata individually" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:65 msgid "Edit metadata in bulk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:68 msgid "Download metadata and covers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:75 msgid "Merge into first selected book - delete others" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:78 msgid "Merge into first selected book - keep others" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:82 msgid "Merge only formats into first selected book - delete others" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87 msgid "Merge book records" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:88 msgid "M" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 msgid "Cannot download metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:120 msgid "Failed to download metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:882 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:131 #, python-format msgid "Failed to download metadata or covers for any of the %d book(s)." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:134 msgid "Metadata download completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:136 #, python-format msgid "Finished downloading metadata for %d book(s). Proceed with updating the metadata in your library?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:144 #, python-format msgid "Could not download metadata and/or covers for %d of the books. Click \"Show details\" to see which books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:145 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:146 msgid "Show the &failed books in the main book list after updating metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:154 msgid "Download complete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:945 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:154 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:225 +msgid "Review downloaded metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:184 msgid "Some books changed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:185 msgid "The metadata for some books in your library has changed since you started the download. If you proceed, some of those changes may be overwritten. Click \"Show details\" to see the list of changed books. Do you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:218 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:287 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:226 +msgid "Discard downloaded metadata for this book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:227 +msgid "Use the downloaded metadata for all remaining books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:228 +msgid "Discard downloaded metadata for all remaining books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:229 +#, python-format +msgid "Discard the downloaded value for: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:230 +msgid "The downloaded metadata is on the left and the original metadata is on the right. If a downloaded value is blank or unknown, the original value is used." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:343 msgid "Cannot edit metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:327 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:386 msgid "Cannot merge books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:387 msgid "At least two books must be selected for merging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:334 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:390 msgid "You are about to merge more than 5 books. Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:399 #, python-format msgid "Book formats and metadata from the selected books will be added to the first selected book (%s). ISBN will not be merged.

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

Please confirm you want to proceed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:411 #, python-format msgid "Book formats from the selected books will be merged into the first selected book (%s). Metadata in the first selected book will not be changed. Author, Title, ISBN and all other metadata will not be merged.

After merger the second and subsequently selected books, with any metadata they have will be deleted.

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

Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:427 #, python-format msgid "Book formats and metadata from the selected books will be merged into the first selected book (%s). ISBN will not be merged.

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

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

Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:597 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:686 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:687 msgid "Failed to apply updated metadata for some books in your library. Click \"Show Details\" to see details." msgstr "" @@ -5549,193 +5646,210 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "

Updating metadata

This will update all metadata except the cover in the ebook files to match the current metadata in the calibre library.

Note that most ebook formats are not capable of supporting all the metadata in calibre.

There is a separate option to update the cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "

Update the covers in the ebook files to match the current cover in the calibre library.

If the ebook file does not have an identifiable cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "You have selected the option to add metadata as a \"book jacket\". For this option to work, you must also select the option to update metadata in the book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "Polishing is only supported for books in the %s formats. Convert to one of those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -5849,7 +5963,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -5954,7 +6068,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -5966,33 +6080,33 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "Calibre helps you find the ebooks you want by searching the websites of various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "Using the integrated search you can easily find which store has the book you are looking for, at the best price. You also get DRM status and other useful information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "All transactions (paid or otherwise) are handled between you and the book seller. Calibre is not part of this process and any issues related to a purchase should be directed to the website you are buying from. Be sure to double check that any books you get will work with your e-book reader, especially if the book you are buying has DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -6065,7 +6179,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:25 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:234 #: /usr/src/qt-everywhere-opensource-src-4.8.4/src/gui/widgets/qdialogbuttonbox.cpp:667 msgid "&Cancel" @@ -6240,7 +6354,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -6436,7 +6550,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -6480,16 +6594,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -6742,7 +6865,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -6969,172 +7092,172 @@ msgstr "" msgid "Tab template for catalog.ui" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:80 msgid "Bold" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:81 msgid "Italic" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:84 msgid "Underline" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:86 msgid "Strikethrough" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:88 msgid "Superscript" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:90 msgid "Subscript" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:92 msgid "Ordered list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:94 msgid "Unordered list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:97 msgid "Align left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:99 msgid "Align center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:101 msgid "Align right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:103 msgid "Align justified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:104 msgid "Undo" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:104 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:105 msgid "Redo" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:106 msgid "Remove formatting" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:107 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:174 msgid "Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:176 msgid "Paste" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:109 msgid "Cut" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:110 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:111 msgid "Increase Indentation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:112 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:113 msgid "Decrease Indentation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:115 msgid "Select all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:126 msgid "Foreground color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:131 msgid "Background color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:135 msgid "Style text block" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:137 msgid "Style the selected text block" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:142 #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:143 #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:145 #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:148 msgid "Heading" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:149 msgid "Pre-formatted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:149 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:150 msgid "Blockquote" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:151 msgid "Address" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:158 msgid "Insert link" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:160 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:84 msgid "Clear" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:188 msgid "Choose foreground color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:239 msgid "Choose background color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:214 msgid "Create link" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:220 msgid "Enter &URL:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:216 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:221 msgid "Enter name (optional):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:584 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:589 msgid "Normal view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:585 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:590 msgid "HTML Source" msgstr "" @@ -8111,6 +8234,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:97 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/diff.py:483 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:124 msgid "&Next" @@ -8250,6 +8374,10 @@ msgstr "" msgid "

Search and replace uses regular expressions. See the regular expressions tutorial to get started with regular expressions. Also clicking the wizard button below will allow you to test your regular expression against the current input document. When you are happy with an expression, click the Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -8605,7 +8733,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:236 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:293 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:297 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1437 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1438 msgid "Undefined" msgstr "" @@ -8793,7 +8921,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -8837,78 +8965,78 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "Could not upload the following books to the device, as no suitable formats were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9060,7 +9188,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:938 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -9516,7 +9644,8 @@ msgid "&Profile:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:24 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:247 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/diff.py:483 #: /usr/src/qt-everywhere-opensource-src-4.8.4/src/gui/widgets/qdialogbuttonbox.cpp:658 msgid "&OK" msgstr "" @@ -9531,13 +9660,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -9560,7 +9689,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:49 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:305 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:223 msgid "Author" msgstr "" @@ -9589,13 +9718,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -9687,7 +9816,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -9735,12 +9864,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -9835,40 +9964,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1003 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -10098,7 +10227,7 @@ msgid "&Force numbers to start with:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:591 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1420 msgid "&Date:" msgstr "" @@ -10120,7 +10249,7 @@ msgid "Clear published date" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:600 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1188 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1187 msgid "&Languages:" msgstr "" @@ -10681,6 +10810,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:128 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -10713,12 +10843,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -11242,12 +11372,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -11296,6 +11426,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:129 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -11310,6 +11441,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:259 msgid "Invalid name" msgstr "" @@ -11463,44 +11595,44 @@ msgstr "" msgid "Copy the selected color name to the clipboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:223 msgid "Author Sort" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:228 msgid "Tag 1" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:228 msgid "Tag 2" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:269 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:270 msgid "Template language tutorial" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:274 msgid "Template function reference" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:292 msgid "EXCEPTION: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:318 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:319 msgid "No column chosen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:319 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:320 msgid "You must specify a column to be colored" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:323 msgid "No template provided" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:323 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:324 msgid "The template box cannot be empty" msgstr "" @@ -11899,7 +12031,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:1321 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1322 msgid "ISBN:" msgstr "" @@ -12159,7 +12291,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -12202,7 +12334,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -12212,64 +12344,68 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Vi&rtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "

Search the list of books by title, author, publisher, tags, comments, etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -12298,7 +12434,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" @@ -12440,7 +12576,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1000 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -12756,26 +12892,26 @@ msgstr "" 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:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1188 msgid "A comma separated list of languages for this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1212 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1213 msgid "Unknown language" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1213 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1214 #, python-format msgid "The language %s is not recognized" msgid_plural "The languages %s are not recognized" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1225 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1226 msgid "I&ds:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1226 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1227 #, python-format msgid "" "Edit the identifiers for this book. For example: \n" @@ -12783,38 +12919,38 @@ msgid "" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1290 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1352 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1291 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1353 msgid "This ISBN number is valid" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1293 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1355 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1294 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1356 msgid "This ISBN number is invalid" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1318 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1340 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1319 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1341 msgid "Invalid ISBN" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1319 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1320 msgid "Enter an ISBN" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1341 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1342 msgid "The ISBN you entered is not valid. Try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1365 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1366 msgid "&Publisher:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1440 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1442 msgid "Clear date" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1474 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1476 msgid "Publishe&d:" msgstr "" @@ -12878,6 +13014,33 @@ msgstr "" msgid "Downloaded metadata fields" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/diff.py:348 +#, python-format +msgid "Revert %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/diff.py:452 +msgid "Compare metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/diff.py:468 +msgid "&Accept all remaining" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/diff.py:473 +msgid "Re&ject all remaining" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/diff.py:478 +msgid "&Reject" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/diff.py:523 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:301 +#, python-format +msgid " [%(num)d of %(tot)d]" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/metadata/pdf_covers.py:35 msgid "Choose a cover from the list of PDF pages below" msgstr "" @@ -12909,7 +13072,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:993 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -12989,11 +13152,6 @@ msgstr "" msgid "Change how calibre downloads metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:301 -#, python-format -msgid " [%(num)d of %(tot)d]" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:359 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:369 msgid "Could not read cover" @@ -13053,7 +13211,7 @@ msgstr "" msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -13061,62 +13219,66 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:300 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:461 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:483 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "Failed to find any books that match your search. Try making the search less specific. For example, use only the author's last name and a single distinctive word from the title.

To see the full log, click Show Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:651 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:654 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:852 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:883 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:889 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:891 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format msgid "Found %(num)d possible covers for %(title)s. When the download completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1096 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -13232,7 +13394,7 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -13271,34 +13433,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -13345,11 +13507,11 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 -msgid "Apply this restriction on calibre startup if the current library is being used. Also applied when switching to this library. Note that this setting is per library. " +msgid "Use this virtual library on calibre startup if the current library is being used. Also applied when switching to this library. Note that this setting is per library. " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170 @@ -14194,7 +14356,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -14891,12 +15053,10 @@ msgid "Grouped search terms are search names that permit a query to autom msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:421 msgid "Match all" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:421 msgid "Match any" msgstr "" @@ -15066,20 +15226,20 @@ msgstr "" msgid "Here you can control how calibre will save your books when you click the Send to Device button. This setting can be overriden for individual devices by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -15108,15 +15268,15 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 -msgid "This restriction (based on a saved search) will restrict the books the content server makes available to those matching the search. This setting is per library (i.e. you can have a different restriction per library)." +msgid "Setting a virtual library will restrict the books the content server makes available to those in the library. This setting is per library (i.e. you can have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -15449,80 +15609,221 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 -msgid "The selected search will be permanently deleted. Are you sure?" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 -msgid "Search (For Advanced Search click the button to the left)" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 -msgid "Start search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 -msgid "Enable or disable search highlighting." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 -msgid "Saved Searches" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 -msgid "Choose saved search or enter name for new saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 -msgid "Save current search under the name shown in the box. Press and hold for a pop-up options menu." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 +msgid "The selected search will be permanently deleted. Are you sure?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 +msgid "Search (For Advanced Search click the button to the left)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 +msgid "Start search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 +msgid "Enable or disable search highlighting." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:129 +msgid "Saved Searches" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 +msgid "Choose saved search or enter name for new saved search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 +msgid "Save current search under the name shown in the box. Press and hold for a pop-up options menu." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match any of the selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 -msgid "(all books)" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "Books display will be restricted to those matching a selected saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 -msgid "({0} of {1})" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:35 +#, python-format +msgid "Match all of the selected %s names" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:97 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:102 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:115 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:123 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:136 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to only show\n" +" you books that match a search. When a virtual library is in effect, calibre\n" +" behaves as though the library contains only the matched books. The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the matched books and any searches\n" +" you do will only search within the books in the virtual library. This\n" +" is a good way to partition your large library into smaller and easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:175 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:215 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:216 +msgid "The virtual library name or the search text has changed. Do you want to discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:253 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:254 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:260 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:265 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:266 +msgid "That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:273 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:274 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:412 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:413 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:288 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:289 +msgid "The search found no books, so the virtual library will be empty. Do you really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:301 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:314 +msgid "Use a \"virtual library\" to show only a subset of the books present in this library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 +msgid "(all books)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:320 +msgid "Additional restriction" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:321 +msgid "Edit Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:322 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:344 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:496 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:404 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:405 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:453 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:571 +msgid "({0} of {1})" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:578 msgid "({0} of all)" msgstr "" @@ -15777,32 +16078,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -15908,44 +16209,44 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -15967,13 +16268,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -16066,7 +16367,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -16082,209 +16383,217 @@ msgstr "" msgid "Sort by average rating" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:413 msgid "Set the sort order for entries in the Tag Browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:415 -msgid "Match type" +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:416 +msgid "Search type when selecting multiple items" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:427 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:422 +msgid "Match all of the items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:422 +msgid "Match any of the items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:429 msgid "When selecting multiple entries in the Tag Browser match any or all of them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:433 msgid "Manage authors, tags, etc" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:432 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:434 msgid "All of these category_managers are available by right-clicking on items in the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "Here you can choose a destination for the Table of Contents' entry to point to. First choose a file from the book in the left-most panel. The file will open in the central panel.

Then choose a location inside the file. To do so, simply click on the place in the central panel that you want to use as the destination. As you move the mouse around the central panel, a thick green line appears, indicating the precise location that will be selected when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "No matches for %(text)s found in the current file [%(current)s]. Do you want to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -16383,173 +16692,180 @@ msgstr "" msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "WARNING: calibre only supports the creation of linear ToCs in AZW3 files. In a linear ToC every entry must point to a location after the previous entry. If you create a non-linear ToC it will be automatically re-arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "You can move this entry around the Table of Contents by drag and drop or using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:249 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:269 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:519 -#, python-format -msgid "Move \"%s\" up" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:521 -#, python-format -msgid "Move \"%s\" down" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:522 -msgid "Remove all selected items" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 #, python-format -msgid "Unindent \"%s\"" +msgid "Move \"%s\" up" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 #, python-format -msgid "Indent \"%s\"" +msgid "Move \"%s\" down" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 msgid "Change all selected items to title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:545 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 msgid "Move current entry up [Ctrl+Up]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 msgid "Unindent the current entry [Ctrl+Left]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 msgid "Move current entry down [Ctrl+Down]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:575 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:579 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:660 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:691 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:781 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:788 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:795 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:782 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:789 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 msgid "No files were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:814 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:830 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:865 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:873 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:874 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:911 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:912 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -16618,40 +16934,40 @@ msgstr "" msgid "The following books have already been converted to %s format. Do you wish to reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "You have started calibre in debug mode. After you quit calibre, the debug log will be available in the file: %s

The log will be displayed automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -16664,16 +16980,16 @@ msgstr "" msgid "The library database at %s appears to be corrupted. Do you want calibre to try and rebuild it automatically? The rebuild may not be completely successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:637 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:658 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:659 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -16690,34 +17006,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:673 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:685 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:718 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:750 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:753 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:757 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:825 msgid "will keep running in the system tray. To close it, choose Quit in the context menu of the system tray." msgstr "" @@ -17236,29 +17552,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -17992,7 +18308,7 @@ msgid "" "Applies to: CSV, XML output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:43 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:42 #, python-format msgid "" "Title of generated catalog used as title in metadata.\n" @@ -18000,7 +18316,7 @@ msgid "" "Applies to: AZW3, ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:50 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:49 #, python-format msgid "" "Create cross-references in Authors section for books with multiple authors.\n" @@ -18008,7 +18324,7 @@ msgid "" "Applies to: AZW3, ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:57 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:56 #, python-format msgid "" "Save the output from different stages of the conversion pipeline to the specified directory. Useful if you are unsure at which stage of the conversion process a bug is occurring.\n" @@ -18016,7 +18332,7 @@ msgid "" "Applies to: AZW3, ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:67 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:66 #, python-format msgid "" "Regex describing tags to exclude as genres.\n" @@ -18024,7 +18340,7 @@ msgid "" "Applies to: AZW3, ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:74 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:73 msgid "" "Specifies the rules used to exclude books from the generated catalog.\n" "The model for an exclusion rule is either\n" @@ -18037,7 +18353,7 @@ msgid "" "Default: \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:87 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:86 #, python-format msgid "" "Include 'Authors' section in catalog.\n" @@ -18045,7 +18361,7 @@ msgid "" "Applies to: AZW3, ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:94 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:93 #, python-format msgid "" "Include 'Descriptions' section in catalog.\n" @@ -18053,7 +18369,7 @@ msgid "" "Applies to: AZW3, ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:101 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:100 #, python-format msgid "" "Include 'Genres' section in catalog.\n" @@ -18061,7 +18377,7 @@ msgid "" "Applies to: AZW3, ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:108 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:107 #, python-format msgid "" "Include 'Titles' section in catalog.\n" @@ -18069,7 +18385,7 @@ msgid "" "Applies to: AZW3, ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:115 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:114 #, python-format msgid "" "Include 'Series' section in catalog.\n" @@ -18077,7 +18393,7 @@ msgid "" "Applies to: AZW3, ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:122 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:121 #, python-format msgid "" "Include 'Recently Added' section in catalog.\n" @@ -18085,7 +18401,7 @@ msgid "" "Applies to: AZW3, ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:129 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:128 #, python-format msgid "" "Source field for Genres section.\n" @@ -18093,7 +18409,7 @@ msgid "" "Applies to: AZW3, ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:136 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:135 #, python-format msgid "" "Custom field containing note text to insert in Description header.\n" @@ -18101,7 +18417,7 @@ msgid "" "Applies to: AZW3, ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:143 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:142 #, python-format msgid "" "#:[before|after]:[True|False] specifying:\n" @@ -18112,7 +18428,7 @@ msgid "" "Applies to AZW3, ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:153 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:152 #, python-format msgid "" "Specifies the output profile. In some cases, an output profile is required to optimize the catalog for the device. For example, 'kindle' or 'kindle_dx' creates a structured Table of Contents with Sections and Articles.\n" @@ -18120,7 +18436,7 @@ msgid "" "Applies to: AZW3, ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:160 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:159 msgid "" "Specifies the rules used to include prefixes indicating read books, wishlist items and other user-specified prefixes.\n" "The model for a prefix rule is ('','','','').\n" @@ -18128,7 +18444,7 @@ msgid "" "Default:\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:169 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:168 #, python-format msgid "" "Use a named preset created with the GUI Catalog builder.\n" @@ -18137,7 +18453,7 @@ msgid "" "Applies to AZW3, ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:177 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:176 #, python-format msgid "" "Replace existing cover when generating the catalog.\n" @@ -18145,7 +18461,7 @@ msgid "" "Applies to: AZW3, ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:184 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:183 #, python-format msgid "" "Size hint (in inches) for book covers in catalog.\n" @@ -18422,38 +18738,38 @@ msgstr "" msgid "Filter the results by the search query. For the format of the search query, please see the search related documentation in the User Manual. Default is to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "The maximum width of a single line in the output. Defaults to detecting screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "The prefix for all file paths. Default is the absolute path to the library folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "The following books were not added as they already exist in the database (see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -18461,55 +18777,55 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "Assume that each directory has only a single logical book and that all files in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "Add books to database even if they already exist. Comparison is done based on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -18517,26 +18833,35 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" -"Add the ebook in ebook_file to the available formats for the logical book identified by id. You can get id by using the list command. If the format already exists, it is replaced.\n" +"Add the ebook in ebook_file to the available formats for the logical book identified by id. You can get id by using the list command. If the format already exists, it is replaced, unless the do not replace option is specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -18544,11 +18869,11 @@ msgid "" "Remove the format fmt from the logical book identified by id. You can get id by using the list command. fmt should be a file extension like LRF or TXT or EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -18557,15 +18882,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -18577,43 +18902,43 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "The field to set. Format is field_name:value, for example: {0} tags:tag1,tag2. Use {1} to get a list of all field names. You can specify this option multiple times to set multiple fields. Note: For languages you must use the ISO639 language codes (e.g. en for English, fr for French and so on). For identifiers, the syntax is {0} {2}. For boolean (yes/no) fields use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -18622,28 +18947,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -18652,11 +18977,11 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "This column stores tag like data (i.e. multiple comma separated values). Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be interpreted. This is a JSON string. For enumeration columns, use --display=\"{\\\"enum_values\\\":[\\\"val1\\\", \\\"val2\\\"]}\"\n" "There are many options that can go into the display variable.The options by column type are:\n" @@ -18669,11 +18994,11 @@ msgid "" "The best way to find legal combinations is to create a customcolumn of the appropriate type in the GUI then look at thebackup OPF for a book (ensure that a new OPF has been createdsince the column was added). You will see the JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -18683,29 +19008,29 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -18717,15 +19042,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "If the column stores multiple values, append the specified values to the existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -18734,25 +19059,25 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "No column named %s found. You must use column labels, not titles. Use calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -18762,15 +19087,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -18783,40 +19108,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -18828,45 +19153,45 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "Normally, this command only operates on books that have out of date OPF files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" "Perform some checks on the filesystem representing a library. Reports are {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -18881,16 +19206,16 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "Really do the recovery. The command will not run unless this option is specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -18898,29 +19223,29 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "Output only the number of items in a category instead of the counts per item within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "The character to put around the category value in CSV mode. Default is quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -18941,31 +19266,22 @@ msgstr "" msgid "The label must contain only lower case letters, digits and underscores, and start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3677 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3706 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3723 msgid "Compacting database" msgstr "" @@ -19173,20 +19489,20 @@ msgid "Prefix to prepend to all URLs. Useful for reverseproxying to this server msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -19209,7 +19525,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -19218,98 +19534,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -19322,19 +19638,19 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 -msgid "Specifies a restriction to be used for this invocation. This option overrides any per-library settings specified in the GUI" +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 +msgid "Specifies a virtual library to be used for this invocation. This option overrides any per-library settings specified in the GUI. For compatibility, if the value is not a virtual library but is a saved search, that saved search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "Auto reload server when source code changes. May not work in all environments." msgstr "" @@ -20072,10 +20388,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -20172,6 +20484,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -20220,105 +20557,105 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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 "" diff --git a/src/calibre/translations/cs.po b/src/calibre/translations/cs.po index b3756e257c..62f52921d4 100644 --- a/src/calibre/translations/cs.po +++ b/src/calibre/translations/cs.po @@ -7,32 +7,32 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" -"PO-Revision-Date: 2013-02-13 10:34+0000\n" -"Last-Translator: Jakub Jezbera \n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" +"PO-Revision-Date: 2013-04-18 13:06+0000\n" +"Last-Translator: Jakub Jelínek \n" "Language-Team: Czech \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:10+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:25+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "Nedělá vůbec nic" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "Nedělá vůbec nic" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "Nedělá vůbec nic" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "Nedělá vůbec nic" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "Nedělá vůbec nic" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "Nedělá vůbec nic" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "Nedělá vůbec nic" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -331,73 +331,73 @@ msgstr "Nastavuje metadata do souborů %s" msgid "Set metadata from %s files" msgstr "Nastavuje metadata ze souborů %s" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "Přidejte knihy do calibre nebo připojeného zařízení" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "Přenést poznámky z připojeného Kindle (experimentální)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "Sestavit katalog knih ve vaší knihovně calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "Převést knihy do různých formátů e-knih" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" -msgstr "" +msgstr "Upravit obsah v knihách" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "Smazat knihy z vaší knihovny calibre nebo připojeného zařízení" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "Upravit metadata knih ve vaší knihovně calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "Číst knihy ve vaší knihovně calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "Stáhnout zprávy z internetu ve formě e-knihy" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Rychle ukázat seznam souvisejících knih" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "Exportovat knihy z knihovny calibre na pevný disk" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "Ukázat detaily knihy v odděleném okně" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "Restartovat Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "Otevři složku, která obsahuje soubory knih v knihovně calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "Pošli knihy do připojeného zařízení" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" @@ -405,42 +405,42 @@ msgstr "" "Odeslat knihy přes e-mail nebo web a spojit s iTunes nebo složkami ve vašem " "počítači jako by byly čtečkou" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "Prohlédnout uživatelský manuál calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "Přizpůsobit calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "Snadno najde knihy podobné právě vybrané knize" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "Přepne mezi různými knihovnami calibre a provede na nich údržbu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "Zkopírovat knihy ze zařízení do knihovny calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "Editovat kolekce, do kterých jsou ve vaší čtečce žazeny knihy" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "Kopíruje knihu z jedné knihovny calibre do jiné" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" "Provádění malých vylepšení souborům epub nebo htmlz ve vaší knihovně calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" @@ -448,119 +448,119 @@ msgstr "" "Najde další nebo předchozí výsledek při vyhledávání v calibre knihovně ve " "zvýrazněném módu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "Vybrat náhodnou knihu z knihovny calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "Hledej knihy od různých knihkupců" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "Získat nové pluginy pro Calibre nebo aktualizovat stávající" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Vzhled" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Rozhraní" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "Přizpůsobení vzhledu rozhraní calibre, aby odpovídalo vašemu vkusu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "Chování" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "Mění způsob chování calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Přidejte své vlastní sloupce" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "Přidejte/odeberte své vlastní sloupce ze seznamu knih calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Panel nástrojů" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "Přizpůsobení panelu nástrojů a místních nabídek" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "Vyhledávání" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "Přizpůsobení způsobu vyhledávání knih v calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "Nastavení vstupu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Převod" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "Nastavení převodu specifická pro jednotlivé vstupní formáty" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Společná nastavení" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "Nastavení převodu společná pro všechny formáty" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "Nastavení výstupu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "Nastavení převodu specifická pro jednotlivé výstupní formáty" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "Přidávání knih" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "Import/Export" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "Nastavuje jak calibre čte metadata ze souborů při přidávání knih" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "Ukládání knih na disk" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -568,51 +568,51 @@ msgstr "" "Nastavuje jak calibre exportuje soubory z jeho databáze na disk při použití " "Ulož na disk" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "Posílání knih do zařízení" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" "Nastavuje jak calibre přesouvá soubory do vaší čtečky elektronických knih" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "Zásuvné panely s metadaty" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "Změňte pole metadat před uložením/odesláním" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "Funkce šablony" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "Pokročilé" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "Vytvořte si vlastní funkce šablony" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "Sdílení knih pomocí emailu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "Sdílení" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -620,11 +620,11 @@ msgstr "" "Natavení sdílení knih pomocí emailu. Může být použito pro automatické " "odesílání stažených zpráv do vašich zařízení" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "Sdílení po síti" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -632,20 +632,20 @@ msgstr "" "Natavení obsahového serveru calibre, který vám umožní přistupovat k vaší " "knihovně calibre odkudkoliv, na jakémkoli zařízení, přes internet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "Stáhnutí metadat" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "Nastavuje jak calibre stahuje metadata knih z internetu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "Ignorovaná zařízení" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." @@ -653,37 +653,37 @@ msgstr "" "Určit, které zařízení bude Calibre ignorovat, pokud bude připojeno k " "počítači." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Moduly" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Přidat/odebrat/nastavit různé funkce calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "Vylepšení" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "Doladit chování calibre v různých situacích" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "Klávesnice" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "Přizpůsobte si klávesové zkratky používané v calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Různé" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "Pokročilé nastavení" @@ -912,7 +912,7 @@ msgstr "Tento profil je určen pro zařízení řady PocketBook Pro 900." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:785 msgid "" "This profile is intended for the PocketBook Pro 912 series of devices." -msgstr "" +msgstr "Tento profil je určen pro zařízení ze série PocketBook Pro 912." #: /home/kovid/work/calibre/src/calibre/customize/ui.py:30 msgid "Installed plugins" @@ -988,8 +988,8 @@ msgstr "Povolit uvedený modul" msgid "Disable the named plugin" msgstr "Zakázat uvedený modul" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -999,11 +999,22 @@ msgstr "Zakázat uvedený modul" msgid "Path to library too long. Must be less than %d characters." msgstr "Cesta ke složce knihovny je moc dlouhá. Musí mít méně než %d znaků." -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "vytváření uživatelských sloupců " + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -1015,26 +1026,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "%(tt)s Průměrné hodnocení je %(rating)3.1f" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "Hlavní" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "Karta A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "Karta B" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1047,11 +1058,11 @@ msgstr "Karta B" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Zprávy" @@ -1059,14 +1070,14 @@ msgstr "Zprávy" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "zaškrtnuto" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "ano" @@ -1074,7 +1085,7 @@ msgstr "ano" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "ne" @@ -1082,43 +1093,68 @@ msgstr "ne" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "nezaškrtnuto" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "dnes" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "včera" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "tentoměsíc" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "dní zpět" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "prázdný" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "prázdný" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" +msgstr "Neplatný boolean dotaz \"{0}\"" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" msgstr "" #: /home/kovid/work/calibre/src/calibre/debug.py:75 @@ -1144,13 +1180,13 @@ msgstr "Protokol ladění" #: /home/kovid/work/calibre/src/calibre/debug.py:272 #, python-format msgid "No plugin named %s found" -msgstr "" +msgstr "Plugin se jménem %s nebyl nalezen." #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:19 msgid "Communicate with Android phones." msgstr "Komunikace s telefony Android." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" @@ -1158,7 +1194,7 @@ msgstr "" "Čárkou oddělený seznam adresářů k odeslání e-knihy na zařízení hlavní " "paměť. První z nich, který existuje, bude použit" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" @@ -1166,11 +1202,11 @@ msgstr "" "Čárkou oddělený seznam adresářů k odeslání e-knihy na zařízení paměťová " "karta. První z nich, který existuje, bude použit" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "Komunikovat s telefony S60." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "Spojeno s tablety s WebOS" @@ -1320,8 +1356,8 @@ msgstr "" "Pro zobrazení seznamu klepněte na 'Zobrazit podrobnosti'." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "Katalog" @@ -1376,10 +1412,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1420,6 +1456,7 @@ msgstr "Přidávání knih do seznamu metadat v zařízení..." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1754,17 +1791,17 @@ msgstr "" "modifikovali obálku." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "Nahrát černobílé obálky" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "Ukaž knihy, které vypršely." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1772,12 +1809,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "Ukaž náhledy" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1785,7 +1822,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "Ukaž doporučení" @@ -1797,7 +1834,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1810,10 +1847,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "Nepodporovaná verze Kobo databáze - zobrazit podrobnosti" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1874,66 +1913,68 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "Zadejte typy sloupců štítků pro automatické řízení" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "Vytvořit regály" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "Vymazat prázdné regály" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "Nahrát obaly knih" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" +"Během nahrávání obálek neměnit při změně velikosti poměr stran. (Pro " +"firmware v. 2.3.1 a novější)" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "Nastavit informace série" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1941,7 +1982,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1950,11 +1991,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" -msgstr "" +msgstr "Titul pro vyzkoušení během ladění" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1974,55 +2015,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "Spojit se s Sweex/Kogan/Q600/Wink" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "Komunikace s Pandigital Novel" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "Komunikace s VelocityMicro" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "Komunikace s GM2000" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "Komunikace s Acer Lumiread" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "Komunikace s Aluratek Color" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "Komunikace s Trekstor" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "Komunikace s EEE Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "Spojeno s tabletem Adam" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "Komunikace s Nextbook Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "Spojeno se čtečkou Moovybook" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "Spojeno s COBY" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "Komunikace s Ex124G" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2118,7 +2159,7 @@ msgstr "Nalezen objekt: %s" #: /home/kovid/work/calibre/src/calibre/devices/mtp/windows/driver.py:61 msgid "MTP devices are not supported on Windows XP" -msgstr "" +msgstr "MTP zařízení nejou na Windows XP podporována" #: /home/kovid/work/calibre/src/calibre/devices/mtp/windows/driver.py:69 msgid "" @@ -2147,7 +2188,7 @@ msgstr "Nook" msgid "Communicate with the Nook eBook reader." msgstr "Komunikace se čtečkou Nook." -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "Komunikovat s Nook Color, TSR a Tablet eBook čtečkami." @@ -2669,7 +2710,7 @@ msgid "There is insufficient free space on the storage card" msgstr "Na paměťové kartě není dostatek volného místa" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "Úspešný převod %s" @@ -3063,24 +3104,24 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "Soubor CSS používaný pro výstup namísto výchozího souboru" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "Šablona použitá ke generování html indexu namísto výchozího souboru" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" "Šablona použitá ke generování html obsahu knihy namísto výchozího souboru" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3395,15 +3436,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4513,7 +4558,7 @@ msgstr "" msgid "Set book ID" msgstr "Zadejte identifikátor knihy" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4539,27 +4584,27 @@ msgstr "Ne" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "Název" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "Autor(ři)" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "Vydavatel" @@ -4595,13 +4640,14 @@ msgstr "Komentáře" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "Štítky" @@ -4610,9 +4656,10 @@ msgstr "Štítky" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4623,7 +4670,7 @@ msgstr[1] "Série" msgstr[2] "Série" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4635,8 +4682,8 @@ msgstr "Časové razítko" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "Vydáno" @@ -4773,60 +4820,60 @@ msgstr "" "Stáhnout obálku/metadata pro knihu identifikovanou podle ISBN z " "LibraryThing.com\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "Obálka" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "Stáhnout metadata a obálky z Amazonu" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "US" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "Francie" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "Německo" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "UK" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "Itálie" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "Japonsko" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "Španělsko" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "Stránka Amazonu k použití:" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "Metadata od Amazonu budou načtena pomocí místní stránky Amazon." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "Spojení s Amazonem vypršelo. Zkuste to později." @@ -4834,6 +4881,24 @@ msgstr "Spojení s Amazonem vypršelo. Zkuste to později." msgid "Metadata source" msgstr "Zdroj meta dat" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " @@ -4842,7 +4907,7 @@ msgstr "" "Stáhnout metadata a obálky z Douban.com. Použitelné pouze pro knihy v " "čínštině." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4852,6 +4917,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "Stáhnout metadata a obálky z Google Books" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "Velké" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "Stahuje metadata z isbndb.com" @@ -4922,12 +5028,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "Toto je kniha Amazon Topaz. Ta nemůže být zpracována." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "Toto není MOBI soubor. Je to Topaz soubor." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "Toto není MOBI soubor." @@ -4954,72 +5060,72 @@ msgid "No details available" msgstr "Žádné detaily nejsou k dispozici" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "Obsah" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "Titulní stránka" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "Rejstřík" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "Slovník pojmů" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "Pděkování" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "Bibliografie" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "Tiráž" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "Autorská práva" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "Věnování" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "Doslov" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "Předmluva" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "Seznam Ilustrací" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "Seznam tabulek" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "Poznámky" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "Úvod" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "Hlavní text" @@ -5028,14 +5134,14 @@ msgstr "Hlavní text" msgid "%s format books are not supported" msgstr "Knihy ve formátu %s nejsou podporovány." -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -5060,12 +5166,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -5098,7 +5204,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -5223,9 +5329,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -5241,11 +5347,11 @@ msgid "HTML TOC generation options." msgstr "Volby generátoru obsahu HTML" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "Hodnocení" @@ -5292,6 +5398,10 @@ msgstr "" "Nepodařilo ze najít pdftohtml, zkontrolujte zda je cesta k němu v sytémové " "proměné PATH" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5453,7 +5563,7 @@ msgid "Show this confirmation again" msgstr "Ukázat toto potvrzení znovu" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "Vyžadován restart" @@ -5581,12 +5691,12 @@ msgstr "Ovládání přidávání knih" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5663,8 +5773,8 @@ msgstr "Přidat do knihovny" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5786,7 +5896,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "Vyberte umístění pro %(title)s.%(fmt)s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5836,7 +5946,7 @@ msgid "No existing calibre library found at %s" msgstr "Žádná existující knihovna calibre nebyla nalezena v %s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "Zvolit knihovnu" @@ -5850,7 +5960,7 @@ msgstr "Přepnout/vytvořit knihovnu..." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5862,12 +5972,12 @@ msgid "Pick a random book" msgstr "Vyber náhodnou knihu" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "Rychlý přepínač" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "Přejmenuj knihovnu" @@ -6018,7 +6128,7 @@ msgstr "" "kontrolovalo, zda soubory ve vaší knihovně souhlasí s informacemi v databázi?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -6048,7 +6158,7 @@ msgstr "Soubory ve vaší knihovny souhlasí s informacemi z databáze." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -6091,7 +6201,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "Vytvořit katalog z knih ve Vaší calibre knihovně" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "Nelze převést" @@ -6104,96 +6214,109 @@ msgstr "Zahajuji konverzi %d knih(y)" msgid "Empty output file, probably the conversion process crashed" msgstr "Výstupní soubor je prázdný, pravděpodobně proces převodu havaroval" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "Zvolit knihovnu" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "Kopíruj do knihovny" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "Kopírovat označené knihy do specifikované knihovny" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "(smazat po zkopírování)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "Nelze kopírovat" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "Žádná knihovna" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "Nebyla nalezena žádná knihovna v %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "Zkopírováno %(num)d knih do %(loc)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "Nelze kopírovat knihy: " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "Automaticky sloučeno" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -6214,6 +6337,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "Jste si jisti?" @@ -6292,11 +6416,11 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "Vyberte formáty, které chcete smazat" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." @@ -6304,50 +6428,50 @@ msgstr "" "Vyberte formáty které nechcete smazat.

Tato volba nikdy nesmaže " "všechny formáty z knihy," -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "Není možné smazat knihy" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "Není připojeno žádné zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "Hlavní paměť" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "Paměťová karta A" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "Paměťová karta B" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "Žádné knihy ke smazání" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "Žádné knihy z vybraných nejsou na zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "Mažu knihy ze zařízení." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" @@ -6355,21 +6479,19 @@ msgstr "" "Některé z vybraných knih jsou v připojeném zařízení. Odkud chcete " "vybrané soubory smazat?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -"Vybrané knihy budou trvale odstraněny a soubory smazány z vaše " -"calibre knihovny. Jste si jisti?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" -"Vybrané knihy budou trvale odstraněny z vašeho zařízení. Jste si " -"jisti?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 msgid "Start wireless device connection" @@ -6444,12 +6566,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "Zastavuji" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "Zastavuji server, to může trvat až minutu, prosím, čekejte..." @@ -6533,8 +6655,8 @@ msgstr "Nepodařilo se stáhnout metadata" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "Stahování selhalo" @@ -6571,7 +6693,7 @@ msgid "Download complete" msgstr "Stahování dokončeno" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "Download log" @@ -6659,15 +6781,15 @@ msgstr "" "dalších vybraných knihách budou trvale odstraněny z vaší knihovny " "calibre.

Jste si jistí že to chcete provést?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "Použít změněná metadata" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "Vyskytly se chyby" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6772,17 +6894,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6791,185 +6924,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "Vylepšit &interpunkce" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -7089,7 +7233,7 @@ msgid "Click the show details button to see which ones." msgstr "Klikněte na tlačítko zobrazit detaily pro zjištění které z nich." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "Zobrazit podrobnosti o knize" @@ -7194,7 +7338,7 @@ msgid "this book" msgstr "tato kniha" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "Hledat %s" @@ -7206,17 +7350,17 @@ msgstr "Obchody" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "Zvolte obchody" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "Nelze hledat" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." @@ -7224,14 +7368,14 @@ msgstr "" "Calibre Vám pomáhá nalézt knihy, které chcete, prohledáváním webových " "stránek různých zdrojů komerčních a volných knih." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -7247,11 +7391,11 @@ msgstr "" "vaší čtečkou elektronických knih, zvláště pokud kniha, kterou kupujete " "obsahuje DRM." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "Ukaž tuto zprávu znovu" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "O funkci získat knihy" @@ -7520,7 +7664,7 @@ msgid "The specified directory could not be processed." msgstr "Zadaný adresář nebylo možné zpracovat." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "Žádné knihy" @@ -7745,7 +7889,7 @@ msgid "Click to open" msgstr "Klikněte pro otevření" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "Ids" @@ -7755,7 +7899,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "Kolekce" @@ -7789,16 +7933,25 @@ msgstr "Cesta" msgid "Cover size: %(width)d x %(height)d" msgstr "Velikost obálky: %(width)d x %(height)d" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "Vymazat %s formát" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "Uložit %s formát na disk" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "BibTeX volby" @@ -7866,7 +8019,7 @@ msgstr "výstup" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -8052,7 +8205,7 @@ msgstr "Pravda" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "Jméno" @@ -8392,8 +8545,8 @@ msgid "Style the selected text block" msgstr "Nastyluj označené textové pole" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "Normální" @@ -9328,59 +9481,63 @@ msgstr "Žádné obrázky" msgid "PDF Output" msgstr "PDF Výstup" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "&Velikost papíru:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "&Vlastní velikost:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "Zachovat poměr stran pro obálku" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "&Patkové písmo" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "&Bezpatkové písmo:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "&Neproporcionální písmo:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "Vý&chozí písmo:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -9392,13 +9549,29 @@ msgstr "" msgid " px" msgstr " px" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "&Velikost neproporcionálního písma:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9639,6 +9812,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "Převést" @@ -10219,7 +10396,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "Žádné vhodné formáty" @@ -10265,67 +10442,67 @@ msgstr "Zařízení: " msgid " detected." msgstr " nalezeno." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "vybrané k odeslání" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "Žádné zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "Není připojeno žádné zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "0 z %i Knih" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "Vyberte formát k odeslání do zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "Nemohu odeslat: Není připojeno žádné zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "Žádná karta" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "Nemohu odeslat: Zařízení nemá pamětovou kartu." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" "Automaticky zkonvertovat následující knihy, než se nahrají do zařízení?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "Odeslat katalog do zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "Odesílám zprávy do zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "Odesílám knihy do zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." @@ -10334,18 +10511,18 @@ msgstr "" "žádné vhodné formáty. Převést knihu(y) do formátu, které přístroj primárně " "podporuje." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "Na zařízení není volné místo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" "

Knihy není možné odeslat do zařízení pro nedostatek volného úložného " "prostoru " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "Nesprávné umístění" @@ -10507,7 +10684,7 @@ msgstr "Zobrazit informace o zařízení" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -11109,13 +11286,13 @@ msgid "Where do you want to delete from?" msgstr "Odkud chcete mazat?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "Knihovna" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "Zařízení" @@ -11151,8 +11328,8 @@ msgid "Location" msgstr "Umístění" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -11171,13 +11348,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "Položka je prázdná" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "Položka nemůže být nastavena na nic. Smažte ji." @@ -11284,7 +11461,7 @@ msgstr "Odkaz" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "Nebyly nalezeny žádné výsledky" @@ -11332,12 +11509,12 @@ msgid "Copy to author" msgstr "Kopírovat k autorovi" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "Neplatné jméno autora" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "Jméno autora nemůže obsahovat znaky &." @@ -11432,40 +11609,40 @@ msgstr "&Skrýt všechny úlohy" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "&Kopírovat do schránky" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "Zobrazit &detaily" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "Skrýt &detaily" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "Zobrazit detailní informace o této chybě" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "Kopírováno" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "Zobrazit log" @@ -12377,6 +12554,7 @@ msgstr "Ruším..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -12412,12 +12590,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "Hledat" @@ -13002,12 +13180,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -13059,6 +13237,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "Vydavatelé" @@ -13073,6 +13252,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "Neplatné jméno" @@ -13969,7 +14149,7 @@ msgid "&Shortcut:" msgstr "&Zkratka" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "Dokončeno" @@ -14013,7 +14193,7 @@ msgstr "Hledej klávesovou zkratku podle jména" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "Žádné shody" @@ -14023,48 +14203,52 @@ msgstr "Žádné shody" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "Odpojit toto zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "Zobrazit knihy z Calibre knihovny" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "Zobrazit knihy z hlavní paměti zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "Zobrazit knihy na paměťové kartě A" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "Zobrazit knihy na paměťové kartě B" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "Odstranit knihovnu" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "dostupné" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "Rozšířené vyhledávání" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "Shift+Ctrl+F" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" @@ -14072,19 +14256,19 @@ msgstr "" "

Hledání v seznamu knih podle názvu, autora, vydavatele, štítků, " "komentářů, atd.

Slova rozdělená mezerou budou doplněna o AND" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "&Začít!" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "Provést rychlé hledání (můžete také stisknout klávesu Enter)" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "Zrušit rychlé vyhledávání" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "Zkopírovat právě hledaný text (namísto hledání názvu)" @@ -14097,32 +14281,32 @@ msgstr "hvězdiček" msgid "Y" msgstr "Y" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "Na zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "Velikost (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "Změněno" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "Hledaný název je \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "UUID knihy je \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -14131,30 +14315,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "V knihovně" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "Velikost" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "Označeno ke smazání" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "Dvakrát klikněte na upravit

" @@ -14261,7 +14445,7 @@ msgid "Previous Page" msgstr "Předcházející strana" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -14772,7 +14956,7 @@ msgid "Edit Metadata" msgstr "Upravit metadata" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14919,15 +15103,15 @@ msgstr "&Komentáře" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14935,29 +15119,29 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "Dotaz: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" "Nepodařilo se stáhnout metadata. Klepněte na tlačítko Zobrazit podrobnosti " "k zobrazení detailů" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14965,38 +15149,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "Stáhnout obálku..." @@ -15146,7 +15336,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -15189,34 +15380,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "Vysoká" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "Nízká" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "Volitelné" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "Všechny potvrzovací dialogy byly vyresetovány" @@ -15267,18 +15458,15 @@ msgid "Job &priority:" msgstr "&Priorita úloh:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" -msgstr "Omezení platí pokud je současná knihovna otevřená:" +msgid "Virtual library to apply when the current library is opened:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" -"Použít toto omezení při startu Calibre, pokud je používána stávající " -"knihovna. Také bude použito při přepnutí na tuto knihovnu. Všimněte si, že " -"toto nastavení je na knihovnu. " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170 msgid "Edit metadata (single) layout:" @@ -16213,10 +16401,6 @@ msgstr "" msgid "Small" msgstr "Malé" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "Velké" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "Střední" @@ -16234,7 +16418,7 @@ msgid "Never" msgstr "Nikdy" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "Podle prvního písmena" @@ -17220,20 +17404,20 @@ msgstr "" "jednotlivá zařízení přizpůsobením pluginů rozhraní zařízení v Nastavení-> " "Upřesnit-> Pluginy" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "Nepodařilo se spustit obdahový server" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "Záznam o chybách:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "Záznam o přístupu" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "Musíte restartovat server, aby se změny projevily" @@ -17268,18 +17452,18 @@ msgid "Max. &OPDS items per query:" msgstr "Maximum OPDS položek v dotaze:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" -msgstr "Max. OPDS &neseskupených položek:" +msgid "Max. &ungrouped items:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" -msgstr "Omezení (uložených vyhledávání) k použítí:" +msgid "Virtual library to apply:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -17659,39 +17843,49 @@ msgstr "Obnovit &výchozí" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" -msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" +msgstr "Vytvořit uložené hledání" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "Označené hledání bude definitivně smazáno. Jste si jistý?" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "Vyhledávání (pro rozšířené vyhledávání klikněte na tlačítko vlevo)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "Zapnout či vypnout zvýrazněné vyhledávání" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "Uložená vyhledávání" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "Zvolit uložené hledání, nebo vložit jméno pro nově uložené hledání" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." @@ -17699,45 +17893,185 @@ msgstr "" "Uložení aktuální hledání pod názvem uvedeným v polil. Stisknout a podržet " "tlačítko pro vyskakovací menu voleb." -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "Vytvořit uložené hledání" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "Smazat uložené hledání" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "Spravovat uložená hledání" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" -msgstr "*Aktuální hledání" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" -msgstr "Omezit na" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "Všechny knihy" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" -msgstr "Zobrazení knih bude omezeno na odpovídající vybraná uložená hledání" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "({0} z {1})" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "({0} ze všech)" @@ -18013,32 +18347,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "Žádný dotaz" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "Nebyly nalezeny knihy odpovídající vašemu dotazu" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -18154,46 +18488,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "Změna autorů pro mnoho knih může trvat delší dobu. Jste si jisti?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "Změna metadat pro tak mnoho knih bude trvat dlouho. Jste si jisti?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "Hledání" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "Zduplikovat hledané jméno" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "Uložené vyhledávací jméno %s je již používáno." @@ -18215,13 +18549,13 @@ msgid "Manage Tags" msgstr "Spravovat štítky" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "Spravovat uživatelské kategorie" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "Spravovat uložená hledání" @@ -18314,7 +18648,7 @@ msgid "Alter Tag Browser" msgstr "Prohlížeč štítků" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "Řadit podle" @@ -18355,138 +18689,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "Přejmenovat %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "Hledat vše kromě %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "Skrýt kategorii %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "Zobrazit kategorii" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "Hledat knihy v kategorii %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "Hledat knihy mimo kategorii %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "Spravovat %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "Zobrazit všechny kategorie" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -18497,56 +18831,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -18588,73 +18922,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -18662,134 +19007,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18871,31 +19261,31 @@ msgstr "" "Následující knihy již byly převedeny do %s formátu. Přejete si je " "překonvertovat?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "&Přispějte na vývoj calibre." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "&Obnovit" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "&Vysunout připojené zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "Smaž poslední hledání" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "Ladící režim" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18903,11 +19293,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18923,16 +19313,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "Chyba převodu" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "

Převedení selhalo: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18955,23 +19345,23 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "Zdroj zakázán" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "Selhalo" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "Prpbíha zpracování úloh. Opravdu chcete program ukončit?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" @@ -18981,11 +19371,11 @@ msgstr "" " Ukončení může způsobit poškození v zařízení.
\n" " Jste si jisti?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "Aktivní joby" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -19537,29 +19927,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -20860,19 +21250,19 @@ msgstr "" "vyhledávání se podívejte do související dokumentace v uživatelské příručce. " "Výchozí je neprovádět žádné filtrování." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" "Maximální šířka řádku ve výstupu. Výchozí pro určení velikosti obrazovky." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "Řetězec použitý k oddělení polí. Výchozí je mezera." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." @@ -20880,15 +21270,15 @@ msgstr "" "Prefix pro všechny cesty k souborům. Výchozí je absolutní cesta do knihovní " "složky." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "Neplatná pole. Dostupná pole:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "Neplatné pole pro řazení. Dostupná pole:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" @@ -20896,13 +21286,13 @@ msgstr "" "Následující knihy nebyly přidány, protože již existují v databázi " "(prozkoumejte --duplicates volbu)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -20911,7 +21301,7 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" @@ -20919,11 +21309,11 @@ msgstr "" "Předpokládá se, že každý adresář obsahuje pouze jednu logickou knihu, a že " "všechny soubory v něm jsou různé formáty této knihy" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "Zpracuj adresáře rekurzivně" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." @@ -20931,43 +21321,43 @@ msgstr "" "Přidat knihy do databáze, i když již existují. Srovnání je prováděno na " "základě názvů knih." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "Přidat prázdnou knihu (knihu bez formátu)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "Musíte vybrat alespoň jeden soubor" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20978,28 +21368,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "Je třeba určit alespoň jednu knihu k odstranění" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "Musíte zadat id a ebook soubor" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "ebook soubor musí mít příponu" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -21009,11 +21409,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "Musíte zvolit id a formát" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -21028,15 +21428,15 @@ msgstr "" "Ukázat metadata uložená v calibre databázi pro knihu identifikovanou id.\n" "id je číslo ze seznamu příkazů.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "Vytisknout metadata v OPF formě (XML)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "Musíte zvolit id" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -21051,7 +21451,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -21061,40 +21461,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -21105,28 +21505,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "Exportovat všechny knihy do databáze bez ohledu na ID." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "Exportovat knihy do adresáře. Výchozí je" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "Exportovat všechny knihy do jednoho adresáře" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "Nastavení tohoto přepínače vypne toto chování." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "Musíte specifikovat nějaká IDčka, nebo %s volby" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -21137,7 +21537,7 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." @@ -21145,7 +21545,7 @@ msgstr "" "Tento sloupec ukládá tagy jako data (mnoho čárkou oddělených hodnot). " "Použitelné pouze pokud je datový typ text." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -21165,11 +21565,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "Musíte zadat označení, název a datový typ" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -21180,7 +21580,7 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" @@ -21190,7 +21590,7 @@ msgstr "" "Pokud je deklarováno, volba --search je ignorována.\n" "Výchozí: all" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" @@ -21201,17 +21601,17 @@ msgstr "" "příručce.\n" "Výchozí: bez filtrování" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" "Zobrazit podrobné výstupní informace. Užitečné pro hledání chyb v programu" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "Chyba: Musíte zadat výstupní soubor katalogu" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -21223,7 +21623,7 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." @@ -21231,11 +21631,11 @@ msgstr "" "Pokud sloupec ukládá více hodnot, přidá zvolené hodnoty do jedné existující, " "místo toho, aby se nahradila." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "Chyba: Musíte zadat název pole, id a hodnotu" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -21249,27 +21649,27 @@ msgstr "" " Seznam dostupných vlastních sloupců. Zobrazí popisky sloupců a ids.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "Zobrazit podrobnosti pro každý sloupec." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "a" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -21279,15 +21679,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "Bez dotazu na potvrzení" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "Chyba: Musíte zadat šířku sloupce" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -21300,41 +21700,41 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "Chyba: Musíte zadat akci (přidat|odstranit|seznam)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "Název:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "Hledaný řetězec:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "Chyba: Musíte zadat název a hledaný řetězec" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "přidáno" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "Chyba: Musíte zadat název" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "odstraněno" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" "Chyba: Akce %s nebyla uznána, musí být jedna z: (přidat|odstranit|seznam)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -21348,13 +21748,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -21364,12 +21764,12 @@ msgstr "" "%prog check_library [options]\n" "Provede nějaké kontroly na filesystému, kde je knihovna. Reporty jsou {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "Výstup ve formátu CSV" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" @@ -21377,7 +21777,7 @@ msgstr "" "Čárkou oddělený seznam reportů.\n" "Výchozí: all" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" @@ -21385,7 +21785,7 @@ msgstr "" "Čárkami oddělený seznam ignorovaných přípon.\n" "Výchozí: all" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" @@ -21393,11 +21793,11 @@ msgstr "" "Čárkami oddělený seznam ignorovaných jmen.\n" "Výchozí: all" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "Neznámé hlášení o kontrole" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -21412,19 +21812,19 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" "Opravdu proveď obnovu. Příkaz nebude spuštěn, dokud je volba zvolena." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "Musíte poskytnout %s volbu pro spuštění obnovy" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -21436,7 +21836,7 @@ msgstr "" "Vytvoří report kategorií informací v databázi.\n" "Informace je ekvivalentem toho, co se zobrazuje v panelu štítků.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" @@ -21444,7 +21844,7 @@ msgstr "" "Výstupem je jen počet položek v kategorii namísto počtu položek v rámci " "kategorie." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." @@ -21452,7 +21852,7 @@ msgstr "" "Znak, který se umístí kolem hodnoty kategorie v CSV módu. Výchozí jsou " "uvozovky (\")." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" @@ -21460,15 +21860,15 @@ msgstr "" "Čárkami oddělený seznam kategorií hledaných jmen.\n" "Výchozí: all" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "Řetězec použitý k oddělení polí v režimu CSV. Výchozí je čárka." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "POLOŽKY KATEGORIE" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -21493,31 +21893,22 @@ msgstr "" "Štítek musí obsahovat pouze malá písmena, číslice a podtržítka, a musí " "začínat písmenem" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "vytváření uživatelských sloupců " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "

Migruji starou databázi do knihovy ebooků v %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "Kopírování %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "Zhutňování databáze" @@ -21778,20 +22169,20 @@ msgstr "" "server z Apache/nginx/atd." #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "Všechny knihy" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "Nejnovější" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "Načítání, prosím čekejte" @@ -21814,7 +22205,7 @@ msgid "Browsing %d books" msgstr "Procházení %d knih" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "Průměrné hodnocení" @@ -21823,98 +22214,98 @@ msgstr "Průměrné hodnocení" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "%d hvězd" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "Oblíbenost" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "knihovna" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "domů" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "Procházet knihy podle" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "Zvolte kategorii k procházení:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "Procházení podle" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "Nahoru" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "v" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "Knihy v" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "Ostatní formáty" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "Číst %(title)s ve formátu %(fmt)s" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "Získat" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "Podrobnosti" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "Stálý odkaz" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "Trvalý odkaz k této knize" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "Tato kniha byla smazána" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "v hledání" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "Odpovídající knihy" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -21927,21 +22318,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "Cesta ke knihovně pro content server" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "Zapsat proces PID do zadaného souboru" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -22958,10 +23351,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -23060,6 +23449,31 @@ msgstr "Kód běží" msgid "Restart console" msgstr "Restartovat konzoli" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "URL musí být ve formátu s sftp" @@ -23108,101 +23522,101 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "\"%s\" zdroj musí obsahovat jméno a heslo." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "Stahování dokončeno" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "Nepodařilo se stáhnout následující články:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "Nepodařilo se stáhnout části následujících článků:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr " od " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "\tChybné odkazy:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "Stahuji zdroje..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "Získány zdroje z úvodní strany" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "Pokouším se stáhnout obálku..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "Generování tiráže..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "Startuji download [%d vláken]" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "Stáhnout zdroje z %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "Nemohu stáhnout obálku: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "Stahování obálky z %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "Obrázek z tiráže stažen" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "Nepojmenovaný článek" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "Článek stažen: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "Stažení článku selhalo: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "Stahuji feed" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 msgid "" "Failed to log in, check your username and password for the calibre " "Periodicals service." @@ -23210,7 +23624,7 @@ msgstr "" "Přihlášení selhalo, zkontrolujte své uživatelské jméno a heslo pro calibre " "Novinovou službu." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -23489,7 +23903,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/cy.po b/src/calibre/translations/cy.po index b2b26756c5..4fb244e37f 100644 --- a/src/calibre/translations/cy.po +++ b/src/calibre/translations/cy.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2012-02-26 20:21+0000\n" "Last-Translator: Rachael Munns \n" "Language-Team: Welsh \n" @@ -16,24 +16,24 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=n==1 ? 0 : n==2 ? 1 : (n != 8 && n != 11) ? " "2 : 3;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:24+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:40+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "Dim yn gwneud dim byd" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -88,8 +88,8 @@ msgstr "Dim yn gwneud dim byd" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -100,9 +100,9 @@ msgstr "Dim yn gwneud dim byd" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -111,7 +111,7 @@ msgstr "Dim yn gwneud dim byd" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -124,7 +124,7 @@ msgstr "Dim yn gwneud dim byd" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -146,13 +146,13 @@ msgstr "Dim yn gwneud dim byd" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -161,33 +161,33 @@ msgstr "Dim yn gwneud dim byd" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -326,74 +326,74 @@ msgstr "Gosodwch uwchddata yn ffeiliau %s" msgid "Set metadata from %s files" msgstr "Gosodwch uwchddata o ffeiliau %s" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "Ychwanegwch llyfrau i Calibre neu i ddyfais cysylltiedig" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "Diléuwch lyfrau o'ch llyfrgell Calibre neu'ch dyfais cysylltiedig" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "Golygwch yr uwchddata o lyfrau yn eich llyfrgell Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "Darllenwch lyfrau yn eich llyfrgell Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "Lawrlwythwch newyddion o'r rhyngrwyd yn ffurf e-lyfr" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Dangoswch rhestr o lyfrau cytras" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "Ail-ddechreuwch Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" "Agorwch y ffolder sy'n cynnwys ffeiliau lyfr yn eich llyfrgell Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "Anfonwch lyfrau i'r ddyfais cysylltiedig" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" @@ -401,278 +401,278 @@ msgstr "" "Anfonwch llyfrau gyda e-bost neu'r we. Ymgysylltwch hefyd gyda iTunes, neu i " "ffolderau ar eich cyfrifriadur fel eu bod nhw'n ddyfeisiau" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "Addaswch Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "Chwiliwch am lyfrau sy'n debyg i'r lyfr ddewisiedig" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "Copïwch lyfrau o'r ddyfais i'ch llyfrgell Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "Golygwch y casgliadau sy'n cynnwys llyfrau ar eich ddyfais" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "Copïwch lyfr o un llyfrgell Calibre i'r llall" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" "Gwnewch newidiadau bach i ffeiliau EPUB neu HTMLZ yn eich llyfrgell Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "Dewiswch lyfr ar hâp o'ch llyfrgell Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "Chwiliwch am lyfrau o siopau lyfrau gwahanol" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Golwg a Theimlad" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Rhyngwyneb" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "Addaswch golwg a theimlad o'r rhyngwyneb Calibre i'ch ddant" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "Ymddygiad" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "Addaswch ymddygiad Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Ychwanegwch eich colofnau dy hun" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "Ychwanegwch/tynnwch eich colofnau eich hun i restr lyfrau Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Bar Offer" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "Wrthi'n chwilio" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "Addaswch sut mai chwilio am lyfrau yn gweithio mewn Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "Hoffterau mewnbwn" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Trosiad" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Hoffterau Cyffredin" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "Hoffterau Allbwn" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "Wrthi'n ychwanegu llyfrau" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "Mewnbwn/Allbwn" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Dewiswch sut mai Calibre yn darllen uwchddata o ffeiliau tra ychwanegu " "llyfrau" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "Wrthi'n cadw lyfrau ar y ddisg" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "Wrthi'n danfon lyfrau i'r ddyfeisiau" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "Dewiswch sut mai Calibre yn anfon ffeiliau i'ch porïwr e-lyfrau" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "Newidwch meysydd uwchddata cyn cadw neu anfon" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "Ffwythiannau Patrymlun" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "Pellach" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "Crëwch eich ffwythiannau patrymlun eich hun" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "Wrthi'n rhannu lyfrau gyda e-bost" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "Wrthi'n rhannu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "Wrthi'n rhannu dros y rhyngrwyd" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "Lawrlwythwch uwchddata" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" "Dewiswch sut mai Calibre yn lawrlwytho uwchddata e-lyfrau o'r rhyngrwyd" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Ategion" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" "Ychwanegwch/dileuwch/addaswch darnau gwahanol o peirianweithau Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "Newidiadau bach" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "Allweddell" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "Addaswch y byrlwybrau allweddell y mae Calibre yn ddefnyddio" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Amrywiol" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "Ffurfweddiad pellach amrywiol" @@ -951,8 +951,8 @@ msgstr "" msgid "Disable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -963,11 +963,22 @@ msgid "Path to library too long. Must be less than %d characters." msgstr "" "Rhy hir ydy'r llwybr i'r llyfrgell. Mae rhaid fod yn llai na %d cymeriad." -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -979,26 +990,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "Sail" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "Cerdyn A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "Cerdyn B" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1011,11 +1022,11 @@ msgstr "Cerdyn B" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Newyddion" @@ -1023,14 +1034,14 @@ msgstr "Newyddion" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1038,7 +1049,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1046,45 +1057,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1112,23 +1148,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "Cyfathrebwch gyda ffoniau Android" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "Cyfathrebwch gyda ffoniau S60" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "Cyfathrebwch gyda tabledau WebOS" @@ -1251,8 +1287,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "Catalog" @@ -1300,10 +1336,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1344,6 +1380,7 @@ msgstr "Wrthi'n ychwanegu lyfrau i restr uwchddata y dyfais" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1663,17 +1700,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "Llwythwch clawriau Du a Gwyn i fyny" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1681,12 +1718,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1694,7 +1731,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "Dangoswch Argymhelliadau" @@ -1706,7 +1743,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1719,10 +1756,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1779,66 +1818,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1846,7 +1885,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1855,11 +1894,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1879,55 +1918,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "Cyfathrebwch gyda'r Sweex/Kogan/Q600/Wink" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "Cyfathrebwch gyda'r Pandigital Novel" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "Cyfathrebwch gyda'r VelocityMicro" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "Cyfathrebwch gyda'r GM2000" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "Cyfathrebwch gyda'r Acer Lumiread" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "Cyfathrebwch gyda'r Aluratek Color" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "Cyfathrebwch gyda'r Trekstor" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "Cyfathrebwch gyda'r EEE Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "Cyfathrebwch gyda'r tabled Adam" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "Cyfathrebwch gyda'r Nextbook Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "Cyfathrebwch gyda'r Moovybook Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "Cyfathrebwch gyda'r COBY" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "Cyfathrebwch gyda'r Ex124G" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2052,7 +2091,7 @@ msgstr "Y Nook" msgid "Communicate with the Nook eBook reader." msgstr "Cyfathrebwch gyda'r porïwr e-lyfr Nook" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "Cyfathrebwch gyda porwyr e-lyfr Nook Color, TSR a Tablet" @@ -2533,7 +2572,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2842,23 +2881,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3146,15 +3185,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4105,7 +4148,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4129,27 +4172,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4185,13 +4228,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4200,9 +4244,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4212,7 +4257,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4224,8 +4269,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4337,60 +4382,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4398,13 +4443,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4414,6 +4477,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4473,12 +4577,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4505,72 +4609,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4579,14 +4683,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4611,12 +4715,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4649,7 +4753,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4774,9 +4878,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4792,11 +4896,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4839,6 +4943,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4993,7 +5101,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5115,12 +5223,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5197,8 +5305,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5319,7 +5427,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5367,7 +5475,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5381,7 +5489,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5393,12 +5501,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5538,7 +5646,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5566,7 +5674,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5607,7 +5715,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5620,96 +5728,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5728,6 +5849,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5800,75 +5922,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5944,12 +6068,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6033,8 +6157,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6070,7 +6194,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6140,15 +6264,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6253,17 +6377,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6272,185 +6407,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6567,7 +6713,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6672,7 +6818,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6684,30 +6830,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6717,11 +6863,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -6985,7 +7131,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7195,7 +7341,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7205,7 +7351,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7239,16 +7385,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7316,7 +7471,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7502,7 +7657,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7842,8 +7997,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8759,59 +8914,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8823,13 +8982,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9067,6 +9242,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9633,7 +9812,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9679,81 +9858,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9915,7 +10094,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10426,13 +10605,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10466,8 +10645,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10486,13 +10665,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10591,7 +10770,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10639,12 +10818,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10739,40 +10918,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11640,6 +11819,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11675,12 +11855,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12254,12 +12434,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12311,6 +12491,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12325,6 +12506,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13201,7 +13383,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13245,7 +13427,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13255,66 +13437,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13327,32 +13513,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13361,30 +13547,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13489,7 +13675,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13987,7 +14173,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14132,15 +14318,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14148,27 +14334,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14176,38 +14362,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14348,7 +14540,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14391,34 +14584,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14467,12 +14660,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15385,10 +15578,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15406,7 +15595,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16374,20 +16563,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16420,18 +16609,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16806,83 +16995,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17158,32 +17497,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17297,46 +17636,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17358,13 +17697,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17457,7 +17796,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17496,138 +17835,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17638,56 +17977,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17729,73 +18068,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17803,134 +18153,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18009,31 +18404,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18041,11 +18436,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18061,16 +18456,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18093,34 +18488,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18661,29 +19056,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19931,44 +20326,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19977,59 +20372,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20040,28 +20435,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20071,11 +20476,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20085,15 +20490,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20108,7 +20513,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20118,40 +20523,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20162,28 +20567,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20194,13 +20599,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20220,11 +20625,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20235,30 +20640,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20270,17 +20675,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20289,27 +20694,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20319,15 +20724,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20340,40 +20745,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20387,13 +20792,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20401,34 +20806,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20443,18 +20848,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20462,33 +20867,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20511,31 +20916,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20777,20 +21173,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20813,7 +21209,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20822,98 +21218,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20926,21 +21322,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21943,10 +22341,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22045,6 +22439,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22093,107 +22512,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22456,7 +22875,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/da.po b/src/calibre/translations/da.po index 84c7486168..f87e6582a7 100644 --- a/src/calibre/translations/da.po +++ b/src/calibre/translations/da.po @@ -7,32 +7,32 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" -"PO-Revision-Date: 2013-01-03 19:44+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" +"PO-Revision-Date: 2013-04-11 12:49+0000\n" "Last-Translator: Jens Holm \n" "Language-Team: Danish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:10+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:25+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "Gør absolut ingenting" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "Gør absolut ingenting" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "Gør absolut ingenting" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "Gør absolut ingenting" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "Gør absolut ingenting" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "Gør absolut ingenting" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "Gør absolut ingenting" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -331,73 +331,73 @@ msgstr "Gemmer metadata i %s filerne" msgid "Set metadata from %s files" msgstr "Sæt metadata fra %s filer" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "Tilføj bøger til calibre eller den forbundne enhed" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "Hent kommentarer fra en forbunden Kindle (eksperimentiel)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "Dan et katalog over bøger i dit calibre-bibliotek" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "Konvertér bøger til forskellige ebogsformater" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "Slet bøger fra dit calibre-bibliotek eller forbundne enhed" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "Redigér bøgernes metadata i dit calibre-bibliotek" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "Løs bøger i dit calibre-bibliotek" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "Hent nyheder fra internettet i ebogsform" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Vis en liste af relaterede bøger hurtigt" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "Eksportér bøger fra dit calibre-bibliotek til harddisken" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "Vis bogdetaljer i et separat pop-up vindue" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "Genstart calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "Åben mappen som indeholder calibre-bibliotekets bogfiler" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "Send bøger til den forbundne enhed" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" @@ -405,42 +405,42 @@ msgstr "" "Send bøger via email eller web; forbind også til iTunes eller mapper på din " "computer, da de også er enheder" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "Browse calibre brugermanualen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "Tilpas calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "Find let lignende bøger til den aktuelt valgte" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" "Skift mellem forskellige calibre-bibliotekter og udfør vedligeholdelse på dem" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "Kopiér bøger fra enheden til dit calibre-bibliotek" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "Redigér collection i hvilken bøger er placeret på din enhed" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "Kopiér en bog fra et calibre-bibliotek til et andet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "Lav små ændringer i epub- eller htmlz-filer i dit calibre-bibliotek" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" @@ -448,56 +448,56 @@ msgstr "" "Find det næste eller forrige match, når der søges i dit calibre-bibliotek i " "fremhæv-mode" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "Vælg en vilkårlig bog fra dit Calibrebibliotek" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "Søg efter bøger fra forskellige bogforhandlere" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "Hent nye calibre-plugins eller opdatér dine nuværende" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Fremtoning" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Brugergrænseflade" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "Tilpas calibres grænseflades fremtoning til din smag" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "Opførsel" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "Ændr måden calibre opfører sig på" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Tilføj dine egne søjler" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "Tilføj/fjern dine egne søjler til calibre boglisten" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Værktøjslinje" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -505,64 +505,64 @@ msgstr "" "Tilpas værktøjslinjen og kontekstmenuen, ændre hvilke aktioner som er " "tilgængelige i hver" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "Søger..." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "Tilpas måden søg-efter-bøger virker på i calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "Input tilvalg" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Konvertering" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "Vælg konverteringsvalgmuligheder specifikke for hvert input-format" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Fælles tilvalg" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "Vælg konverteringsvalgmuligheder fælles for alle formater" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "Output valgmuligheder" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "Vælg konverteringsvalgmuligheder specifikke for hvert output-format" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "Tilføjer bøger" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "Import/eksport" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "Styre hvordan calibre læser metadata fra filer, når bøger tilføjes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "Gemmer bøger til disk" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -570,50 +570,50 @@ msgstr "" "Styre hvordan calibre eksporterer filer fra dens database til disk, når gem-" "til-disk anvendes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "Sender bøger til enheder" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "Styre hvordan calibre overfører filer til din e-bogslæser" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "Metadata plugboards" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "Ændre metadata felter før gem/send" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "Skabelonsfunktioner" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "Avanceret" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "Dan dine egne skabelonsfunktioner" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "Deler bøger via email" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "Deler" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -621,11 +621,11 @@ msgstr "" "Opsætning som deler bøger via email. Kan anvendes til automatisk sending af " "downloadede nyheder til dine enheder" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "Deler over internettet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -633,56 +633,56 @@ msgstr "" "Opsætning af calibre indholdsserveren, hvilket vil give dig adgang til dit " "calibre-bibliotek fra overalt, på enhver enhed, over internettet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "Download metadata" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "Styr hvordan calibre henter ebogsmetadata fra nettet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Udvidelsesmoduler" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Tilføj/fjern/tilpas forskellige dele af calibres funktionalitet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "Tweaks" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "Finjustér hvordan calibre opfører sig i forskellige sammenhænge" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "Tastatur" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "Rediger de tastatur genveje, som bruges af Calibra" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Diverse" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "Diverse avanceret opsætning" @@ -989,8 +989,8 @@ msgstr "Aktivér det angivne udvidelsesmodul" msgid "Disable the named plugin" msgstr "Deaktivér det angivne udvidelsesmodul" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -1000,11 +1000,22 @@ msgstr "Deaktivér det angivne udvidelsesmodul" msgid "Path to library too long. Must be less than %d characters." msgstr "Sti til bibliotek for lang. Skal være kortere end %d tegn." -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "opret tilpasset søjle " + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -1016,26 +1027,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "Main/hjem/primær" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "Kort A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "Kort B" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1048,11 +1059,11 @@ msgstr "Kort B" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Nyheder" @@ -1060,14 +1071,14 @@ msgstr "Nyheder" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "markeret" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "ja" @@ -1075,7 +1086,7 @@ msgstr "ja" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "nej" @@ -1083,45 +1094,70 @@ msgstr "nej" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "umarkeret" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "i dag" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "i går" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "denne måned" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "dage siden" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "tom" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "blank" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1152,23 +1188,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "Kommunikér med Android telefoner" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "Kommunikér med S60 telefoner." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "Kommunikerer med WebOS tablets" @@ -1317,8 +1353,8 @@ msgstr "" "Klik 'Show Details' for en liste." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "Katalog" @@ -1373,10 +1409,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1417,6 +1453,7 @@ msgstr "Tilføjer bøger til enhedens metadataliste..." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1745,17 +1782,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "Upload Sort / Hvid forside" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "Vis udløbede bøger" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1763,12 +1800,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "Vis tidligere" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1776,7 +1813,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "Vis anbefalinger" @@ -1788,7 +1825,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "Forsøg på understøttelse af nyere systemsoftware" @@ -1801,10 +1838,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "Kobo database version ikke supporteret - Se detaljer" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1866,66 +1905,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1933,7 +1972,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1942,11 +1981,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1966,55 +2005,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "Kommunikér med Sweex/Kogan/Q600/Wink" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "Kommunikér med Pandigital Novel" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "Kommunikér med VelocityMicro" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "Kommunikér med GM2000" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "Kommunikér med Acer Lumiread" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "Kommunikér med Aluratek Color" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "Kommunikér med Trekstor" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "Kommunikér med EEE Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "Kommunikér med Adam tablet" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "Kommunikér med Nextbook Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "Kommuniker med Moovybook Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "Kommunikerer nu med Ex124G" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2139,7 +2178,7 @@ msgstr "Nook e-bogen" msgid "Communicate with the Nook eBook reader." msgstr "Kommunikér med Nook e-bogslæser." -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2632,7 +2671,7 @@ msgid "There is insufficient free space on the storage card" msgstr "Der er ikke tilstrækkelig plads på hukommelseskortet" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "Genereret %s" @@ -3017,11 +3056,11 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "CSS-fil anvendtes til output istedet for standardfilen" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" @@ -3029,7 +3068,7 @@ msgstr "" "Skabelon anvendt til at generering af html index-fil istedet for " "standardfilen" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" @@ -3037,7 +3076,7 @@ msgstr "" "Skabelon anvendt til at generering af html indhold af bogen istedet for " "standardfilen" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3347,15 +3386,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4417,7 +4460,7 @@ msgstr "" msgid "Set book ID" msgstr "Sæt Bog ID" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4443,27 +4486,27 @@ msgstr "Nej" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "Titel" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "Forfatter(e)" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "Udgiver" @@ -4499,13 +4542,14 @@ msgstr "Kommentarer" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "Mærker" @@ -4514,9 +4558,10 @@ msgstr "Mærker" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4526,7 +4571,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4538,8 +4583,8 @@ msgstr "Tidsstempel" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "Udgivet" @@ -4666,60 +4711,60 @@ msgstr "" "Hent et omslagsbillede/sociale metadata til denne bog identificeret ved ISBN " "fra LibraryThing.com\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "Omslag" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "Hent metadata og omslag fra Amazon" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "US" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "Frankrig" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "Tyskland" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "UK" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "Italien" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "Amazon website som skal anvendes:" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "Metadata fra Amazon vil blive hentet fra dette lands Amazon website." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "Amazon timede out. Prøv igen senere." @@ -4727,13 +4772,31 @@ msgstr "Amazon timede out. Prøv igen senere." msgid "Metadata source" msgstr "Metadata kilde" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4743,6 +4806,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "Hent metadata og omslag fra Google Books" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "Stor" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "Downloads metadata fra isbndb.com" @@ -4806,12 +4910,12 @@ msgstr "" "behandles." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4838,72 +4942,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "Indholdsfortegnelse" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "Titelside" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "Indeks" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "Ordliste" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "Anerkendelser" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "Litteraturliste" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "Kolofon" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "Ophavsret" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "Dedikation" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "Epigraf" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "Forord" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "Illustrationsliste" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "Tabelliste" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "Bemærkninger" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "Forord" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "Hovedtekst" @@ -4912,14 +5016,14 @@ msgstr "Hovedtekst" msgid "%s format books are not supported" msgstr "Bøger af %s formatet er ikke understøttet" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4944,12 +5048,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4982,7 +5086,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -5107,9 +5211,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -5125,11 +5229,11 @@ msgid "HTML TOC generation options." msgstr "HTML indholdsfortegnelse genereringsmuligheder." #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "Vurdering" @@ -5174,6 +5278,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "Kunne ikke finde pdftohtml, check at den er i din PATH" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5329,7 +5437,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "Programgenstart nødvendig" @@ -5456,12 +5564,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5538,8 +5646,8 @@ msgstr "Tilføj til bibliotek" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5661,7 +5769,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5709,7 +5817,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5723,7 +5831,7 @@ msgstr "Skift/opret bibliotek..." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5735,12 +5843,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "Hurtig skift" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "Omdøb bibliotek" @@ -5882,7 +5990,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5910,7 +6018,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5951,7 +6059,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "Kan ikke konvertere" @@ -5964,96 +6072,109 @@ msgstr "Starter konvertering af %d bog/bøger" msgid "Empty output file, probably the conversion process crashed" msgstr "Tom output-fil, sandsynligvis gik konverteringsprocessen ned" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "Vælg bibliotek" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "Kopiér til bibliotek" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "Kopiér udvalgte bøger til det angivne bibliotek" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "(slet efter kopiering)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "Kan ikke kopiere" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "Intet bibliotek" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "Intet bibliotek fundet ved %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "Kunne ikke kopiere bøger: " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -6072,6 +6193,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "Er du sikker?" @@ -6145,80 +6267,78 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "Vælg formater der skal slettes" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "Kan ikke slette bøger" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "Ingen enhed forbundet" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "Arbejdshukommelse" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "Hukommelsekort A" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "Hukommelsekort B" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "Ingen bøger at slette" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "Ingen af de valgte bøger findes på enheden" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "Sletter bøger fra enheden" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -"De valgte bøger vil blive permanent slettet og filerne fjernes fra " -"dit calibre-bibliotek. Er du sikker?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" -"De valgte bøger vil blive permanent slettet fra din enhed. Er du " -"sikker på du vil gøre dette?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 msgid "Start wireless device connection" @@ -6293,12 +6413,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "Stopper" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6382,8 +6502,8 @@ msgstr "Hentning af metadata fejlede" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "Hentning mislykkedes" @@ -6419,7 +6539,7 @@ msgid "Download complete" msgstr "Filhentning gennemført" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "Filhentning log" @@ -6495,15 +6615,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6608,17 +6728,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6627,185 +6758,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "Gør &punktuation smartere" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6925,7 +7067,7 @@ msgid "Click the show details button to see which ones." msgstr "Klik vis-detalje knappen for at se hvilke." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "Vis bogdetaljer" @@ -7030,7 +7172,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "Søg efter %s" @@ -7042,30 +7184,30 @@ msgstr "Butikker" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "Vælg butikker" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "Kan ikke søge" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -7075,11 +7217,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "Vis denne meddelelse igen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "Om boghentninger" @@ -7348,7 +7490,7 @@ msgid "The specified directory could not be processed." msgstr "Den angivne mappe kunne ikke behandles." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "Ingen bøger" @@ -7573,7 +7715,7 @@ msgid "Click to open" msgstr "Klik for at åbne" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7583,7 +7725,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "Samlinger" @@ -7617,16 +7759,25 @@ msgstr "Sti" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "BibTeX valg" @@ -7694,7 +7845,7 @@ msgstr "output" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7880,7 +8031,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "Navn" @@ -8220,8 +8371,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "Normal" @@ -9156,59 +9307,63 @@ msgstr "Ingen &billeder" msgid "PDF Output" msgstr "PDF-output" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "&Papirstørrelse:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "Bevar omslagets &aspektforhold" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "Se&rif-familien:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "&Sans-familien:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "&Monospace-familien:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "S&tandardskrifttype:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -9220,13 +9375,29 @@ msgstr "" msgid " px" msgstr " px" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "Monospace-&skriftstørrelse:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9468,6 +9639,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "Konvertér" @@ -10046,7 +10221,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "Ingen egnede formater" @@ -10092,66 +10267,66 @@ msgstr "Enhed: " msgid " detected." msgstr " detekteret." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "valgt til at sende" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "Ingen enhed" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "0 af %i bøger" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "Vælg format til at sende til enheden" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "Kan ikke sende: Ingen enhed er forbundet" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "Intet hukommelseskort" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "Kan ikke sende: Enheden har intet hukommelseskort" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "Auto konvertér følgende bøger før upload til enheden?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "Sender kataloger til enheden." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "Sender nyheder til enheden." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "Sender bøger til enheden." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." @@ -10159,18 +10334,18 @@ msgstr "" "Kunne ikke uploade følgende bøger til enheden, da ingen egnede formater blev " "fundet. Konvertér bog/bøgerne til et format understøttet af din enhed først." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "Ingen plads på enheden" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" "

Kan ikke uploade bøger til enheden, der er ikke mere fri plads " "tilgængelig " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -10332,7 +10507,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10857,13 +11032,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "Bibliotek" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "Enhed" @@ -10899,8 +11074,8 @@ msgid "Location" msgstr "Placering" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10919,13 +11094,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "Emne er blankt" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "Et emne kan ikke sættes til ingenting. Slet det istedet." @@ -11026,7 +11201,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "Ingen søgeresultater fundet" @@ -11074,12 +11249,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "Ugyldigt forfatternavn" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "Forfatternavne kan ikke indeholde & tegnet." @@ -11174,40 +11349,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "&Kopiér til udklipsholder" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "Vis &detaljer" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "Gem &detaljer" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "Kopieret" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "Vis log" @@ -12127,6 +12302,7 @@ msgstr "Afbryder..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -12162,12 +12338,12 @@ msgstr "Elementer" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "Søg" @@ -12746,12 +12922,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12803,6 +12979,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "Udgiver" @@ -12817,6 +12994,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13714,7 +13892,7 @@ msgid "&Shortcut:" msgstr "&Genvej:" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "Fuldført" @@ -13758,7 +13936,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "Ingen match" @@ -13768,48 +13946,52 @@ msgstr "Ingen match" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "Skub denne enhed ud" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "Vis bøger i calibre-bibliotek" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "Vis bøger i enhedens arbejdshukommelse" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "Vis bøger i hukommelseskort A" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "Vis bøger i hukommelseskort B" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "Slet bibliotek" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "tilgængelige" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "Avanceret søgning" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "Shift+Ctrl+F" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" @@ -13817,19 +13999,19 @@ msgstr "" "

Søg i listen af bøger efter titel, forfatter, udgiver, mærker, " "kommentarer, osv.

Ord separeret af mellemrum ANDes" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "&Søg!" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "Lav hurtigsøgning (du kan også trykke på retur-tasten)" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "Nulstil hurtigsøgning" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "Kopiér aktuelle søgetekst (istedet for søgenavnet)" @@ -13842,32 +14024,32 @@ msgstr "stjerner" msgid "Y" msgstr "Y" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "På enhed" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "Størrelse (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "Ændret" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "Opslaget/søgenavn er \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "Denne bogs UUID er \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13876,30 +14058,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "I bibliotek" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "Størrelse" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "Markeret til sletning" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "Dobbeltklik for at redigere mig

" @@ -14006,7 +14188,7 @@ msgid "Previous Page" msgstr "Forrige side" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -14512,7 +14694,7 @@ msgid "Edit Metadata" msgstr "Redigér metadata" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14657,15 +14839,15 @@ msgstr "&Kommentarer" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "Har omslag" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14673,27 +14855,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "Vent venligst" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "Forespørgsel: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14701,38 +14883,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "Aktuelt omslag" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "Søger..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "Henter metadata..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "Henter omslag..." @@ -14882,7 +15070,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14925,34 +15114,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "Høj" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "Lav" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "Meget lav" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "Standard" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "Alle bekræftigelsesdialoger er blevet nulstillet" @@ -15005,18 +15194,15 @@ msgid "Job &priority:" msgstr "Opgave&prioritet:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" -msgstr "Restriktion som anvendes, når det aktuelle bibliotek åbnes:" +msgid "Virtual library to apply when the current library is opened:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" -"Anvend denne restriktion ved calibre opstart hvis det aktuelle bibliotek " -"anvendes. Restriktionen anvendes også når der skiftes til dette bibliotek. " -"Bemærk at denne indstilling er per bibliotek. " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170 msgid "Edit metadata (single) layout:" @@ -15951,10 +16137,6 @@ msgstr "Fra" msgid "Small" msgstr "Lille" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "Stor" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "Medium" @@ -15972,7 +16154,7 @@ msgid "Never" msgstr "Aldrig" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16987,20 +17169,20 @@ msgstr "" "ved at tilpasse enhedens grænseflade moduludvidelser i Indstillinger-" ">Avanceret->Moduludvidelser" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "Fejlede med at starte indholdsserveren" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "Fejl log:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "Tilgangslog:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "Du skal genstarte serveren, for at ændringerne træder i kraft" @@ -17035,23 +17217,19 @@ msgid "Max. &OPDS items per query:" msgstr "Maks. &OPDS poster per forespørgsel:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" -msgstr "Maks. OPDS &ugrupperede poster:" +msgid "Max. &ungrouped items:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" -msgstr "Restriktion (gemt søgning) som skal anvendes:" +msgid "Virtual library to apply:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" -"Denne restriktion (baseret på en gemt søgning) vil begrænse " -"indholdsserverens viste bøger til dem som opfylder søgningen. Denne " -"indstilling er per bibliotek (f.eks. kan du have forskellige restriktioner " -"per bibliotek)." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 msgid "" @@ -17430,83 +17608,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "Den valgte søgning vil blive permanent slettet. Er du sikker?" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "Søgning (For avanceret søgning klik knappen til venstre)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "Gemte søgninger" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "Vælg gemte søgninger eller indtast navn for ny gemt søgning" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" -msgstr "Begræns til" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "(alle bøger)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "({0} af {1})" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "({0} af alle)" @@ -17782,32 +18110,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17923,50 +18251,50 @@ msgstr "Genindlæs" msgid "%p%" msgstr "%p%" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" "Ændring af forfatterne for adskillige bøger kan tage et stykke tid. Er du " "sikker?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" "Ændring af metadataene for adskillige bøger kan tage et stykke tid. Er du " "sikker?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "Søgninger" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "Navnet %s anvendes allerede" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "Duplikér søgenavn" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "Det gemte søgenavn %s er allerede brugt." @@ -17988,13 +18316,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "Administrér brugerkategorier" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "Administrér gemte søgninger" @@ -18087,7 +18415,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "Sortér efter" @@ -18127,138 +18455,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "Gem kategori %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "Vis kategori" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "Administrér %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "Vis alle kategorier" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -18269,56 +18597,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -18360,73 +18688,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -18434,134 +18773,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18642,31 +19026,31 @@ msgstr "" "Følgende bøger er allerede konverteret til %s formatet. Ønsker du at " "genkonvertere dem?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "&Donér for at støtte calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "&Gendan" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "&Skub forbunden enhed ud" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "Fejlsøgningstilstand" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18674,11 +19058,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18694,16 +19078,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "Konverteringsfejl" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18726,23 +19110,23 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "Opskrift deaktiveret" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "Fejlede" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "Der er aktive opgaver. Er du sikker på du vil afslutte?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" @@ -18753,11 +19137,11 @@ msgstr "" "enheden.
\n" " Er du sikker på at du vil afslutte?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -19305,29 +19689,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -20644,8 +21028,8 @@ msgstr "" "for søgeforespørgslen, venligst se den søge relaterede dokumentation i " "brugermanualen. Standard er ingen filtrering." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." @@ -20653,26 +21037,26 @@ msgstr "" "Maksimale bredde af en enkelt linje i output. Standard er at detektere " "skærmstørrelsen." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "Strengen anvendt til at separere felter. Standard er et mellemrum." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" "Præfiks for alle filstier. Standard er en absolut sti til biblioteksmappen." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "Ugyldige felter. Tilgængelige felter:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "Ugyldig sorteringsfelt. Tilgængelige felter:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" @@ -20680,13 +21064,13 @@ msgstr "" "Følgende bøger blev ikke tilføjet da de allerede eksisterer i databasen (se -" "-duplicates option):" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -20700,7 +21084,7 @@ msgstr "" "specificere mapper, se\n" "mappe relaterede options nedenfor.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" @@ -20708,11 +21092,11 @@ msgstr "" "Formod at hver mappe kun har én enkelt logisk bog og at alle filer i den er " "forskellige e-bogsformater af denne bog" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "Behandle mapper rekursivt" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." @@ -20720,43 +21104,43 @@ msgstr "" "Tilføj bøger til databasen selvom de allerede eksisterer. Sammenligning er " "baseret på bogtitlerne." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "Tilføj en tom bog (en bog uden formater)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "Du skal specificere mindst en fil at tilføje" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20767,33 +21151,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "Du skal specificere mindst en bog der skal fjernes" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" -"%prog add_format [options] id ebog_fil\n" -"\n" -"Tilføj e-bogen i ebog_fil til de tilgængelige formater for den logiske bog " -"identificeret ved id. Du kan få id ved at anvende list-kommandoen. Hvis " -"formatet allerede eksisterer, bliver det overskrevet.\n" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "Du skal specificere en id og en e-bog-fil" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "E-bog-filen skal have en filendelse" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20810,11 +21199,11 @@ msgstr "" "eller TXT eller EPUB. Hvis den logiske bog ikke har fmt tilgængelig, gøres " "intet.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "Du skal specificere en id og et format" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20829,15 +21218,15 @@ msgstr "" "Vis metadataene gemt i calibre-databasen for bogen identificeret ved id.\n" "id er et id number fra list-kommandoen.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "Udskriv metadata i OPF-form (XML)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "Du skal specificere en id" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20852,7 +21241,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20862,40 +21251,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20912,28 +21301,28 @@ msgstr "" "Eksport operationen gemmer alle bogens formater, dets omslag og metadata (i\n" "en opf-fil). Du kan få id numbers fra list-kommandoen.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "Eksporter alle bøger i databasen, listen over id'er ignoreres." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "Eksportér bøger til den angivne mappe. Standardmappen er" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "Eksportér alle bøger til en enkel mappe" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "Specificering af denne switch vil slå denne opførsel fra." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "Du skal specificere nogle ids eller %s valget" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20950,7 +21339,7 @@ msgstr "" "indeholde mellemrum eller koloner. name er det menneskevenlige kolonnenavn.\n" "datatype er en af: {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." @@ -20958,7 +21347,7 @@ msgstr "" "Denne kolonne gemmer mærker ligesom data (f.eks. multiple kommaseparerede " "værdier). Giver kun mening hvis datatypen er tekst." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20978,11 +21367,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "Du skal specificere label, name og datatype" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -21000,7 +21389,7 @@ msgstr "" " Options styrer hvordan indgange vises i det genererede katalog-ouput.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" @@ -21010,7 +21399,7 @@ msgstr "" "Hvis erklæret, --search bliver ignoreret.\n" "Standard: all" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" @@ -21020,16 +21409,16 @@ msgstr "" "søgeforespørgsel, venligst se søgerelateret dokumentation i brugermanualen.\n" "Standard: Ingen filtrering" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "Vis detaljeret output-information. Anvendeligt ved fejlfinding" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "Fejl: Du skal specificere en katalog output-fil" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -21051,7 +21440,7 @@ msgstr "" " -kommandoen.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." @@ -21059,11 +21448,11 @@ msgstr "" "Hvis kolonnen gemmer multiple værdier, tilføjes de specificerede værdier til " "de eksisterende, istedet for at overskrive dem." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "Fejl: Du skal specificere et feltnavn, id og value" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -21078,27 +21467,27 @@ msgstr "" "ids.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "Vis detaljer for hver kolonner." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "y" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -21115,15 +21504,15 @@ msgstr "" " kolonner med custom_columns-kommandoen.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "Spørger/spørg ikke efter bekræftelse" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "Fejl: Du skal specificere en kolonne label" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -21146,40 +21535,40 @@ msgstr "" " vil den blive overskrevet.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "Fejl: Du skal angive en aktion (tilføj|fjern|liste)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "Navn:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "Søgestreng:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "Fejl: Du skal angive et navn og en søgestreng" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "tilføjet" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "Fejl: Du skal angive et navn" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "fjernet" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "Fejl: Aktion %s ikke genkendt, skal være en af: (tilføj|fjern|liste)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -21193,13 +21582,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -21211,12 +21600,12 @@ msgstr "" "Udføre nogle check på filsystemet som repræsenterer et bibliotek. Rapporter " "er {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "Output i CSV" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" @@ -21224,7 +21613,7 @@ msgstr "" "Komma-separeret liste af rapporter.\n" "Standard: Alle" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" @@ -21232,7 +21621,7 @@ msgstr "" "Komma-separeret liste af fil-extensions som ignoreres.\n" "Standard: Alle" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" @@ -21240,11 +21629,11 @@ msgstr "" "Komma-separeret liste af navne som ignoreres.\n" "Standard: Alle" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "Ukendt rapport check" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -21273,7 +21662,7 @@ msgstr "" "efter hvad der er fundet i OPF-filerne.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." @@ -21281,12 +21670,12 @@ msgstr "" "Skal opretningen virkelig udføres. Kommanden vil ikke køre, medmindre denne " "mulighed bliver angivet." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -21298,7 +21687,7 @@ msgstr "" "Laver en rapport af kategoriinformationen i databasen.\n" "Informationen er ækvivalenten af hvad som vises i mærkeruden.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" @@ -21306,7 +21695,7 @@ msgstr "" "Output kun antallet af emner i en kategori, istedet for antallet per emne " "indenfor kategorien" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." @@ -21314,7 +21703,7 @@ msgstr "" "Tegn til at sætte omkring kategoriværdien i CSV-tilstand. Standard er " "gåseøjne (\")." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" @@ -21322,16 +21711,16 @@ msgstr "" "Kommasepareret liste af kategori opslagsnavne.\n" "Standard: alle" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" "Streng anvendt til at separere felter i CSV-tilstand. Standard er et komma." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "KATEGORI EMNER" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -21364,31 +21753,22 @@ msgstr "" "Mærket må kun indeholde småbogstaver, cifre og bundstreger - og skal begynde " "med et bogstav" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "opret tilpasset søjle " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "

Flytter gammel database til e-bogsbibliotek i %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "Kopierer %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "Komprimerer database" @@ -21655,20 +22035,20 @@ msgstr "" "denne server fra Apache/nginx/osv." #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "Alle bøger" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "Nyeste" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "Henter, vent venligst" @@ -21691,7 +22071,7 @@ msgid "Browsing %d books" msgstr "Gennemse %d bøger" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "Middelvurdering" @@ -21700,98 +22080,98 @@ msgstr "Middelvurdering" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "%d stjerner" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "Popularitet" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "bibliotek" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "hjem" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "Gennemse bøger efter" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "Vælg en kategori at gennemse efter:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "Gennemse efter" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "Op" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "i" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "Bøger i" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "Andre formater" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "Hent" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "Detaljer" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "Permanent-link" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "Et permanent-link til denne bog" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "Denne bog er blevet slettet" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "i søgning" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "Matchende bøger" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -21814,23 +22194,23 @@ msgstr "" "\n" "OPDS grænsefladen bliver automatisk annonceret via BonJour.\n" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "Sti til biblioteksmappen til at dele med indholdsserveren" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "Udskriv proces PID til den angivne fil" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -"Angiv en restriktion som skal anvendes til denne aktivering. Denne mulighed " -"overstyrer enhver per-biblioteksindstilling angivet i GUI-en" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -22837,10 +23217,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22939,6 +23315,31 @@ msgstr "Program kører" msgid "Restart console" msgstr "Genstart konsol" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "URL skal have skemaet sftp" @@ -22987,101 +23388,101 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "\"%s\"-opskriften kræver et brugernavn og adgangskode." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "Download afsluttet" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "Kunne ikke downloade følgende artikler:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "Kunne ikke downloade dele af følgende artikler:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr " fra " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "\tMislykkede henvisninger:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "Henter feeds..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "Fik feeds fra indekssiden" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "Prøver at downloade omslag..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "Genererer masthead..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "Starter download [%d tråd(e)]..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "Feeds er hentet til %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "Kunne ikke hente omslaget: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "Downloader omslag fra %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "Masthead billede downloadet" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "Unavngiven artikel" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "Artikel hentet: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "Hentning af artikel mislykkedes: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "Henter feed" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 msgid "" "Failed to log in, check your username and password for the calibre " "Periodicals service." @@ -23089,7 +23490,7 @@ msgstr "" "Login mislykkedes, check dit brugernavn og adgangskode til calibre " "tidsskriftsservice." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -23370,7 +23771,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/de.po b/src/calibre/translations/de.po index 264df0aecd..cf864bf3a6 100644 --- a/src/calibre/translations/de.po +++ b/src/calibre/translations/de.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: de\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" -"PO-Revision-Date: 2013-04-02 20:16+0000\n" -"Last-Translator: Kovid Goyal \n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" +"PO-Revision-Date: 2013-04-30 11:44+0000\n" +"Last-Translator: MilliMarg \n" "Language-Team: American English \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-04-03 05:26+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Generator: Launchpad (build 16580)\n" +"X-Launchpad-Export-Date: 2013-05-01 04:43+0000\n" "X-Poedit-Bookmarks: 3327,-1,-1,-1,-1,-1,-1,-1,-1,-1\n" "Generated-By: pygettext.py 1.5\n" @@ -25,16 +25,16 @@ msgid "Does absolutely nothing" msgstr "Macht absolut gar nichts" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -89,8 +89,8 @@ msgstr "Macht absolut gar nichts" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -101,9 +101,9 @@ msgstr "Macht absolut gar nichts" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -112,7 +112,7 @@ msgstr "Macht absolut gar nichts" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -125,7 +125,7 @@ msgstr "Macht absolut gar nichts" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -147,13 +147,13 @@ msgstr "Macht absolut gar nichts" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -162,33 +162,33 @@ msgstr "Macht absolut gar nichts" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -333,79 +333,79 @@ msgstr "Geben Sie die Metadaten in %s-Dateien an" msgid "Set metadata from %s files" msgstr "Metadaten aus %s-Dateien auslesen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "Hinzufügen von Büchern in Calibre oder einem angeschlossenen Gerät" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" "Anmerkungen von einem angeschlossenem \"Kindle\"-Lesegerät abrufen " "(experimentell)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "Katalog der Bücher in Ihrer Calibre-Bibliothek erstellen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "Bücher in verschiedene eBook-Formate umwandeln" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "eBook Feinabstimmung" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "Das Inhaltsverzeichnis Ihrer Bücher bearbeiten" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" "Bücher aus Ihrer Calibre-Bibliothek oder von einem angeschlossenen Gerät " "löschen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "Metadaten der Bücher in Ihrer Calibre-Bibliothek bearbeiten" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "Bücher aus Ihrer Calibre-Bibliothek lesen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "Nachrichten aus dem Internet als eBook herunterladen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Schnellanzeige einer Liste ähnlicher Bücher" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "Bücher aus Ihrer Calibre-Bibliothek auf der Festplatte speichern" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "Detailinfos zum Buch in einem neuen Fenster (Popup) anzeigen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "Calibre Neustarten" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" "Den Ordner öffnen, welcher die Bücher-Dateien Ihrer Calibre-Bibliothek " "enthält" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "Bücher auf das angeschlossene Gerät übertragen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" @@ -413,47 +413,47 @@ msgstr "" "Bücher per E-Mail oder das Web senden, auch mit iTunes oder Ordnern " "verbinden, als ob es Geräte wären" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "Calibre-Bedienungsanleitung ansehen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "Calibre anpassen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "Einfache Suche nach ähnlichen Büchern zu dem Ausgewählten" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" "Zwischen unterschiedlichen Calibre Bibliotheken wechseln und " "Wartungsaufgaben durchführen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "Bücher vom Gerät in die Calibre Bibliothek kopieren" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" "Sammlungen bearbeiten, unter denen die Bücher auf Ihrem Gerät " "zusammengefasst werden" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "Ein Buch aus einer Calibre Bibliothek in eine Andere kopieren" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" "Kleinere Optimierungen an epub- oder htmlz-Dateien in der Calibre Bibliothek " "vornehmen." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" @@ -461,121 +461,121 @@ msgstr "" "Nächsten oder vorherigen Treffer finden bei der Suche in der Calibre " "Bibliothek im Markierungsmodus" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "Zufälliges Buch aus Ihrer Calibre- Bibliothek auswählen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "Bücher bei verschiedenen Händlern suchen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "Neue Calibre Plugins installieren oder installierte Plugins updaten" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Erscheinungsbild" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Benutzeroberfläche" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "Passen Sie das Erscheinungsbild von Calibre Ihren Bedürfnissen an." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "Verhalten" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "Ändern Sie das Verhalten von Calibre." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Eigene Spalten hinzufügen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "Hinzufügen/Entfernen eigener Spalten in der Calibre Bücherliste" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Werkzeugleiste" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "Passt individuell Werkzeugleiste und Kontextmenus an." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "Suche..." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "Anpassen, wie in Calibre nach Büchern gesucht werden soll" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "Eingabeoptionen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Konvertierung" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "Stellt Eingabeoptionen für jedes einzelne Eingabeformat ein." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Allgemeine Einstellungen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "Gemeinsame Konvertierungsoptionen für alle Formate einstellen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "Ausgabeoptionen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" "Konvertierungsoptionen für jedes Ausgabeformat individuell einstellen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "Bücher hinzufügen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "Import/Export" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Stellt ein, wie Calibre die Metadaten beim Hinzufügen von Büchern verarbeitet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "Bücher auf Datenträger speichern" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -583,50 +583,50 @@ msgstr "" "Stellt ein, wie Calibre Dateien aus der Datenbank exportiert, wenn \"Bücher " "auf Datenträger speichern\" gewählt wird." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "Bücher auf Geräte übertragen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "Stellt ein, wie Calibre die Dateien an den eBook-Reader sendet." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "Metadaten-Schalttafel" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "Ändere Metadaten-Felder vor dem Speichern/Senden" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "Funktionen für Vorlagen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "Erweitert" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "Erstellen Sie eine Funktionen für Vorlagen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "Bücherversand per E-Mail" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "Versand" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -634,11 +634,11 @@ msgstr "" "Einrichten des Bücherversands per E-Mail. Kann für den automatischen Versand " "heruntergeladener Nachrichten an Ihr Gerät genutzt werden." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "Netzwerk-Server" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -646,20 +646,20 @@ msgstr "" "Einrichten des Inhalte-Servers, der den Zugriff auf die Bibliothek über das " "Internet ermöglicht" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "Metadaten laden" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "Festlegen, wie Calibre Metadaten aus dem Netz herunterladen soll" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "Ignorierte Geräte" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." @@ -667,38 +667,38 @@ msgstr "" "Festlegen, welche Geräte Calibre ignorieren soll, wenn sie an den Computer " "angeschlossen werden." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Plugins" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Hinzufügen, Entfernen und Konfigurieren einzelner Calibre-Funktionen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "Tweaks" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" "Feineinstellungen für das Verhalten von Calibre in verschiedenen Situationen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "Tastatur" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "Anpassen der von Calibre verwendeten Tastenkürzel" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Verschiedenes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "Konfiguration verschiedener fortgeschrittener Parameter" @@ -1013,8 +1013,8 @@ msgstr "Gewähltes Plugin einschalten" msgid "Disable the named plugin" msgstr "Gewähltes Plugin ausschalten" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -1025,11 +1025,22 @@ msgid "Path to library too long. Must be less than %d characters." msgstr "" "Der Pfad zur Datenbank ist zu lang. Er muss kürzer als %d Zeichen sein." -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "wiederhergestellte Einstellung " + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "Erstelle benutzerdefinierte Spalte " + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -1041,26 +1052,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "%(tt)sDurchschnittliche Bewertung ist %(rating)3.1f" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "Haupt" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "Karte A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "Karte B" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1073,11 +1084,11 @@ msgstr "Karte B" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Nachrichten" @@ -1085,14 +1096,14 @@ msgstr "Nachrichten" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "ausgewählt" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "ja" @@ -1100,7 +1111,7 @@ msgstr "ja" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "nein" @@ -1108,45 +1119,71 @@ msgstr "nein" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "nicht ausgewählt" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "heute" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "gestern" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "in diesem Monat" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "vor Tagen" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "Zahl der Konvertierungsfehler: {0}" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "Konvertierungsfehler beim Datum: {0}" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "Nicht-numerischer Wert in der Abfrage: {0}" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "leer" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "leer" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "Ungültige booleschen Abfrage \"{0}\"" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" +"Ungültiges Abfrageformat sür die durch Doppelpunkt getrennte Suche: {0}" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1180,7 +1217,7 @@ msgstr "Keine Erweiterung mit Namen %s gefunden" msgid "Communicate with Android phones." msgstr "Kommunikation mit Android-Telefonen." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" @@ -1188,7 +1225,7 @@ msgstr "" "Komma-getrennte Liste von Verzeichnissen für E-Books im Hauptspeicher " "des Gerätes. Das Erste das existiert wird benutzt." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" @@ -1196,11 +1233,11 @@ msgstr "" "Komma-getrennte Liste von Verzeichnissen für E-Books auf der " "Speicherkarte des Gerätes. Das Erste das existiert wird benutzt." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "Kommunikation mit S60-Telefonen." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "Kommuniziere mit WebOS Tablets." @@ -1358,8 +1395,8 @@ msgstr "" "Klicken Sie 'Details anzeigen' für eine Liste." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "Katalog" @@ -1415,10 +1452,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1459,6 +1496,7 @@ msgstr "Bücher zur Metadaten-Liste des Geräts hinzufügen ..." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1796,17 +1834,17 @@ msgstr "" "Reader. Das ist nützlich, wenn Sie das Coverbild verändert haben." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "Schwarz-Weiß Coverbild hochladen" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "Zeige abgelaufene Bücher" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1817,12 +1855,12 @@ msgstr "" "anzeigen und erlauben, sie mit Hilfe der neuen Lösch-Logik zu entfernen." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "Vorschau anzeigen" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1834,7 +1872,7 @@ msgstr "" "Aktivieren Sie diesen Punkt, wenn Sie sie sehen oder löschen möchten." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "Empfehlungen anzeigen" @@ -1850,7 +1888,7 @@ msgstr "" "Aktivieren Sie diesen Punkt, wenn Sie sie sehen oder löschen möchten." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "Versuche eine neuere Firmware zu unterstützen" @@ -1868,10 +1906,12 @@ msgstr "" "Testen von Software vertraut sind." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "Kobo Datenbankversion wird nicht unterstützt - Siehe Details" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1954,19 +1994,19 @@ msgstr "" "/>Hervorhebung: %(text)s
Anmerkungen: %(annotation)s

" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "Der Kobo Touch ab Firmware V2.0.0 unterstützt Bücherregale" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "Bestimmen Sie eine Tag-Typ-Spalte für automatische Verwaltung" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "Bücherregale erstellen" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." @@ -1974,11 +2014,11 @@ msgstr "" "Neue Bücherregale auf dem Kobo Touch erstellen, wenn dort noch keine " "existieren. Das gilt nur für die Firmware V2.0.0 oder neuer." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "Leere Bücherregale löschen" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." @@ -1986,11 +2026,11 @@ msgstr "" "Alle leeren Bücherregale vom Kobo Touch löschen wenn die Synchronisation " "abgeschlossen ist. Das gilt nur für die Firmware V2.0.0 oder neuer." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "Coverbild hochladen" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." @@ -1998,11 +2038,11 @@ msgstr "" "Coverbilder aus der Calibre Bibliothek hochladen, wenn das Buch an ein Gerät " "gesendet wird" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "Seitenverhältnis des Coverbildes beibehalten" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." @@ -2010,7 +2050,7 @@ msgstr "" "Beim hochladen des Coverbildes auf das Gerät das Seitenverhältnis nicht " "verändern. Nur für Firmware Version 2.3.1 und neuer." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " @@ -2021,11 +2061,11 @@ msgstr "" "etwas zu kaufen. Aktivieren Sie diese Funktion, wenn Sie diese Empfehlungen " "sehen/löschen möchten." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "Serieninformationen festlegen" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -2038,7 +2078,7 @@ msgstr "" "die Bücher vom Gerät verarbeitet worden sind. Aktivieren Sie diese Funktion, " "wenn Sie möchten, dass Serieninformationen gesetzt werden." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -2053,11 +2093,11 @@ msgstr "" "setzen und Software zu testen. Dieser Treiber unterstützt die Firmware " "V2.x.x und DBVersion bis zu " -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "Titel für Fehlerbehebung" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -2080,55 +2120,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "Kommunikation mit Sweex/Kogan/Q600/Wink" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "Kommunikation mit dem Pandigital Novel" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "Kommuniziere mit dem VelocityMicro" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "Kommunikation mit dem GM2000" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "Kommunikation mit dem Acer Lumiread" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "Kommunikation mit dem Aluratek Color" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "Kommunikation mit dem Trekstor" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "Kommunikation mit dem EEE Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "Kommuniziere mit dem Adam Tablet" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "Kommunikation mit dem Nextbook Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "Kommunikation mit dem Moovybook Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "Kommunikation mit dem COBY" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "Kommuniziere mit dem Ex124G" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "Mit den Lesegeräten von WayteQ und SPC Dickens verbinden" @@ -2256,7 +2296,7 @@ msgstr "Der Nook" msgid "Communicate with the Nook eBook reader." msgstr "Kommunikation mit dem Nook eBook-Reader." -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "Verbinde mit dem Nook Color, TSR und Tablett eBook Lesern." @@ -2828,7 +2868,7 @@ msgid "There is insufficient free space on the storage card" msgstr "Nicht genügend freier Speicherplatz auf der Speicherkarte" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "Gerendert %s" @@ -3252,11 +3292,11 @@ msgstr "" "was Sie tun, da es zu verschiedenen Nebeneffekten in der restlichen " "Konvertierung kommen kann." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "Zur Ausgabe statt der Standarddatei verwendete CSS- Datei" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" @@ -3264,7 +3304,7 @@ msgstr "" "Für die Erstellung der HTML- Indexdatei anstelle der Standarddatei benutzte " "Vorlage" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" @@ -3272,7 +3312,7 @@ msgstr "" "FÜr die Erstellung der HTML- Dateien des Buchinhalts anstelle der " "Standarddatei benutzte Vorlage" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3637,20 +3677,23 @@ msgstr "" "ergänzt. Ein von Ihnen festgelegtes Template hat vor dieser Option Vorrang." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." msgstr "" -"Die Fußzeilen auf jeder Seite werden durch ein HTML-Template generiert. Die " -"Zeichenkette _PAGENUM_ wird durch die aktuelle Seitennummer ersetzt." +"Ein HTML Template, das verwendet wird um %s auf jeder Seite zu generieren. " +"Die Strings _PAGENUM_, _TITLE_, _AUTHOR_ und _SECTION_ (Seitenzahl, Titel, " +"Autor, Abschnitt) werden durch ihre aktuellen Werte ersetzt." + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" +msgstr "Fußzeilen" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." -msgstr "" -"Die Kopfzeile auf jeder Seite werden durch ein HTML-Template generiert. Die " -"Zeichenkette _PAGENUM_ wird durch die aktuelle Seitennummer ersetzt." +msgid "headers" +msgstr "Kopfzeilen" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 msgid "" @@ -4909,7 +4952,7 @@ msgstr "" msgid "Set book ID" msgstr "Geben Sie die Buch-ID an" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4935,27 +4978,27 @@ msgstr "Nein" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "Titel" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "Autor(en)" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "Verlag" @@ -4991,13 +5034,14 @@ msgstr "Bemerkungen" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "Schlagworte" @@ -5006,9 +5050,10 @@ msgstr "Schlagworte" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -5018,7 +5063,7 @@ msgstr[0] "Buchreihen" msgstr[1] "Buchreihen" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -5030,8 +5075,8 @@ msgstr "Zeitstempel" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "Veröffentlicht" @@ -5172,60 +5217,60 @@ msgstr "" "Coverbild/soziale Metadaten für das durch ISBN identifizierte Buch von " "LibraryThing.com laden.\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "Coverbild" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "Lädt Metadaten und Coverbild von Amazon" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "US" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "Frankreich" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "Deutschland" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "UK" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "Italien" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "Japan" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "Spanien" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "Brasilien" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "Folgende Amazon-Webseite benutzen:" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "Metadaten werden von der dem Land zugehörigen Amazon Website geholt." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" "Zeitüberschreitung beim Abruf von Metadaten bei Amazon. Versuche es später " @@ -5235,6 +5280,28 @@ msgstr "" msgid "Metadata source" msgstr "Metadaten-Quelle" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" +"Mehrere Coverbilder von Amazon herunterladen. Nützlich zum Finden " +"alternativer Cover." + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "Big Book Suche -Plugin einrichten" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "Maximale Anzahl der zu findenden Coverbilder" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" +"Die maximale Anzahl an Titelseiten, die aus den Suchergebnissen verarbeitet " +"werden sollen" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " @@ -5243,7 +5310,7 @@ msgstr "" "Metadaten und Coverbilder von Douban.com herunterladen. Nur für " "chinesischsprachige Bücher sinnvoll." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -5255,6 +5322,51 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "Lädt Metadaten und Coverbilder von Google Books" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" +"Coverbilder aus einer Google-Bilder Suche herunterladen. Nützlich, um ein " +"größeres/alternatives Cover zu finden." + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "Einrichten des Google-Bilder Suche Plugins" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" +"Maximale Anzahl der zu verarbeitenden Coverbilder aus den Google-" +"Suchergebnissen" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "Coverbild-Größe" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "Suche nach Coverbildern, die größer als die angegebene Größe sind" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "Jede Größe" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "Groß" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "Größer als %s" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "Lädt Metadaten von isbndb.com" @@ -5328,12 +5440,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "Dies ist ein Amazon Topaz-Buch. Es kann nicht verarbeitet werden." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "Das ist keine MOBI Datei. Es ist eine Topaz Datei." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "Das ist keine MOBI Datei." @@ -5366,72 +5478,72 @@ msgid "No details available" msgstr "Keine Details verfügbar" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "Inhaltsverzeichnis" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "Titelseite" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "Index" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "Glossar" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "Danksagungen" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "Literaturverzeichnis" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "Schlussschrift" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "Copyright" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "Widmung" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "Epigraph" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "Vorwort" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "Abbildungsverzeichnis" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "Tabellenverzeichnis" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "Anmerkungen" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "Vorwort" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "Haupttext" @@ -5440,7 +5552,7 @@ msgstr "Haupttext" msgid "%s format books are not supported" msgstr "Bücher im %s Format werden nicht unterstützt" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " @@ -5450,7 +5562,7 @@ msgstr "" "von Amazon. Calibre kann nur MOBI-Dateien bearbeiten, welche KF8-Bücher " "enthalten. Ältere MOBI-Dateien ohne KF8 sind nicht bearbeitet werden." -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -5478,28 +5590,26 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" -"

Unter Bücher perfektionieren können Sie Ihrem sorgfältig " -"gestalteten eBook \n" -"den letzten Feinschliff verpassen.\n" +"

Den letzten Schliff geben ist alles, was die Bücher den Eindruck " +"der Perfektion vermitteln lässt.

\n" "\n" -"

Hier unter Bücher perfektionieren wird versucht, \n" -"die Änderungen am internen Code Ihres Buches zu minimieren. \n" -"Im Gegensatz zum Konvertieren werden CSS-Style, Dateiname, \n" -"Schrift, Größe, eingestellte Ränder, usw. NICHT verändert. \n" -"Jede Aktion führt nur die minimalst notwendigen Änderdungen durch,\n" -"die zum Erzielen des gewünschten Resultats erforderlich sind.

\n" +"

Das Polieren versucht, die Veränderungen im internen Code des Buches zu " +"minimieren.\n" +"Nicht wie bei der Konvertierung, vereinfacht es kein CSS, nennt keine " +"Datein um, verändert die Schriftgrösse nicht, passt keine " +"Einzüge an, etc. Alles führt nur dazu, dass eine minimale Anzahl Änderungen " +"für den erwünschten Effekt benötigt werden.

\n" "\n" -"

Sie sollten dieses Werkzeug im letzten Schritt des eBook- " -"Erstellungsprozesses verwenden.

\n" -"\n" -"

Beachten Sie, dass nur Dateien in den Formaten %s perfektioniert werden " -"können.

\n" +"

Sie sollten dies als letzten Schritt bei der Erstellung Ihres E-Books " +"verwenden.

\n" +"{0}\n" +"

Merke, dass dies nur bei Büchern im %s Format funktioniert.

" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -5532,11 +5642,8 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" -"

Fügt eine \"Buchumschlag\"-Seite zu Beginn des Buches ein, \n" -"die alle Buch-Metadaten wie Titel, Tags, Autoren, Serien, Kommentare\n" -"usw. enthält.

" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 msgid "

Remove a previous inserted book jacket page.

\n" @@ -5665,9 +5772,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "Der Anker %(a)s existiert in der Datei %(f)s nicht" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "(Unbenannt)" @@ -5683,11 +5790,11 @@ msgid "HTML TOC generation options." msgstr "Einstellungen zur Erstellung von HTML-Inhaltsverzeichnissen." #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "Bewertung" @@ -5736,6 +5843,10 @@ msgstr "" "Konnte pdftohtml nicht finden, überprüfen Sie, ob es in der PATH Variable " "angegeben ist" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "Unbenannt" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5912,7 +6023,7 @@ msgid "Show this confirmation again" msgstr "Diese Bestätigung wieder anzeigen" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "Neustart erforderlich" @@ -6041,12 +6152,12 @@ msgstr "Hinzufügen von Büchern verwalten" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -6129,8 +6240,8 @@ msgstr "Zur Bibliothek hinzufügen" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -6258,7 +6369,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "Wählen Sie das Ziel für %(title)s.%(fmt)s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -6311,7 +6422,7 @@ msgid "No existing calibre library found at %s" msgstr "Keine vorhandene Calibre am Ort %s gefunden" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "Bibliothek auswählen" @@ -6325,7 +6436,7 @@ msgstr "Bibliothek wechseln/neu erstellen …" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -6337,12 +6448,12 @@ msgid "Pick a random book" msgstr "Zufällig ein Buch auswählen" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "Schneller Wechsel" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "Bibliothek umbenennen" @@ -6499,7 +6610,7 @@ msgstr "" "übereinstimmen?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -6531,7 +6642,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -6576,7 +6687,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "Einen Katalog Ihrer Calibre-Bibliothek erstellen" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "Konvertierung nicht möglich" @@ -6589,89 +6700,103 @@ msgstr "Konvertierung von %d Büchern wird gestartet" msgid "Empty output file, probably the conversion process crashed" msgstr "Leere Ausgabedatei, eventuell ist der Umwandlungsprozess abgestürzt" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "%(title)s von %(author)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "Bibliothek wählen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "Bibliothek &Pfad:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "Bücherei durchsuchen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" -msgstr "Nach &dem Kopieren löschen" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" +msgstr "&Kopieren" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "Zur angegebenen Bibliothek kopieren" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "Verschiebe&n" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" +"Zur angegebenen Bibliothek kopieren und aus der aktuellen Bibliothek löschen" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "In Bibliothek kopieren" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "Gewählte Bücher in die angegebene Bibliothek kopieren" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "(Nach dem Kopieren löschen)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "Bibliothek durch Pfad auswählen..." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "Kopieren nicht möglich" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "Kopie zur aktuellen Bibliothek nicht möglich." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "Keine Bibliothek" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "Keine Bibliothek in %s gefunden" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "Wird kopiert nach" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "Wird verschoben nach" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "%(num)d Bücher nach %(loc)s kopiert" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "%(num)d Bücher verschoben nach %(loc)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "Konnte folgende Bücher nicht kopieren: " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "Automatisch zusammengefügt" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " @@ -6683,7 +6808,7 @@ msgstr "" "Option Automatisches Zusammenführen unter Einstellungen->Bücher hinzufügen " "festgelegt." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -6704,6 +6829,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "Sind Sie sicher?" @@ -6784,11 +6910,11 @@ msgstr "" "Das %(fmt)s Format wird von %(title)s dauerhaft entfernt. Sind Sie " "sich sicher?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "Zu löschende Formate auswählen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." @@ -6796,7 +6922,7 @@ msgstr "" "Wählen Sie die Formate, die nicht gelöscht werden sollen.

Beachten " "Sie, dass dies niemals alle Formate eines Buches löscht." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" @@ -6804,44 +6930,44 @@ msgstr "" "Alle Formate des ausgewählten Buches werden aus Ihrer Bibliothek " "gelöscht
Die Metadaten werden aufgehoben. Sind Sie sich sicher?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "Bücher können nicht gelöscht werden" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "Kein Gerät ist angeschlossen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "Hauptspeicher" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "Speicherkarte A" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "Speicherkarte B" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "Kein Buch zum Löschen vorhanden" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "Keines der ausgewählten Bücher ist auf dem Gerät" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "Bücher werden vom Gerät gelöscht." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" @@ -6849,20 +6975,22 @@ msgstr "" "Einige der ausgewählten Bücher sind auf dem angeschlossenen Gerät vorhanden. " "Wo wollen Sie die Dateien löschen?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -"Die ausgewählten Bücher werden dauerhaft gelöscht und die Dateien aus " -"der Calibre-Bibliothek entfernt. Sind Sie sicher?" +"Die %d gewählten Bücher werden dauerhaft gelöscht und die Dateien " +"werden von Ihrer Calibre-Bibliothek entfernt. Sind Sie sicher?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" -"Die gewählten Bücher werden von Ihrem Gerät dauerhaft gelöscht. Sind " +"Die %d gewählten Bücher werden von dem Gerät dauerhaft gelöscht. Sind " "Sie sicher?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -6940,12 +7068,12 @@ msgstr "" "mit besonderen Geräten, usw." #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "Stoppe" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" "Server wird angehalten, dies kann bis zu einer Minute dauern, bitte warten " @@ -7033,8 +7161,8 @@ msgstr "Download der Metadaten fehlgeschlagen" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "Herunterladen gescheitert" @@ -7079,7 +7207,7 @@ msgid "Download complete" msgstr "Herunterladen abgeschlossen" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "Protokoll des Herunterladens" @@ -7177,15 +7305,15 @@ msgstr "" "gelöscht.

Sind Sie sich sicher, dass Sie fortfahren " "möchten?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "Geänderte Metadaten übernehmen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "Einige Fehler" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -7294,17 +7422,28 @@ msgstr "Perfektioniere %d Bücher" msgid "

About Polishing books

%s" msgstr "

Über \"Bücher perfektionieren\"

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "

Schriften tiefstellen

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "

Intelligente Zeichensetzung

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -7319,7 +7458,7 @@ msgstr "" "sind, alle Metadaten von Calibre zu unterstützen.

Es gibt eine " "spezielle Funktion, um das Coverbild zu aktualisieren.

" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " @@ -7329,174 +7468,185 @@ msgstr "" "Coverbildern der Calibre Bibliothek übereinstimmen.

Wenn die eBook-" "Datei kein zu identifizierendes Coverbild hat, wird ein neues eingefügt.

" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "

Buchumschlag

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "

Buchumschlag entfernen

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "Wählen Sie die Aktionen aus, die durchgeführt werden sollen:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "Alle eingebetteten Schriftarten unter&setzen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "&Intelligente Zeichensetzung" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "&Metadaten in die Buch-Datei updaten" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "&Coverbild in den Buch-Dateien updaten" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "Metadaten als Seite des Buchumschlages hinzufügen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "Einen zuvor eingefügten Buchumschlag &entfernen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "Über" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "Be&richt anzeigen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" "Einen Bericht aller durchgeführter Aktionen anzeigen, nachdem Perfektioniert " "wurde." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "Einstellungen &speichern" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "Einstellungen &Laden" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "&Alles auswählen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "&Nichts auswählen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "Keine Aktionen gewählt" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "Sie müssen mindestens eine Aktion auswählen, bevor Sie speichern" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "Namen auswählen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "Wählen Sie einen Namen für diese Einstellungen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "Gespeicherte Einstellungen entfernen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "Metadaten müssen aktualisiert werden" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "Sie müssen mindestens eine Aktion auswählen oder Abbrechen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "Bücher zum Perfektionieren sammeln" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "Perfektioniere %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "Buch %(nums)s von %(tot)s (%(title)s) perfektioniert" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "Es werden %(nums)s von %(tot)s (%(title)s) Büchern gesammelt" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "Ignoriere %d verbleibende Berichte" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "Kompletten &Log anzeigen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "Perfektionieren von %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "Die originale Datei wurde als %s gespeichert." msgstr[1] "Die originalen Dateien wurden als %s gespeichert." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr " und " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" "Wenn Sie erneut perfektionieren, wird der Vorgang auf das Original angewandt." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "Bücher perfektionieren" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "Lassen Sie Ihre Bücher vor Perfektion glänzen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "P" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "Perfektionieren kann nicht durchgeführt werden" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " @@ -7506,7 +7656,7 @@ msgstr "" "Konvertieren Sie zu einem dieser Formate, bevor Sie dieses Buch " "perfektionieren." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "Buch perfektionieren für %d starten" @@ -7630,7 +7780,7 @@ msgstr "" "gibt." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "Zeige Buchdetails" @@ -7738,7 +7888,7 @@ msgid "this book" msgstr "dieses Buch" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "Nach %s suchen" @@ -7750,17 +7900,17 @@ msgstr "Händler" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "Händler auswählen" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "Suche nicht möglich" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." @@ -7768,7 +7918,7 @@ msgstr "" "Calibre hilft Ihnen bestimmte eBooks zu finden, indem es die Websites vieler " "kommerzieller und gemeinfreier Buchquellen für Sie durchsucht." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " @@ -7778,7 +7928,7 @@ msgstr "" "Händler das Buch nach dem Sie suchen am günstigsten anbietet. Außerdem " "können Sie sich den DRM-Status und andere nützliche Informationen ansehen." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -7795,11 +7945,11 @@ msgstr "" "das entsprechende Buch DRM-geschützt ist." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "Diese Nachricht nochmal anzeigen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "Über Bücher erwerben" @@ -8101,7 +8251,7 @@ msgid "The specified directory could not be processed." msgstr "Das angegebene Verzeichnis konnte nicht bearbeitet werden." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "Keine Bücher" @@ -8331,7 +8481,7 @@ msgid "Click to open" msgstr "Zum Öffnen klicken" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "IDs" @@ -8341,7 +8491,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "Buch %(sidx)s von %(series)s" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "Sammlungen" @@ -8375,16 +8525,25 @@ msgstr "Pfad" msgid "Cover size: %(width)d x %(height)d" msgstr "Coverbild-Größe: %(width)d x %(height)d" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "Link kopieren" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "Entferne das %s Format" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "Das Format %s speichern" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "Das %s Format wiederherstellen" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "BibTeX Einstellungen" @@ -8452,7 +8611,7 @@ msgstr "Ausgabe" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -8651,7 +8810,7 @@ msgstr "Ja" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "Name" @@ -9009,8 +9168,8 @@ msgid "Style the selected text block" msgstr "Stil des ausgewählten Textblocks wählen" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "Normal" @@ -10000,7 +10159,7 @@ msgstr "Keine B&ilder" msgid "PDF Output" msgstr "PDF-Ausgabe" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " @@ -10010,52 +10169,56 @@ msgstr "" "verwendet, wenn Sie das \"Überschreiben\" Kontrollkästchen aktivieren. " "Andersfalls wird die Papiergröße vom Ausgabeprofil verwendet." -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "Papiergröße des Ausgabepr&ofils überschreiben" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "&Papiergröße:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "&Custom size:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "Einheit:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "Seitenverhältnis des Coverbildes beibeh&alten" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "Seite&nzahlen am Ende jeder Seite hinzufügen" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "Se&rife Schriftartfamilie:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "&Serifenlose Schriftartfamilie:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "Nichtproportionale (&monospace) Schriftartfamilie:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "S&tandardschrift:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "Benut&zerdefinierte Schriftgröße" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -10067,14 +10230,34 @@ msgstr "Benut&zerdefinierte Schriftgröße" msgid " px" msgstr " Pixel" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "Nichtproportionale Schri&ftgröße:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" -msgstr "Seite&nzahlen am Ende jeder Seite hinzufügen" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "Seiten Kopf- und Fußzeilen" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" +"Sie können Kopf-und Fußzeilen auf jeder Seite der erzeugten PDF-Datei " +"einfügen, indem Sie das Kopf-und Fußzeilen Template verwenden. Für Beispiele " +"lesen Sie bitte das Benutzerhandbuch." + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "Kopfzeilen-Template:" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" +msgstr "&Fußzeilen-Template:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 msgid "PMLZ Output" @@ -10338,6 +10521,10 @@ msgstr "" "Dokument getestet werden. Wenn das Ergebnis zufriedenstellend ist, klicke " "den Hinzufügen Button um ihn zu der Liste der Ausdrücke hinzuzufügen." +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "Standar&d wiederherstellen" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "Konvertieren" @@ -10503,6 +10690,9 @@ msgid "" "Help with using these options to generate a Table of Contents" msgstr "" +"Hilfe beim Verwenden dieser Optionen zum Erstellen eines " +"Inhaltsverzeichnisses (en)" #: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:93 msgid "" @@ -10511,10 +10701,15 @@ msgid "" "errors\n" " caused by automatic generation." msgstr "" +"Diese Option öffnet ein Popup mit dem Inhaltsverzeichnis-Editor.\n" +" Damit können Sie manuell das Inhaltsverzeichnis bearbeiten und Fehler,\n" +" die beim automatischen Generieren entstanden sind, beseitigen." #: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:96 msgid "&Manually fine-tune the ToC after conversion is completed" msgstr "" +"&Manuelle Feineinstellung, nachdem die Inhaltsverzeichnis-Erstellung " +"abgeschlossen ist" #: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input.py:12 msgid "TXT Input" @@ -10936,7 +11131,7 @@ msgstr "" "%s wurde erkannt. Möchten Sie das Gerät mit Calibre verwalten?" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "Keine geeigneten Formate" @@ -10984,67 +11179,67 @@ msgstr "Gerät: " msgid " detected." msgstr " gefunden." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "zum Übertragen ausgewählt" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "Kein Gerät" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "Kein Gerät angeschlossen" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "%(num)i von %(total)i Büchern" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "0 von %i Büchern" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "Format wählen, das ans Gerät geschickt wird" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "Übertragung schlug fehl: Kein Gerät verbunden" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "Keine Speicherkarte" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "Übertragung schlug fehl: Keine Speicherkarte im Gerät" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" "Die folgenden Bücher vor dem Laden auf das Gerät automatisch konvertieren?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "Sende Kataloge ans Gerät." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "Sende Nachrichten an das Gerät." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "Sende Bücher an das Gerät." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." @@ -11053,18 +11248,18 @@ msgstr "" "fehlen. Konvertieren Sie die Bücher zuerst in ein von Ihrem Gerät " "unterstütztes Format." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "Gerätespeicher voll" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" "

Es können keine Bücher mehr auf das Gerät geladen werden, da der " "Gerätespeicher voll ist " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "Falsches Ziel" @@ -11252,7 +11447,7 @@ msgstr "Informationen zum Gerät anzeigen" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -11397,12 +11592,12 @@ msgstr "E&tiketten für neue Bücher auswäheln:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:50 #, python-format msgid "Next [%s]" -msgstr "" +msgstr "Nächste(s) [%s]" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:52 #, python-format msgid "Previous [%s]" -msgstr "" +msgstr "Vorherige(s) [%s]" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:71 msgid "Fit &cover within view" @@ -11900,13 +12095,13 @@ msgid "Where do you want to delete from?" msgstr "Von wo möchten Sie löschen?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "Bibliothek" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "Gerät" @@ -11942,8 +12137,8 @@ msgid "Location" msgstr "Ort" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -11962,13 +12157,13 @@ msgstr "%(curr)s (war %(initial)s)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "Eintrag ist leer" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" "Ein Element kann nicht auf nichts eingestellt werden. Löschen Sie es " @@ -12080,7 +12275,7 @@ msgstr "Verknüpfung" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "Keine Treffer gefunden" @@ -12128,12 +12323,12 @@ msgid "Copy to author" msgstr "Kopiere nach Autor" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "Ungültiger Autorenname" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "Autorennamen dürfen nicht das & Zeichen enthalten." @@ -12237,40 +12432,40 @@ msgstr "&Verstecke alle Aufgaben" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "In &Zwischenablage kopieren" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "&Details anzeigen" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "&Details verbergen" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "Detaillierte Informationen über diesen Fehler anzeigen" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "Kopiert" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "Log-Datei anschauen" @@ -12612,6 +12807,13 @@ msgid "" " the EPUB from ORIGINAL_EPUB. Useful if you did a bulk\n" " conversion of a large number of books and something went wrong." msgstr "" +"Wenn eine Konvertierung in dasselbe Format, das jetzt schon vorhanden ist, " +"stattfindet,\n" +"z.B. EPUB nach EPUB, speichert Calibre die Original-Datei\n" +" als ORIGINAL_EPUB. Diese Option lässt Calibre\n" +" das EPUB von ORIGINAL_EPUB wiederherstellen. Nützlich,\n" +" wenn Sie eine Massen-Konvertierung einer grossen Menge Bücher\n" +" machen, und etwas schief geht." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:608 msgid "Restore pre conversion &originals, if available" @@ -13237,6 +13439,7 @@ msgstr "Abbruch läuft ..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -13277,12 +13480,12 @@ msgstr "Elemente" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "Suche" @@ -13957,12 +14160,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "Der Port muss eine Zahl zwischen 8000 und 32000 sein." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "Problem beim Starten des wireless Gerätes" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "Der Treiber für dratlose Geräte wurde nicht gestartet. Grund: \"%s\"" @@ -14022,6 +14225,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "Verbindungen beim Start von Calibre &autmatisch erlauben" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "Verlage" @@ -14036,6 +14240,7 @@ msgstr "Suchname für Kategorie: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "Ungültiger Name" @@ -14633,10 +14838,10 @@ msgid "" "tooltips.

" msgstr "" "
\n" -"

Legt ein reguläre Ausdrücke Muster fest, welches verwendet wird, um eBook " +"

Legt ein regulärer Ausdruck-Muster fest, welches verwendet wird, um eBook " "Metadaten aus Dateinamen zu erraten.

\n" "

Ein Tutorial " -"für den Umgang mitregulären Ausdrücken ist verfügbar.

\n" +"für den Umgang mit regulären Ausdrücken ist verfügbar.

\n" "

Nutzen Sie die Test Funktion unten, um Ihre regulären Ausdrücke an " "einigen Beispielnamen zu testen (denken Sie daran, auch die Dateiendungen " "anzugeben). Die Gruppennamen für die unterschiedlichen Metadateneinträge " @@ -14962,7 +15167,7 @@ msgid "&Shortcut:" msgstr "Ta&stenkürzel:" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "Fertig" @@ -15008,7 +15213,7 @@ msgstr "Suche einer Tastenkombination nach Namen" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "Keine Treffer" @@ -15018,48 +15223,52 @@ msgstr "Keine Treffer" msgid "Could not find any shortcuts matching %s" msgstr "Kann keine Tastenkombination mit %s finden" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "Dieses Gerät auswerfen" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "Dieses Gerät konfigurieren" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "Bücher der Calibre Bibliothek anzeigen" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "Zeige Bücher im Hauptspeicher des Geräts" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "Zeige Bücher auf Speicherkarte A" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "Zeige Bücher auf Speicherkarte B" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "Bibliothek löschen" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "verfügbar" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "Virtuelle Bibliothek" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "Erweiterte Suche" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "Shift+Strg+F" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" @@ -15068,19 +15277,19 @@ msgstr "" "Kommentaren, etc.

Durch Leerzeichen getrennte Wörter werden mit UND " "verknüpft" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "&Los!" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "Schnellsuche durchführen (Sie können auch die Eingabetaste drücken)" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "Schnellsuche löschen" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "Aktuellen Suchtext kopieren (anstelle des Namens der Suche)" @@ -15093,32 +15302,32 @@ msgstr "Sterne" msgid "Y" msgstr "J" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "Auf dem Gerät" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "Größe (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "Geändert" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "Der Such-Name ist \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "Die UUID dieses Buches ist \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -15129,32 +15338,32 @@ msgstr "" "Der Speicherort dieses Buches kann nicht verändert werden. Möglicherweise " "ist es noch in einem anderen Programm geöffnet." -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "Ändern der Daten fehlgeschlagen" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" "Daten konnten nicht festgelegt werden. Klicken Sie auf Details, um den Grund " "zu erfahren." -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "In der Bibliothek" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "Größe" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "Zum Löschen ausgewählt" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "Doppelklick ermöglicht Bearbeitung

" @@ -15261,7 +15470,7 @@ msgid "Previous Page" msgstr "Vorherige Seite" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -15805,7 +16014,7 @@ msgid "Edit Metadata" msgstr "Metadaten bearbeiten" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -15962,15 +16171,15 @@ msgstr "&Bemerkungen" msgid "Basic metadata" msgstr "Basis Metadaten" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "Enthält Coverbild" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "Enthält Zusammenfassung" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -15983,29 +16192,29 @@ msgstr "" "Herunterladen Coverbilder erhalten, und\n" "umgekehrt." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "Siehe auf" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "Calibre lädt Metadaten herunter von: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "Bitte warten" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "Abfrage: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" "Herunterladen der Metadaten fehlgeschlagen. Klicken Sie für weitere " "Informationen auf \"Details anzeigen\"" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -16017,42 +16226,48 @@ msgstr "" "den Nachnamen des Autors und ein einzelnes, prägnantes Wort aus dem " "Titel.

Um das gesamte Log zu sehen, wählen Sie Details anzeigen." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "Aktuelles Coverbild" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "Suche..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "Dieses Cover in voller Größe anzeigen" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "Coverbilder für %s werden geladen, bitte warten Sie..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" "Herunterladen von Coverbildern fehlgeschlagen, wählen Sie \"Details " "anzeigen\" für Details." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "Es wurden für %s keine Coverbilder gefunden" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -"%(num)d Coverbilder für %(title)s gefunden. Wählen Sie aus, welches " -"Ihnen am besten gefällt." +"Es wurden %(num)d mögliche Coverbilder für %(title)s gefunden. Nach " +"Abschluss des Downloads werden die Cover nach Größe sortiert." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "Lade Metadaten herunter..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "Coverbilder werden geladen..." @@ -16238,10 +16453,11 @@ msgid "The Add &Process" msgstr "Der Hinzufügen &Prozess" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" -"Dateien mit den folgenden Erweiterungen beim automatischen Hinzufügen " -"Ignorieren " +"Dateien beim automatischen Hinzufügen ignorieren ,die folgende " +"Endungen haben " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 msgid "" @@ -16293,34 +16509,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "&Automatisches Hinzufügen" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "Hoch" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "Niedrig" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "Sehr niedrig" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "Kompakte Metadaten" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "Voreinstellung" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "Alles auf einem Tab" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "Alle Bestätigungsdialoge wurden zurückgesetzt" @@ -16376,19 +16592,17 @@ msgid "Job &priority:" msgstr "Auftrags&priorität:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" -msgstr "Einschränkungen beim Öffnen der aktuellen Bibliothek:" +msgid "Virtual library to apply when the current library is opened:" +msgstr "" +"Virtuelle Bibliothek zur Anwendung, wenn die aktuelle Bibliothek geöffnet " +"ist:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" -"Wendet diese Einschränkungen beim Start von Calibre an, wenn die aktuelle " -"Bibliothek benutzt wird. Wird auch angewandt, wenn zu dieser Bibliothek " -"gewechselt wird. Beachten Sie, dass diese Einstellung für jede Bibliothek " -"individuell gilt. " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170 msgid "Edit metadata (single) layout:" @@ -17437,10 +17651,6 @@ msgstr "Aus" msgid "Small" msgstr "Klein" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "Groß" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "Mittel" @@ -17458,7 +17668,7 @@ msgid "Never" msgstr "Nie" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "Nach Anfangsbuchstaben" @@ -17830,7 +18040,7 @@ msgstr "&Alles auswählen" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:134 msgid "&Clear all" -msgstr "&lösche alles" +msgstr "A&lles abwählen" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:135 msgid "" @@ -18628,20 +18838,20 @@ msgstr "" "Geräteschnittstellen- Plugin in Einstellungen->Erweitert->Plugins " "überschrieben werden." -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "Inhalte-Server konnte nicht gestartet werden" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "Fehler Log:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "Zugriffs-Protokolldatei:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" "Sie müssen den Server neu starten, damit die Änderungen wirksam werden" @@ -18683,23 +18893,19 @@ msgid "Max. &OPDS items per query:" msgstr "Maximale &ODPS Einträge pro Anfrage:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" -msgstr "Max. OPDS &ungeordnete Elemente:" +msgid "Max. &ungrouped items:" +msgstr "Max. &ungruppierte Posten" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" -msgstr "Anzuwendende Einschränkung (gespeicherte Suche):" +msgid "Virtual library to apply:" +msgstr "Virtuelle Bibliothek zur Anwendung:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" -"Diese Einschränkung (basierend auf einer gespeicherten Suche) schränkt ein, " -"welche Bücher der Server bei einer Suche verfügbar macht. Diese Einstellung " -"ist spezifisch für jede Bibliothek (d.h. Sie können je Bibliothek andere " -"Einschränkungen haben)" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 msgid "" @@ -19180,40 +19386,50 @@ msgstr "&Voreinstellungen wieder herstellen" msgid "Apply any changes you made to this tweak" msgstr "Änderungen auf diesen Kniff anwenden" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" +msgstr "Gespeicherte Suche erstellen" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" +msgstr "Keine Suche zum Speichern vorhanden" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 msgid "Delete current search" msgstr "Aktuelle Suche löschen" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 msgid "No search is selected" msgstr "Keine Suche ausgewählt" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "Die gewählte Suche wird dauerhaft gelöscht. Sind Sie sicher?" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "Suche (Zur erweiterten Suche die Schaltfläche links klicken)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "Suche starten" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "Hervorhebung von Suchergebnissen an- oder ausschalten" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "Gespeicherte Suchergebnisse" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" "Gespeicherte Suche wählen oder Namen für neue gespeicherte Suche eingeben" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." @@ -19221,47 +19437,187 @@ msgstr "" "Aktuelle Suche unter dem Namen speichern, der im Eingabefeld steht. Durch " "drücken und gedrückt halten der Maustaste erscheint ein Optionenmenü." -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "Gespeicherte Suche erstellen" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "Lösche gespeicherte Suche" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "Gespeicherte Suchen verwalten" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" -msgstr "*Aktuelle Suche" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" +msgstr "Erstelle eine virtuelle Bibliothek, basierend auf %s" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" -msgstr "Beschränken auf" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "Virtuelle Bibliothek speichern" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "Virtuelle Bibliothek erstellen" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "&Name der Virtuellen Bibliothek" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "&Suchausdruck:" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "Eine Virtuelle Bibliothek erstellen auf der Basis von: " + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "Gespeicherte Suchen im Ausdruck erkannt:" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "Suchtext geändert" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" +"Der Name der virtuellen Bibliothek oder der Suchtext hat sich geändert. " +"Wollen Sie diese Änderungen verwerfen?" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "Kein Name" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "Sie müssen einen Name für die neue virtuelle Bibliothek angeben." + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "Der Name einer virtuellen Bibliothek kann nicht mit \"*\" beginnen" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "Name wird bereits verwendet" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "Ungültige Suche" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "(Alle Bücher)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" +msgstr "Zusätzliche Einschränkung" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" +msgstr "Virtuelle Bibliothek bearbeiten" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "Virtuelle Bibliothek entfernen" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "Virtuelle Bibliothek erstellen" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "*aktuelle Suche" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "Keine Suche" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" msgstr "" -"Es werden nur die Bücher angezeigt, auf welche die ausgewählte gespeicherte " -"Suche zutrifft." -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " -msgstr " oder die Suche " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "({0} von {1})" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "({0} von allen)" @@ -19561,36 +19917,36 @@ msgstr "Herunterladen..." msgid "Goto in store..." msgstr "Gehe zu Händler..." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" "Durch Kauf bei diesem Händler unterstützen Sie den Calibre Entwickler: %s

" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "Keine Abfrage" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" "Du musst einen Titel,Autor, oder ein Schlüsselwort eingeben, nach dem " "gesucht werden soll." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "Büchersuche anpassen" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "Suche konfigurieren" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" "Es konnten keine Bücher gefunden werden, die Ihrer Suche entsprechen." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "Wählen Sie das Format zum Herunterladen in Ihre Bibliothek." @@ -19713,52 +20069,52 @@ msgstr "Neu laden" msgid "%p%" msgstr "%p%" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "Der gruppierte Suchbegriff ist \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" "Das Ändern der Autoren für mehrere Bücher kann einige Zeit dauern. Sind Sie " "sicher?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" "Das Ändern der Metadaten für so viele Bücher kann einige Zeit dauern. Sind " "Sie sicher?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "Suchergebnisse" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "Benutzerkategorie umbenennen" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" "Hochkommas können bei der Umbezeichnung von Benutzerkategorien nicht im " "Namen verwendet werden" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "Der Name %s wird bereits benutzt" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "Such-Name duplizieren" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "Der gespeicherte Such-Name %s wird schon verwendet." @@ -19780,13 +20136,13 @@ msgid "Manage Tags" msgstr "Schlagwörter verwalten" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "Benutzer-Kategorien verwalten" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "Gespeicherte Suchen verwalten" @@ -19889,7 +20245,7 @@ msgid "Alter Tag Browser" msgstr "Alternativer Tag Browser" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "Sortieren nach" @@ -19933,138 +20289,138 @@ msgstr "" "Alle Kategorie-Editoren sind auch durch einen Rechtsklick auf die Einträge " "im obigen Schlagwort-Browser erreichbar" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "Icons ändern für: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "%s umbenennen" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "%s löschen" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "Sortierung für %s bearbeiten" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "Link bearbeiten für %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "%s zu einer Benutzer-Kategorie hinzufügen" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "Kinder von %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "Lösche Suche %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "Entferne %(item)s von Kategorie %(cat)s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "Nach allem außer %s suchen" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "Unterkategorie zu %s hinzufügen" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "Lösche Benutzerkategorie %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "Kategorie %s ausblenden" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "Kategorie anzeigen" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "Bücher in der Kategorie %s suchen" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "Bücher außerhalb der Kategorie %s suchen" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "%s verwalten" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "Kategorie Icon ändern" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "Standard-Icon wiederherstellen" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "Alle Kategorien anzeigen" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "Unterkategorisierungs-Schema ändern" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "Deaktivieren" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "Partition" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "Erster Buchstabe kann nur verwendet werden beim Sortieren nach Name" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "Wählen Sie ein Ziel für den Eintrag des Inhaltsverzeichnisses" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." -msgstr "" +msgstr "Es wird nach Text gesucht..." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" -msgstr "" +msgstr "Abwärts suche&n" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" -msgstr "" +msgstr "Aufwärts suchen" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -20075,56 +20431,58 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "&Name des Inhaltsverzeichnis-Eintrags:" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "Momentan gewähltes Ziel:" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" -msgstr "" +msgstr "Kein Treffer" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" -msgstr "" +msgstr "kein treffer für: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" +"Keine Treffer für %(text)s in der aktuellen Datei [%(current)s] gefunden. " +"Möchten Sie die Suche in der Datei %(which)s [%(next)s] weitersuchen?" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" -msgstr "" +msgstr "Weiter" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" -msgstr "" +msgstr "Zurück" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "Datei:" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "Anfang der Datei" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "Ungefähr %d%% vom Anfang aus" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "Ort: Ein <%s>-Marker innerhalb der Datei" @@ -20166,7 +20524,7 @@ msgstr "Es wurde kein XPaths eingegeben" msgid "The XPath expression %s is not valid." msgstr "Der XPath-Ausdruck %s ist ungültig." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." @@ -20174,7 +20532,7 @@ msgstr "" "Sie können vorhandene Einträge des Inhaltsverzeichnisses bearbeiten, indem " "Sie diese in der Menüleiste auf der linken Seite anklicken." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " @@ -20184,15 +20542,15 @@ msgstr "" "überprüft wurde. Einträge mit einem roten Punkt sind beschädigt und müssen " "eventuell repariert werden." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "Einen &neuen Eintrag erstellen" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "ToC aus &Hauptüberschriften erzeugen" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " @@ -20203,11 +20561,11 @@ msgstr "" "Überschriften-Markierungen kennzeichnet. Verwendet die Markierungen

, " "

,

." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "ToC aus &allen Überschriften erzeugen" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " @@ -20217,34 +20575,49 @@ msgstr "" "funktioniert nur, wenn das Buch die Überschriften anhand von HTML-" "Überschriften-Markierungen kennzeichnet. Verwendet die Markierungen ." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "ToC aus &Verweisen erzeugen" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" +msgstr "Erstelle ein Inhaltsverzeichnis der Dateien" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." +msgstr "" +"Generiert ein Inhaltsverzeichnis aus individuellen Dateien eines Buches. " +"Jeder Eintrag im Inhaltsverzeichnis wird auf den Anfang der Datei verweisen. " +"Der Texteintrag wird die \"erste Zeile\" des Dateitextes sein." + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 msgid "Generate ToC from &XPath" msgstr "ToC aus &XPath erzeugen" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" +msgstr "Generiert ein Inhaltsverzeichnis aus beliebigen XPath Ausdrücken." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" -msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "Inhaltsverzeichnis glätten" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" +"Inhaltsverzeichnis glätten; alle Einträge in die erste Ebene verschieben" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -20252,7 +20625,7 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" @@ -20261,82 +20634,123 @@ msgstr "" "verschieben, oder indem Sie die Knöpfe mit den Pfeilen auf der linken Seite " "verwenden" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "Den &Ort ändern, auf den dieser Eintrag zeigt" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "Diesen Eintrag &entfernen" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "Einen neuen Eintrag &innerhalb dieses Eintrags anlegen" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "Einen neuen Eintrag &oberhalb dieses Eintrags anlegen" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "Einen neuen Eintrag &unterhalb dieses Eintrags anlegen" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "Diesen Eintrag eine&bnen" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" "Alle Kinder dieses Eintrags werden auf die gleiche Stufe gesetzt wie dieser " "Eintrag." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "Willkommen-Bildschirm &zurückgeben" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "Zur obersten Ansicht zurück kehren" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "Dieser Eintrag zeigt auf ein vorhandenes Ziel" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "Der Ort auf den dieser Eintrag zeigt existiert nicht" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" -msgstr "Aktuellen Eintrag nach oben verschieben" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" +msgstr "Verschiebe \"%s\" aufwärts" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "Verschiebe \"%s\" abwärts" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "Alle ausgewählten Sachen löschen" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "Einrückung wieder bündig machen \"%s\"" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "Einrücken: \"%s\"" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" +"Die Einrückung das aktuellen Eintrags wieder bündig machen [Ctrl+Left]" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "Alle gewählten Einträge löschen" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" -msgstr "Aktuellen Eintrag nach unten verschieben" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "Alles &ausklappen" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "Alles &einklappen" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "Klicken Sie doppelt auf einen Eintrag, um den Text anzupassen" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "Titel: {0} Ziel: {1}{2}" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" @@ -20345,54 +20759,61 @@ msgstr "" "Der Ort, auf den dieser Eintrag zeigt, existiert nicht:\n" "%s" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "Keine Einträge gefunden" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" "Es wurden keine Einträge gefunden, die zum Inhaltsverzeichnis hinzugefügt " "werden könnten." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" "Es wurden keine Verweise gefunden, die zum Inhaltsverzeichnis hinzugefügt " "werden könnten." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" +"Es wurden keine Dateien gefunden, die dem Inhaltsverzeichnis hinzugefügt " +"werden könnten." + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "Inhaltsverzeichnis bearbeiten in %s" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "%s wird geladen, bitte warten..." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "%s wird geschrieben, bitte warten …" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "Schreiben des Buches gescheitert" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" "%s konnte nicht geschrieben werden. Klicken Sie auf »Einzelheiten anzeigen« " "um weitere Informationen zu erhalten." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "Laden des Buches gescheitert" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -20484,31 +20905,31 @@ msgstr "" "Die folgenden Bücher wurden schon in das %s Format konvertiert. Möchten Sie " "sie erneut konvertieren?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "Spen&den Sie, um Calibre zu unterstützen" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "&Wiederherstellen" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "Verbundenes Gerät ausw&erfen" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "Calibre beenden" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "Aktuelle Suche löschen" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "Fehlerdiagnosemodus" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -20519,11 +20940,11 @@ msgstr "" "Programms wird ein Fehlerdiagnoseprotokoll erstellt: %s

Das Protokoll wird " "automatisch angezeigt." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "Inhalts-Server konnte nicht gestartet werden" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -20545,16 +20966,16 @@ msgstr "" "dass Calibre versucht diese automatisch wiederherzustellen? Die " "Wiederherstellung könnte nicht komplett erfolgreich sein." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "Konvertierungsfehler" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "

Fehler beim Konvertieren von: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -20595,24 +21016,24 @@ msgstr "" "bekommt, wenn sie zu groß ist.\n" " " -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "Konvertierung fehlgeschlagen" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "Downloadschema ausgeschalten" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "Fehlgeschlagen" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" "Es bestehen aktive Aufträge. Sind Sie sicher, dass Sie es beenden wollen?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" @@ -20623,11 +21044,11 @@ msgstr "" "verursachen.
\n" " Sind Sie sicher, dass Sie beenden möchten?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "Aktive Aufträge" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -21203,29 +21624,29 @@ msgstr "Standard Schriftgröße" msgid "S&earch Google for '%s'" msgstr "Google Such&e nach '%s'" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "Vergrößern" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "Verkleinern" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "Speichern als" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "D&rehen" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "Wählen Sie eine Datei zum Speichern aus" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "Zeige Bild: %s" @@ -22713,8 +23134,8 @@ msgstr "" "sehen Sie sich bitte die Dokumentation, die die Suche betrifft, im " "Benutzerhandbuch an. Voreinstellung ist, keine Filterung durchzuführen." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." @@ -22722,13 +23143,13 @@ msgstr "" "Maximale Breite einer einzelnen Zeile in der Ausgabe. In der Voreinstellung " "wird die Bildschirmgröße erkannt." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" "Zeichenfolge zur Unterscheidung der Felder. Die Voreinstellung ist ein " "Leerzeichen." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." @@ -22736,15 +23157,15 @@ msgstr "" "Der Vorsatzcode zu allen Dateipfaden. Die Voreinstellung ist der absolute " "Pfad zum Bibliotheksverzeichnis." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "Ungültige Felder. Verfügbare Felder:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "Ungültiges Sortierungs-Feld. Verfügbare Felder:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" @@ -22752,13 +23173,13 @@ msgstr "" "Die folgenden Bücher wurden nicht hinzugefügt, da sie schon in der Datenbank " "vorhanden sind (siehe --duplicates Option):" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "Hinzugefügte Buch-IDs: %s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -22772,7 +23193,7 @@ msgstr "" "Verzeichnisse angeben, vergleichen\n" "Sie dazu die auf Verzeichnisse bezogenen Optionen unten.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" @@ -22781,11 +23202,11 @@ msgstr "" "und alle Dateien in diesem Verzeichnis sind verschiedene eBook-Formate " "dieses einzelnen Buches" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "Verzeichnisse rekursiv verarbeiten" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." @@ -22793,44 +23214,44 @@ msgstr "" "Bücher zur Datenbank hinzufügen, auch wenn diese schon vorhanden sind. Der " "Abgleich erfolgt aufgrund des Titels der Bücher." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "Ein leeres Buch hinzufügen (ein Buch ohne Formate)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "Titel der hinzugefügten Bücher festlegen" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "Autor der hinzugefügten Bücher festlegen" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "ISBN der hinzugefügten Bücher festlegen" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "Tags der hinzugefügten Bücher festlegen" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "Serien der der hinzugefügten Bücher festlegen" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "Serien Nummer der hinzugefügten Bücher festlegen" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "Pfad zum Coverbild des hinzugefügten Buches" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" "Sie müssen wenigstens eine Datei auswählen, die hinzugefügt werden soll" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -22848,33 +23269,38 @@ msgstr "" "(bei Angabe eines Bereichs, ist die letzte Zahl im Bereich nicht " "enthalten).\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "Sie müssen wenigstens ein Buch auswählen, das entfernt werden soll" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" -"%prog add_format [options] ID ebook_datei\n" -"\n" -"Fügt das eBook der ebook_datei zu den verfügbaren Formaten des durch die ID " -"gekennzeichneten logischen Buches hinzu. Sie erhalten die ID durch den list " -"Befehl. Falls das Format schon vorhanden ist, wird es ersetzt.\n" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "Sie müssen eine ID und eine eBook-Datei angeben" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "eBook Datei muss eine Endung haben" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -22891,11 +23317,11 @@ msgstr "" "eine Dateiendung wie LRF oder TXT oder EPUB sein. Falls das logische Buch im " "entsprechenden Format nicht vorliegt, passiert gar nichts.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "Sie müssen eine ID und ein Format (Dateiendung) angeben" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -22911,15 +23337,15 @@ msgstr "" "ID angegebene Buch.\n" "ID ist eine ID Nummer des Befehls list.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "Metadaten als OPF (XML) drucken" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "Sie müssen eine ID angeben" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -22946,7 +23372,7 @@ msgstr "" "Felder auch \n" "mit der --field option (Feldoption) festlegen.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -22963,42 +23389,42 @@ msgstr "" "die Syntax {0} {2}. Für boolesche Felder (ja/nein) verwenden Sie true und " "false oder yes und no." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" "Listet die Metadaten-Feldnamen auf, die mit der --field option (Feldoption ) " "verwendet werden können" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "Feldname" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "Eine Verzeichnis ID muss als erstes Argument angegeben werden" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "Es muss entweder ein Feld oder eine opf Datei angegeben werden" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" -msgstr "" +msgstr "Kein Buch mit der ID: %s in der Datenbank" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "Die OPF Datei %s existiert nicht" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "%s ist kein bekanntes Feld" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -23016,29 +23442,29 @@ msgstr "" "Metadaten (in einer opf-Datei). \n" "Die ID-Nummern erhalten Sie mit dem Befehl list.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" "Exportiere alle Bücher der Datenbank, die Liste der IDs wird ignoriert." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "Exportiere Bücher in das angegebene Verzeichnis. Voreinstellung ist" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "Exportiere alle Bücher in ein einziges Verzeichnis" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "Die Betätigung dieses Schalters stellt das Verhalten aus." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "Sie müssen IDs oder die Option %s angeben" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -23056,7 +23482,7 @@ msgstr "" "benutzerfreundliche Name der Spalte.\n" "Datentyp ist einer von : {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." @@ -23064,7 +23490,7 @@ msgstr "" "Diese Spalte speichert Daten ähnlich wie bei Schlagwörtern (z.B. mehrere " "durch Kommata getrennte Werte). Gilt nur, wenn der Datentyp Text ist." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -23084,11 +23510,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "Sie müssen Beschriftung, Name und Datentyp angeben" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -23106,7 +23532,7 @@ msgstr "" "werden.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" @@ -23117,7 +23543,7 @@ msgstr "" "Wenn angegeben, wird --search ignoriert.\n" "Voreinstellung: Alle" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" @@ -23127,17 +23553,17 @@ msgstr "" "please see the search-related documentation in the User Manual.\n" "Default: no filtering" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" "Detaillierte Ausgabeinformation anzeigen. Hilfreich zur Fehlerdiagnose." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "Fehler: Sie müssen eine Katalog-Ausgabedatei angeben" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -23159,7 +23585,7 @@ msgstr "" " Befehls.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." @@ -23167,11 +23593,11 @@ msgstr "" "Wenn die Spalte mehrere Werte speichert, sollen die angegebenen Werte zu den " "bestehenden hinzugefügt werden, anstatt sie zu ersetzen." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "Fehler: Sie müssen einen Feldnamen, eine ID und einen Wert angeben" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -23186,27 +23612,30 @@ msgstr "" "Spaltenbeschriftung und IDs.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "Details jeder Spalte anzeigen." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "j" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" +"Keine Spalte mit dem Namen %s gefunden. Sie müssen die Spalten-Etiketten, " +"nicht die Titel verwenden. Nutzen Sie calibredb custom_columns, um eine " +"Liste der Etiketten zu bekommen." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -23223,15 +23652,15 @@ msgstr "" " Spalten mit dem custom_columns Befehl anzeigen lassen.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "Nicht nach einer Bestätigung fragen" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "Fehler: Sie müssen eine Spaltenbeschriftung angeben" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -23253,40 +23682,40 @@ msgstr "" " Suche mit gleichem Namen hinzugefügt wird.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "Fehler: Sie müssen eine Aktion angeben (add|remove|list)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "Name:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "Suchausdruck:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "Fehler: Sie müssen einen Namen und einen Suchausdruck angeben" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "hinzugefügt" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "Fehler: Sie müssen einen Namen angeben" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "entfernt" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "Fehler: Aktion %s nicht erkannt, muss sein aus: (add|remove|list)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -23308,7 +23737,7 @@ msgstr "" "Dies ist im Normalfall nicht nötig, da eine Sicherung als OPF Datei jedesmal " "erstellt wird, sobald sich die Metadaten ändern.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." @@ -23316,7 +23745,7 @@ msgstr "" "Normalerweise beachtet dieser Befehl nur Bücher, deren OPF Dateien nicht " "mehr aktuell sind. Diese Option führt den Befehl für alle Bücher aus." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -23328,12 +23757,12 @@ msgstr "" "Führt einige Überprüfungen auf dem Dateisystem einer Bibliothek durch. " "Reports sind {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "Ausgabe als CSV" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" @@ -23341,7 +23770,7 @@ msgstr "" "Komma-separierte Liste mit Reporten.\n" "Standard: alle" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" @@ -23349,7 +23778,7 @@ msgstr "" "Komma-separierte Liste der zu ignorierenden Erweiterungen.\n" "Standard: alle" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" @@ -23357,11 +23786,11 @@ msgstr "" "Komma-separierte Liste der zu ignorierenden Namen.\n" "Standard: alle" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "Unbekannte Berichtüberprüfung" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -23390,7 +23819,7 @@ msgstr "" "genau wie die in den OPF- Dateien gespeicherten Daten.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." @@ -23398,14 +23827,14 @@ msgstr "" "Führt die Wiederherstellung tatsächlich durch. Der Befehl wird nicht " "ausgeführt, wenn diese Option nicht vorhanden ist." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" "Sie müssen folgende Option angeben, um eine Wiederherstellung durchzuführen: " "%s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -23418,7 +23847,7 @@ msgstr "" "Die Information entspricht dem, was im Schlagwort-Browser angezeigt\n" "wird.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" @@ -23426,7 +23855,7 @@ msgstr "" "Nur Anzahl der Einträge in einer Kategorie ausgeben anstelle der Anzahl pro " "Eintrag in der Kategorie" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." @@ -23434,7 +23863,7 @@ msgstr "" "Zeichen, mit dem Kategorie- Werte im CSV- Modus umschlossen werden. Standard " "sind Anführungszeichen (\")." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" @@ -23442,17 +23871,17 @@ msgstr "" "Komma-separierte Liste von Kategorie-Suchnamen.\n" "Standard: alle" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" "Zeichenfolge zur Aufteilung von Feldern im CSV- Modus. Standard ist ein " "Komma." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "KATEGORIE EINTRÄGE" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -23485,31 +23914,22 @@ msgstr "" "Der Suchname darf ausschließlich Kleinbuchstaben, Zahlen und Unterstriche " "enthalten und muss mit einem Buchstaben anfangen." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "wiederhergestellte Einstellung " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "Erstelle benutzerdefinierte Spalte " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr " (%s Bücher)" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "

Migriere alte Datenbank zu eBook Bibliothek in %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "Kopiere %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "Komprimiere Datenbank" @@ -23801,20 +24221,20 @@ msgstr "" "Servers von Apache/ngingx/etc. aus." #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "Alle Bücher" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "Neuestes" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "Lade, bitte warten" @@ -23837,7 +24257,7 @@ msgid "Browsing %d books" msgstr "Zeige %d Bücher" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "Durchschnittliche Bewertung" @@ -23846,98 +24266,98 @@ msgstr "Durchschnittliche Bewertung" msgid "%(prefix)s: %(rating).1f stars" msgstr "%(prefix)s: %(rating).1f Sterne" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "%d Sterne" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "Beliebtheit" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "Bibliothek" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "Startseite" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "Zufälliges Buch" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "Zeige Bücher nach" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "Kategorie zum Anzeigen wählen:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "Zeige nach" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "Hoch" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "in" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "Bücher in" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "Andere Formate" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "Lese %(title)s im %(fmt)s-Format" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "Holen" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "Einzelheiten" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "Permalink" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "Ein permanenter Link zu diesem Buch" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "Dieses Buch wurde gelöscht" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "Ein anderes Buch zufällig auswählen" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "Ein anderes zufälliges Buch" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "in Suche" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "Übereinstimmende Bücher" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -23961,24 +24381,24 @@ msgstr "" "\n" "Das OPDS- Interface wird via Bonjour automatisch publiziert.\n" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" "Pfad zum Verzeichnis der Bibliothek für die Bereitstellung im Inhalts-Server" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "Prozess PID in die angegebene Datei schreiben" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -"Gibt eine Restriktion für diese Instanz an. Diese Option übergeht alle " -"bibliotheksspezifischen Einstellungen der GUI" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -25235,10 +25655,6 @@ msgstr "vormittags" msgid "pm" msgstr "nachmittags" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "&Kopieren" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "Alles auswählen" @@ -25340,6 +25756,31 @@ msgstr "Code wird ausgeführt" msgid "Restart console" msgstr "Konsole neu starten" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "URL muss dem sftp Schema entsprechen" @@ -25389,103 +25830,103 @@ msgid "The \"%s\" recipe needs a username and password." msgstr "" "Das \"%s\" Downloadschema benötigt einen Benutzernamen und ein Passwort." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "Download beendet" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "Der Download der folgenden Artikel schlug fehl:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "Der Download von Teilen der folgenden Artikel schlug fehl:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr " von " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "\tFehlgeschlagene Verknüpfungen:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "Konnte Artikel nicht abrufen." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" "Die Fehlerdiagnose-Rückverfolgung befindet sich weiter oben in diesem " "Protokoll" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "Mit -vv starten, um den Grund zu sehen" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "Rufe Feeds ab..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "Feeds der Index-Seite erhalten" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "Es wird versucht ein Coverbild herunterzuladen ..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "Erstelle Impressum..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "Herunterladen von [%d Thread(s)] wird gestartet …" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "Feeds wurden nach %s heruntergeladen" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "Coverbild konnte nicht heruntergeladen werden: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "Coverbild von %s herunterladen" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "Impressumskopie geladen" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "Artikel in dieser Ausgabe: " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "Artikel ohne Titel" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "Artikel heruntergeladen: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "Herunterladen der Artikel schlug fehl: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "Feed abrufen" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 msgid "" "Failed to log in, check your username and password for the calibre " "Periodicals service." @@ -25493,7 +25934,7 @@ msgstr "" "Login fehlgeschlagen, überprüfen Sie Ihren Benutzername und Passwort für den " "Calibre Magazin Service." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -25846,17 +26287,9 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" -"Calibre teilt standardmäßig einen String, der mehrere Namen von Autoren " -"enthält,\n" -"durch ein Und-Zeichen ('&') und die Wörter \"und\" und \"mit\".\n" -"Die Aufteilung kann durch den unten aufgeführten regulären Ausdruck geändert " -"werden.\n" -"Strings werden an den Stellen getrennt, auf die der reguläre Ausdruck " -"passt.\n" -"Standard: r'(?i),?\\s+(und|mit)\\s+'" #: /home/kovid/work/calibre/resources/default_tweaks.py:85 msgid "Use author sort in Tag Browser" diff --git a/src/calibre/translations/el.po b/src/calibre/translations/el.po index 9335c5eac5..27b9fdaf5f 100644 --- a/src/calibre/translations/el.po +++ b/src/calibre/translations/el.po @@ -7,32 +7,32 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" -"PO-Revision-Date: 2013-01-03 19:23+0000\n" -"Last-Translator: Kovid Goyal \n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" +"PO-Revision-Date: 2013-04-12 22:31+0000\n" +"Last-Translator: Costis Aspiotis \n" "Language-Team: Greek \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:13+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:29+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" -msgstr "Δεν κάνει τίποτα" +msgstr "Δεν κάνει απολύτως τίποτα" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "Δεν κάνει τίποτα" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "Δεν κάνει τίποτα" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "Δεν κάνει τίποτα" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "Δεν κάνει τίποτα" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "Δεν κάνει τίποτα" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "Δεν κάνει τίποτα" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -331,77 +331,77 @@ msgstr "Καθορισμός μεταδεδομένων σε αρχεία %s" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:523 #, python-format msgid "Set metadata from %s files" -msgstr "Καθορισμός μεταδεδομένων από αρχεία %s" +msgstr "Καθορισμός μεταδεδομένων από %s αρχεία" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "Προσθήκη βιβλίων στο calibre ή τη συνδεδεμένη συσκευή" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "Προσκόμισε σχόλια απο ένα συνδεμένο kindle (πειραματικό)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "Δημιουργία καταλόγου των βιβλίων στην βιβλιοθήκη σας" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "Μετατροπή βιβλίων σε διάφορες μορφές ηλεκτρονικών βιβλίων" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" -msgstr "" +msgstr "Ρυθμίστε με λεπτομέρεια τα ηλεκτρονικά βιβλία σας" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" -msgstr "" +msgstr "Διόρθωση Πίνακα Περιεχομένων στα βιβλία σας" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" "Διαγραφή βιβλίων από τη βιβλιοθήκη του calibre ή της συνδεδεμένης συσκευής" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "Επεξεργασία των μεταδεδομένων των βιβλίων της βιβλιοθήκης σας" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "Διάβασε βιβλία από την βιβλιοθήκη σου" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "Κατέβασμα ειδήσεων από το διαδίκτυο σε μορφή ηλεκτρονικού βιβλίου" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Γρήγορη εμφάνιση συναφών βιβλίων" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "Εξαγωγή βιβλίων από τη βιβλιοθήκη σας στον σκληρό δίσκο" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "Δείξε τις λεπτομέρειες του βιβλίου σε ξεχωριστό παράθυρο" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "Επανεκκίνηση" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" "Άνοιξε τον φάκελο που περιέχει τα αρχεία των βιβλίων στη βιβλιοθήκη σου" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "Αποστολή βιβλίων στη συνδεδεμένη συσκευή" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" @@ -409,46 +409,46 @@ msgstr "" "Αποστολή βιβλίων μέσω email ή του δικτύου και σύνδεση με το iTunes ή τους " "φακέλους του υπολογιστή σας, σαν να είναι συσκευές" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "Περιήγηση του εγχειριδίου χρήστη" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "Προσαρμογή του calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "Εύκολος εντοπισμός βιβλίων παρόμοιων με το επιλεγμένο" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" "Άλλαξε μεταξύ διαφορετικών βιβλιοθηκών και εκτέλεσε συντήρηση σε αυτές" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "Αντιγραφή βιβλίων από την συσκευή στην βιβλιοθήκη σας" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" "Επεξεργασία συλλογών βιβλίων που είναι τοποθετημένα στην προσωπική σας " "συσκευή." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "Αντιγραφή ενός βιβλίου από τη βιβλιοθήκη του Calibre σε άλλη" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" "Κάντε μικρές τροποποιήσεις σε αρχεία epub ή htmlz στη βιβλιοθήκή σας του " "calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" @@ -456,58 +456,58 @@ msgstr "" "Βρες το επόμενο ή το προηγούμενο ταίριασμα κατά την αναζήτηση στην " "βιβλιοθήκη του calibre σε λειτουργία επισήμανσης" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "Επιλογή ενός τυχαίου βιβλίου από τη βιβλιοθήκη του calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "Αναζήτηση για βιβλία διαφορετικών εκδοτών" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "Κατεβάστε νέα πρόσθετα για το calibre ή ενημερώστε τα υπάρχοντα" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Ρυθμίσεις εμφάνισης" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Διεπαφή" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" "Ρυθμίστε την εμφάνιση του περιβάλλοντος εργασίας calibre έτσι ώστε να " "ταιριάζει στις προτιμήσεις σας" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "Συμπεριφορά" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "Ρύθμισε την συμπεριφορά του calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Πρόσθεσε δικές σου στήλες" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "Προσθαφαίρεση στηλών στον κατάλογο βιβλίων του calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Εργαλειοθήκη" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -515,66 +515,66 @@ msgstr "" "Παραμετροποίηση της εργαλειοθήκης και των μενού περιεχομένων, αλλάζοντας τις " "ενέργειες που είναι διαθέσιμες σε κάθε ένα" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "Αναζήτηση" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "Προσαρμογή του τρόπου αναζήτησης βιβλίων στο calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "Επιλογές Εισαγωγής" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Μετατροπή" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "Ορισμός ρυθμίσεων μετατροπής συγκεκριμένα για κάθε μορφή εισόδου" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Κοινές Επιλογές" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "Ορισμός ρυθμίσεων μετατροπής κοινών για όλα τα είδη" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "Επιλογές Εξόδου" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "Ορισμός ρυθμίσεων μετατροπής συγκεκριμένα για κάθε μορφή εξόδου" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "Προσθήκη βιβλίων" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "Εισαγωγή/Εξαγωγή" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Ελέγχει πως το calibre διαβάζει τα μεταδεδομένα από τα αρχεία όταν " "προστίθενται βιβλία" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "Σώζονται βιβλία στον δίσκο" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -582,52 +582,52 @@ msgstr "" "Έλεγχος του τρόπου με τον οποίο το calibre εξάγει τα αρχεία απο τη βάση " "δεδομένων του στο δίσκο όταν χρησιμοποιείται το Αποθήκευση στο δίσκο" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "Αποστολή βιβλίων σε συσκευές" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" "Έλεγχος του τρόπου με τον οποίο το calibre μεταφέρει αρχεία στο δικό σου " "ηλεκτρονικό αναγνώστη" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "Αλλαγή των πεδίων των μεταδεδομένων πριν από αποθήκευση / αποστολή" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "Τυποποιημένες Διαδικασίες" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "Για προχωρημένους" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "Δημιούργησε νέες τυποποιημένες διαδικασίες" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "Διαμοιρασμός βιβλίων με email" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "Διαμοιρασμός" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -635,79 +635,83 @@ msgstr "" "Ρύθμιση διαμοιρασμού βιβλίων μέσω ηλεκτρονικού ταχυδρομείου. Μπορεί να " "χρησιμοποιηθεί για αυτόματη αποστολή κατεβασμένων νέων στις συσκευές σας." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "Διαμοιρασμός μέσω διαδικτύου" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" +"Αρχική ρύθμιση του Εξυπηρετητή Περιεχομένου του calibre που θα σας δώσει " +"πρόσβαση στην βιβλιοθήκη του calibre σας από οπουδήποτε, σε οποιαδήποτε " +"συσκευή, μέσω internet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "Μεταφόρτωση μεταδεδομένων" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "Ελένξτε πως το calibre κατεβάσει μεταδεδομένα βιβλίων απο το δίκτυο" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" -msgstr "" +msgstr "Συσκευές αγνοήθηκαν" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" +"Ρυθμίστε ποιές συσκευές θα αγνοεί το calibre όταν συνδεθούν στον υπολογιστή." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Πρόσθετα" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" "Προσθέστε/αφαιρέστε/παραμετροποιήστε διάφορα μέρη της λειτουργικότητας του " "calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "Προσαρμογές" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "Ρυθμίστε την συμπεριφορά του calibre σε διαφορετικά περιβάλλοντα" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "Πληκτρολόγιο" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" "Ρυθμίστε τις συντομεύσεις πληκτρολογίου που χρησιμοποιούντε απο το calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Υπολειπόμενα" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "Προχωρημένες ρυθμίσεις διαφόρων παραμέτρων" #: /home/kovid/work/calibre/src/calibre/customize/conversion.py:108 msgid "Options specific to the output format." -msgstr "" +msgstr "Επιλογές ειδικά για την μορφή των δεδομένων εξόδου." #: /home/kovid/work/calibre/src/calibre/customize/conversion.py:118 msgid "Options specific to the input format." -msgstr "" +msgstr "Επιλογές ειδικά για την μορφή των δεδομένων εισόδου." #: /home/kovid/work/calibre/src/calibre/customize/conversion.py:133 msgid "Conversion Input" @@ -852,6 +856,8 @@ msgstr "Προορίζεται για το iPad και παρόμοιες συσ msgid "" "Intended for the iPad 3 and similar devices with a resolution of 1536x2048" msgstr "" +"Προορισμένα για το iPad 3 και παρόμοιες συσκευές με δυνατότητα ανάλυσης " +"1536x2048" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:443 msgid "Intended for generic tablet devices, does no resizing of images" @@ -872,6 +878,8 @@ msgid "" "Intended for the Nook HD+ and similar tablet devices with a resolution of " "1280x1920" msgstr "" +"Προορισμένα για το Nook HD+ και παρόμοιες συσκευές tablet με δυνατότητα " +"ανάλυσης 1280x1920" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:484 msgid "This profile is intended for the Kobo Reader." @@ -907,7 +915,7 @@ msgstr "Αυτό το περίγραμμα προορίζεται για το Am #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:668 msgid "This profile is intended for the Amazon Kindle PaperWhite" -msgstr "" +msgstr "Αυτό το προφίλ προορίζεται για το Amazon Kindle PaperWhite" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:679 msgid "This profile is intended for the Amazon Kindle Fire." @@ -930,6 +938,7 @@ msgstr "Αυτό το προφίλ προορίζεται για τη σειρά msgid "" "This profile is intended for the PocketBook Pro 912 series of devices." msgstr "" +"Αυτό το προφίλ προορίζεται για την σειρά συσκευών PocketBook Pro 912." #: /home/kovid/work/calibre/src/calibre/customize/ui.py:30 msgid "Installed plugins" @@ -1007,8 +1016,8 @@ msgstr "Ενεργοποίηση του ονομαζόμενου προσθέτ msgid "Disable the named plugin" msgstr "Απενεργοποίηση του ονομαζόμενου προσθέτου" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -1020,11 +1029,22 @@ msgstr "" "Η διαδρομή για την βιβλιοθήκη είναι πολύ μεγάλη. Πρέπει να είναι μικρότερη " "απο %d χαρακτήρες" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -1033,29 +1053,29 @@ msgstr "Ναι" #: /home/kovid/work/calibre/src/calibre/db/categories.py:44 #, python-format msgid "%(tt)sAverage rating is %(rating)3.1f" -msgstr "" +msgstr "%(tt)sAverage κατάταξη είναι %(rating)3.1f" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "Κύρια μνήμη" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "Κάρτα μνήμης Α" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "Κάρτα μνήμης Β" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1068,11 +1088,11 @@ msgstr "Κάρτα μνήμης Β" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Ειδήσεις" @@ -1080,14 +1100,14 @@ msgstr "Ειδήσεις" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "επιλεγμένο" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "ναι" @@ -1095,7 +1115,7 @@ msgstr "ναι" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "όχι" @@ -1103,43 +1123,68 @@ msgstr "όχι" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "μη επιλεγμένο" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "σήμερα" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "χθες" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" -msgstr "" +msgstr "αυτόντονμήνα" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" +msgstr "μέρεςπριν" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "άδειο" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "κενό" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" +msgstr "Άκυρη δυαδική ερώτηση \"{0}" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" msgstr "" #: /home/kovid/work/calibre/src/calibre/debug.py:75 @@ -1163,29 +1208,29 @@ msgstr "Καταγραφή προβλημάτων" #: /home/kovid/work/calibre/src/calibre/debug.py:272 #, python-format msgid "No plugin named %s found" -msgstr "" +msgstr "Δεν βρέθηκε πρόσθετο με όνομα %s" #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:19 msgid "Communicate with Android phones." msgstr "Επικοινωνία με τηλέφωνα Android." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "Επικοινωνία με τηλέφωνα S60." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "Επικοινωνία με tablet WebOS" @@ -1225,7 +1270,7 @@ msgstr "Αποθηκεύστε προσωρινά τα εξώφυλα απο τ #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:128 msgid "Enable to cache and display covers from iTunes/iBooks" -msgstr "" +msgstr "Ενεργοποίηση αποθήκευσης και παρουσίασης εξώφυλλων από iTunes/iBooks" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:129 #, python-format @@ -1233,6 +1278,8 @@ msgid "" "\"Copy files to iTunes Media folder %s\" is enabled in iTunes " "Preferences|Advanced" msgstr "" +"\"Αντιγραφή αρχείων στον φάκελο πολυμέσων iTunes %s\" είναι ενεργοποιημένο " +"στο iTunes Προτιμήσεις|Προχωρημένα" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:131 msgid "" @@ -1253,12 +1300,16 @@ msgstr "Επικοινωνία με iTunes/iBook" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:214 msgid "Apple iDevice detected, launching iTunes, please wait ..." msgstr "" +"Εντοπισμός συσκευής Apple idevice, εκκίνηση iTunes, παρακαλώ περιμένετε..." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:216 msgid "" "Cannot copy books directly from iDevice. Drag from iTunes Library to " "desktop, then add to calibre's Library window." msgstr "" +"Αδύνατη η απευθείας αντιγραφή από την iDevice. Σύρετε απο την βιβλιοθήκη " +"iTunes στην επιφάνεια εργασίας, κατόπιν προσθέστε στο παράθυρο της " +"βιβλιοθήκης του calibre." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:219 msgid "" @@ -1273,6 +1324,9 @@ msgid "" "href=\"http://www.mobileread.com/forums/showpost.php?p=2113958&postcount=3\">" "forum post for more information.

" msgstr "" +"

Αδύνατη η επικοινωνία με το iTunes.

Ανατρέξτε σε αυτό το " +"μήνυμα του forum για περισσότερες πληροφορίες.

" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:386 @@ -1287,7 +1341,7 @@ msgstr "Ενημέρωση καταλόγου μεταδεδομένων της #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3344 #, python-format msgid "%(num)d of %(tot)d" -msgstr "" +msgstr "%(num)d από %(tot)d" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:513 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1203 @@ -1311,10 +1365,12 @@ msgid "" "Some cover art could not be converted.\n" "Click 'Show Details' for a list." msgstr "" +"Αδυναμία μετατροπής ορισμένων εξωφύλλων.\n" +"Κλικ στο 'Εμφάνιση Λεπτομερειών' για λίστα." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "Κατάλογος" @@ -1324,11 +1380,11 @@ msgstr "Επικοινωνία με το iTunes" #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:24 msgid "Communicate with the Sanda Bambook eBook reader." -msgstr "" +msgstr "Επικοινωνία με τον αναγνώστη ηλεκτρονικών βιβλίων Sanda Bambook." #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:25 msgid "Li Fanxi" -msgstr "" +msgstr "Li Fanxi" #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:42 msgid "Device IP Address (restart calibre after changing)" @@ -1370,10 +1426,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1414,6 +1470,7 @@ msgstr "Προσθήκη βιβλίων στον κατάλογο μεταδεδ #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1480,7 +1537,7 @@ msgstr "Επικοινωνία με το ηλ.αναγνωστήριο EB600." #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:56 msgid "Communicate with the Tolino Shine reader." -msgstr "" +msgstr "Επικοινωνία με τον αναγνώστη Tolino Shine." #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:214 msgid "Communicate with the Astak Mentor EB600" @@ -1492,11 +1549,11 @@ msgstr "Επικοινωνία με το PocketBook 301 reader." #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:254 msgid "Communicate with the PocketBook 602/603/902/903/Pro 912 reader." -msgstr "" +msgstr "Επικοινωνία με τον αναγνώστη PocketBook 602/603/902/903/Pro 912." #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:274 msgid "Communicate with the PocketBook 622 reader." -msgstr "" +msgstr "Επικοινωνία με τον αναγνώστη PocketBook 622." #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:287 msgid "Communicate with the PocketBook 360+ reader." @@ -1560,7 +1617,7 @@ msgstr "Επικοινωνία με το ηλ.αναγνωστήριο Hanvon N5 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:48 msgid "Communicate with the Kibano eBook reader." -msgstr "" +msgstr "Επικοινωνία με τον αναγνώστη ηλεκτρονικών βιβλίων Kibano." #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:61 msgid "Communicate with The Book reader." @@ -1620,7 +1677,7 @@ msgstr "Επικοινωνία με τον αναγνώστη JetBook Mini" #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:143 msgid "Communicate with the JetBook Color reader." -msgstr "" +msgstr "Επικοινωνία με τον αναγνώστη JetBook Color." #: /home/kovid/work/calibre/src/calibre/devices/kindle/apnx.py:39 #, python-format @@ -1629,7 +1686,7 @@ msgstr "Μη έγκυρο αρχειο MOBI. Αναφέρει τον τυπο τ #: /home/kovid/work/calibre/src/calibre/devices/kindle/apnx.py:75 msgid "Could not generate page mapping." -msgstr "" +msgstr "Αδυναμία χαρτογράφησης σελίδας." #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:44 msgid "Communicate with the Kindle eBook reader." @@ -1643,7 +1700,7 @@ msgstr "%(time)s
Τελευταία αναγνωσμένη σελίδα: %( #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:191 #, python-format msgid "%(time)s
Last Page Read: Location %(loc)d (%(pr)d%%)" -msgstr "" +msgstr "%(time)s
Τελευταία Σελίδα Ανάγνωσης: Θέση %(loc)d (%(pr)d%%)" #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:210 #, python-format @@ -1663,10 +1720,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:289 msgid "Communicate with the Kindle 2/3/4/Touch/PaperWhite eBook reader." msgstr "" +"Επικοινωνία με τον αναγνώστη ηλεκτρονικών βιβλίων Kindle " +"2/3/4/Touch/PaperWhite." #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:301 msgid "Send page number information when sending books" -msgstr "" +msgstr "Αποστολή πληροφορίας αριθμού σελίδας με την αποστολή βιβλίων" #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:303 msgid "" @@ -1679,6 +1738,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:308 msgid "Use slower but more accurate page number calculation" msgstr "" +"Χρήση πιό αργού αλλά περισσότερο ακριβούς υπολογισμού αριθμού σελίδων" #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:310 msgid "" @@ -1706,7 +1766,7 @@ msgstr "Επικοινωνία με το ηλ.αναγνωστήριο Kindle DX #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:467 msgid "Communicate with the Kindle Fire" -msgstr "" +msgstr "Επικοινωνία με το Kindle Fire" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:36 msgid "Communicate with the Kobo Reader" @@ -1714,15 +1774,15 @@ msgstr "Επικοινωνία με το Kobo Reader" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:68 msgid "The Kobo supports several collections including " -msgstr "" +msgstr "Το Kobo υποστηρίζει αρκετές συλλογές μεταξύ των οποίων " #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:70 msgid "Create tags for automatic management" -msgstr "" +msgstr "Δημιουργία διακριτικών για αυτόματη διαχείρηση" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:71 msgid "Upload covers for books (newer readers)" -msgstr "" +msgstr "Ανέβασμα εξώφυλλων βιβλίων (νεώτεροι αναγνώστες)" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:72 msgid "" @@ -1732,17 +1792,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" -msgstr "" +msgstr "Ανέβασμα Ασπρόμαυρων Εξώφυλλων" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" -msgstr "" +msgstr "Εμφάνιση ληγμένων βιβλίων" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1750,12 +1810,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" -msgstr "" +msgstr "Εμφάνιση Προεπισκοπήσεων" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1763,9 +1823,9 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" -msgstr "" +msgstr "Εμφάνιση Συστηνόμενων" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:87 msgid "" @@ -1775,9 +1835,9 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" -msgstr "" +msgstr "Προσπάθεια υποστήριξης νεότερου firmware" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:91 msgid "" @@ -1788,10 +1848,13 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" +"Δεν υποστηρίζεται η έκδοση της βάσης δεδομένων Kobo - Δες λεπτομέρειες" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1848,66 +1911,70 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." -msgstr "" +msgstr "Το Kobo Touch από το firmware V2.0.0 υποστηρίζει ράφια βιβλίων." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" -msgstr "" +msgstr "Προσδιορισμός στήλης τύπου διακριτικών για αυτόματη διαχείρηση" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" -msgstr "" +msgstr "Δημιουργία Ραφιών βιβλίων" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" -msgstr "" +msgstr "Διαγραφή Κενών Ραφιών βιβλίων" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" +"Διαγραφή των όποιων κενών ραφιών βιβλίων από το Kobo Touch κατά την " +"ολοκλήρωση του συγχρονισμού. Αυτό μόνο για firmware V2.0.0 ή νεότερο." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" -msgstr "" +msgstr "Ανέβασμα εξώφυλλων για βιβλία" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" +"Ανέβασμα εικόνων εξωφύλλων από την βιβλιοθήκη calibre κατά την αποστολή " +"βιβλίων στην συσκευή." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" -msgstr "" +msgstr "Διατήρηση λόγου ακμών εξωφύλλου" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" -msgstr "" +msgstr "Τοποθέτηση πληροφοριών Σειράς" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1915,7 +1982,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1924,11 +1991,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" -msgstr "" +msgstr "Τίτλος πρός δοκιμή κατά την αποσφαλμάτωση" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1941,72 +2008,72 @@ msgstr "Επικοινωνία με το Palm Pre" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:39 msgid "Communicate with the Bq Avant" -msgstr "" +msgstr "Επικοινωνία με το Bq Avant" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:60 msgid "Communicate with the Sweex/Kogan/Q600/Wink" -msgstr "" +msgstr "Επικοινωνία με Sweex/Kogan/Q600/Wink" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "Επικοινωνία με το Pandigital Novel" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" -msgstr "" +msgstr "Επικοινωνία με το VelocityMicro" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" -msgstr "" +msgstr "Επικοινωνία με το GM2000" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" -msgstr "" +msgstr "Επικοινωνία με το Acer Lumiread" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" -msgstr "" +msgstr "Επικοινωνία με το Aluratek Color" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" -msgstr "" +msgstr "Επικοινωνία με το Trekstor" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" -msgstr "" +msgstr "Επικοινωνία με το EEE Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" -msgstr "" +msgstr "Επικοινωνία με το Adam tablet" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" -msgstr "" +msgstr "Επικοινωνία με το Nextbook Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" -msgstr "" +msgstr "Επικοινωνία με το Moovybook Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" -msgstr "" +msgstr "Επικοινωνία με το COBY" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" -msgstr "" +msgstr "Επικοινωνία με το Ex124G" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" -msgstr "" +msgstr "Επικοινωνία με τα WayteQ και SPC Dickens Readers" #: /home/kovid/work/calibre/src/calibre/devices/mtp/base.py:29 msgid "MTP Device" -msgstr "" +msgstr "Συσκευή MTP" #: /home/kovid/work/calibre/src/calibre/devices/mtp/base.py:31 msgid "Communicate with MTP devices" -msgstr "" +msgstr "Επικοινωνία με συσκευές MTP" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:167 #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:960 @@ -2016,83 +2083,83 @@ msgstr "Λήψη των στοιχείων της συσκευής" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:190 msgid "Listing files, this can take a while" -msgstr "" +msgstr "Λίστα αρχείων, μπορεί να πάρει λίγο χρόνο" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:205 msgid "Reading ebook metadata" -msgstr "" +msgstr "Ανάγνωση μεταδεδομένων ηλεκτρονικού βιβλίου" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:238 #, python-format msgid "Reading metadata from %s" -msgstr "" +msgstr "Ανάγνωση μεταδεδομένων από %s" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:257 msgid "Updating metadata cache on device" -msgstr "" +msgstr "Ενημένωση αποθηκευμένων στην συσκευή μεταδεδομένων" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:259 msgid "Finished reading metadata from device" -msgstr "" +msgstr "Ολοκλήρωση ανάγνωσης μεταδεδομένων από συσκευή" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:419 #, python-format msgid "Transferred %s to device" -msgstr "" +msgstr "Μεταφορά %s στη συσκευή" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:421 msgid "Transfer to device finished..." -msgstr "" +msgstr "Ολοκήρωση μεταφοράς στην συσκευή..." #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:442 #, python-format msgid "Added %s" -msgstr "" +msgstr "Προσθήκη %s" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:444 msgid "Adding complete" -msgstr "" +msgstr "Ολοκλήρωση προσθήκης" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:460 msgid "Deleting books from device..." -msgstr "" +msgstr "Διαγραφή βιβλίων από συσκευή..." #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:466 #, python-format msgid "Deleted %s" -msgstr "" +msgstr "Διαγραφή %s" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:467 msgid "All books deleted" -msgstr "" +msgstr "Διαγραφή όλων των βιβλίων" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:470 msgid "Removing books from metadata" -msgstr "" +msgstr "Απομάκρυνση βιβλίων από μεταδεδομένα" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:482 #, python-format msgid "Removed %s" -msgstr "" +msgstr "Απομάκρυνση %s" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:484 msgid "All books removed" -msgstr "" +msgstr "Απομάκρυνση όλων των βιβλίων" #: /home/kovid/work/calibre/src/calibre/devices/mtp/unix/driver.py:212 #: /home/kovid/work/calibre/src/calibre/devices/mtp/windows/driver.py:315 msgid "Unknown MTP device" -msgstr "" +msgstr "Άγνωστη συσκευή MTP" #: /home/kovid/work/calibre/src/calibre/devices/mtp/unix/driver.py:231 #: /home/kovid/work/calibre/src/calibre/devices/mtp/windows/driver.py:219 #, python-format msgid "Found object: %s" -msgstr "" +msgstr "Εύρεση αντικειμένου: %s" #: /home/kovid/work/calibre/src/calibre/devices/mtp/windows/driver.py:61 msgid "MTP devices are not supported on Windows XP" -msgstr "" +msgstr "Συσκευές MTP δεν υποστηρίζονται στα Windows XP" #: /home/kovid/work/calibre/src/calibre/devices/mtp/windows/driver.py:69 msgid "" @@ -2107,7 +2174,7 @@ msgstr "Επικοινωνία με το Nokia 770 internet tablet." #: /home/kovid/work/calibre/src/calibre/devices/nokia/driver.py:40 msgid "Communicate with the Nokia 810/900 internet tablet." -msgstr "" +msgstr "Επικοινωνία με το Nokia 810/900 internet tablet." #: /home/kovid/work/calibre/src/calibre/devices/nokia/driver.py:74 msgid "Communicate with the Nokia E52" @@ -2121,9 +2188,11 @@ msgstr "Το Nook" msgid "Communicate with the Nook eBook reader." msgstr "Επικοινωνία με το ηλ.αναγνωστήριο Nook." -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" +"Επικοινωνία με τους αναγνώστες ηλεκτρονικών βιβλίων Nook Color, TSR και " +"Tablet." #: /home/kovid/work/calibre/src/calibre/devices/nuut2/driver.py:17 msgid "Communicate with the Nuut2 eBook reader." @@ -2132,20 +2201,21 @@ msgstr "Επικοινωνία με το ηλ.αναγνωστήριο Nuut2." #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:22 msgid "Communicate with Sony eBook readers older than the PRST1." msgstr "" +"Επικοινωνία με αναγνώστες ηλεκτρονικών βιβλίων Sony παλιότερους από το PRST1." #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:60 msgid "Comments have been removed as the SONY reader chokes on them" -msgstr "" +msgstr "Απομάκρυνση σχολίων αφού ο αναγνώστης SONYκολάει με αυτά" #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:66 #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:272 msgid "All by title" -msgstr "" +msgstr "Όλα κατά τίτλο" #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:67 #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:273 msgid "All by author" -msgstr "" +msgstr "Όλα κατά συγγραφέα" #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:70 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:68 @@ -2167,6 +2237,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:77 msgid "Upload separate cover thumbnails for books (newer readers)" msgstr "" +"Ανέβασμα ξεχωριστών μικρογραφιών εξωφύλλων για τα βιβλία (νεότεροι " +"αναγνώστες)" #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:78 msgid "" @@ -2181,6 +2253,8 @@ msgstr "" msgid "" "Refresh separate covers when using automatic management (newer readers)" msgstr "" +"Ανανέωση ξεχωριστών εξώφυλλων κατά την αυτόματη διαχείρηση (νεότεροι " +"αναγνώστες)" #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:86 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:78 @@ -2193,7 +2267,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:90 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:82 msgid "Preserve cover aspect ratio when building thumbnails" -msgstr "" +msgstr "Διατήρηση λόγου ακμών εξωφύλλου όταν κατασκευάζονται μικρογραφίες" #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:92 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:84 @@ -2225,10 +2299,11 @@ msgstr "Χωρίς όνομα" #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:36 msgid "Communicate with the PRST1 and newer SONY eBook readers" msgstr "" +"Επικοινωνία με PRST1 και νεότερους SONY αναγνώστες ηλεκτρονικών βιβλίων" #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:71 msgid "Upload separate cover thumbnails for books" -msgstr "" +msgstr "Ανέβασμα ξεχωριστών μικρογραφιών εξωφύλλου για τα βιβλία" #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:72 msgid "" @@ -2254,7 +2329,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:184 msgid "Wireless Device" -msgstr "" +msgstr "Ασύρματη Συσκευή" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:188 msgid "Communicate with Smart Device apps" @@ -2316,7 +2391,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:293 msgid "Possibilities include: series, tags, authors, etc" -msgstr "" +msgstr "Οι πιθανότητες περιλαμβάνουν: σειρές, διακριτικά, συγγραφείς, κλπ" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:301 msgid "Enable the no-activity timeout" @@ -2332,7 +2407,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:306 msgid "Use this IP address" -msgstr "" +msgstr "Χρήση αυτής της διεύθυνσης IP" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:307 msgid "" @@ -2343,7 +2418,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:311 msgid "Replace books with the same calibre identifier" -msgstr "" +msgstr "Αντικατάσταση βιβλίων με κοινό αναγνωριστικό calibre" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:312 msgid "" @@ -2609,7 +2684,7 @@ msgid "There is insufficient free space on the storage card" msgstr "Δεν υπάρχει αρκετός χώρος στην κάρτα αποθήκευσης" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "Ο/Η/Το %s επεξεργάσθηκε" @@ -2974,23 +3049,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3278,15 +3353,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4298,7 +4377,7 @@ msgstr "" msgid "Set book ID" msgstr "Καθορισμός ταυτότητας (ID) του βιβλίου" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4322,27 +4401,27 @@ msgstr "Όχι" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "Τίτλος" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "Συγγραφείς" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "Εκδότης" @@ -4378,13 +4457,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4393,9 +4473,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4405,7 +4486,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4417,8 +4498,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "Δημοσιεύτηκε" @@ -4530,60 +4611,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "Εξώφυλλο" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "Κατέβασμα μεταδεδομένων και εξώφυλλων από το Amazon" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4591,13 +4672,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4607,6 +4706,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "Κατέβασμα μεταδεδομένων και εξώφυλλων από το Google Books" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "Μεγάλο" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "Κατέβασμα μεταδεδομένων από το isbndb.com" @@ -4667,12 +4807,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4699,72 +4839,72 @@ msgid "No details available" msgstr "Δεν υπάρχουν διαθέσιμες λεπτομέρειες" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "Πίνακας Περιεχομένων" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "Σελίδα τίτλου" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "Ευρετήριο" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "Γλωσσάρι" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "Παραδοχές" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "Βιβλιογραφία" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "Κολοφώνας" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "Πνευματικά Δικαιώματα" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "Αφιέρωση" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "Σημειώσεις" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "Πρόλογος" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4773,14 +4913,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4805,12 +4945,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4843,7 +4983,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4968,9 +5108,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4986,11 +5126,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "Αξιολόγηση" @@ -5033,6 +5173,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5187,7 +5331,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5288,38 +5432,38 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:67 msgid "Add Empty book. (Book entry with no formats)" -msgstr "" +msgstr "Προσθήκη Κενού βιβλίου. (Εισαγωγή βιβλίου χωρίς μορφοποίηση)" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:68 msgid "Shift+Ctrl+E" -msgstr "" +msgstr "Shift+Ctrl+E" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:69 msgid "Add from ISBN" -msgstr "" +msgstr "Προσθήκη από ISBN" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:71 msgid "Add files to selected book records" -msgstr "" +msgstr "Προσθήκη αρχείων σε επιλεγμένες εγγραφές βιβλίων" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:72 msgid "Shift+A" -msgstr "" +msgstr "Shift+A" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:74 msgid "Control the adding of books" -msgstr "" +msgstr "Έλεγχος προσθήκης βιβλίων" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5328,12 +5472,12 @@ msgstr "Δεν επιλέχθηκαν βιβλία" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:96 msgid "Cannot add files as no books are selected" -msgstr "" +msgstr "Αδύνατη προσθήκη αρχείων αφού δεν έχουν επιλεγεί βιβλία" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:100 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding.py:120 msgid "Are you sure" -msgstr "" +msgstr "Είσαι σίγουρος(η)" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:101 #, python-format @@ -5341,23 +5485,25 @@ msgid "" "Are you sure you want to add the same files to all %d books? If the format " "already exists for a book, it will be replaced." msgstr "" +"Είσαι βέβαιος(η) ότι θέλεις να προσθέσεις τα ίδια αρχεία σε όλα τα %d " +"βιβλία; Αν υπάρχει ήδη η μορφοποίηση για κάποιο βιβλίο, θα αντικατασταθεί." #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:107 msgid "Select book files" -msgstr "" +msgstr "Επιλογή αρχείων βιβλίων" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:189 msgid "Adding" -msgstr "" +msgstr "Προσθήκη" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:190 msgid "Creating book records from ISBNs" -msgstr "" +msgstr "Δημιουργία εγγραφών βιβλίων από τα ISBN" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:330 msgid "Uploading books to device." -msgstr "Μεταφορτώνονται βιβλία στην συσκευή." +msgstr "Μεταφόρτωση βιβλίων στην συσκευή." #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:301 msgid "Supported books" @@ -5365,7 +5511,7 @@ msgstr "Υποστηριζόμενα βιβλία" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:304 msgid "Select books" -msgstr "Επιλέξτε βιβλία" +msgstr "Επιλογή βιβλίων" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:342 msgid "Merged some books" @@ -5378,14 +5524,17 @@ msgid "" "processed and merged into your Calibre database according to your automerge " "settings:" msgstr "" +"Βρέθηκαν τα επόμενα %d διπλά βιβλία και έγινε επεξεργασία των μορφών " +"εισαγωγής βιβλίων και συνένωση με την βάση δεδομένων του Calibre σου σύμφωνα " +"με τις ρυθμίσεις σου για αυτόματη συνένωση:" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:365 msgid "Failed to read metadata" -msgstr "" +msgstr "Αποτυχία ανάγνωσης μεταδεδομένων" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:366 msgid "Failed to read metadata from the following" -msgstr "" +msgstr "Αποτυχία ανάγνωσης μεταδεδομένων από τα επόμενα" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:387 #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 @@ -5396,42 +5545,44 @@ msgstr "Προσθήκη στην βιβλιοθήκη" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 msgid "No book selected" -msgstr "" +msgstr "Δεν επιλέχθηκε βιβλίο" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:405 msgid "" "The following books are virtual and cannot be added to the calibre library:" msgstr "" +"Τα ακόλουθα βιβλία είναι εικονικά και δεν μπορούν να προστεθούν στην " +"βιβλιοθήκη του calibre:" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:411 msgid "No book files found" -msgstr "" +msgstr "Δεν βρέθηκαν αρχεία βιβλίων" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:417 msgid "Downloading books" -msgstr "" +msgstr "Κατέβασμα βιβλίων" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:418 msgid "Downloading books from device" -msgstr "" +msgstr "Κατέβασμα βιβλίων από συσκευή" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:437 msgid "Could not download files from the device" -msgstr "" +msgstr "Αδυναμία κατεβάσματος βιβλίων από την συσκευή" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:440 msgid "Could not download some files from the device" -msgstr "" +msgstr "Αδυναμία κατεβάσματος κάποιων βιβλίων από την συσκευή" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:444 msgid "Could not download files" -msgstr "" +msgstr "Αδυναμία κατεβάσματος αρχείων" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add_to_library.py:13 msgid "Add books to library" @@ -5444,7 +5595,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:26 msgid "Merging user annotations into database" -msgstr "" +msgstr "Συνένωση σχολίων χρήστη στην βάση δεδομένων" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:778 @@ -5457,57 +5608,61 @@ msgstr "Δεν υποστηρίζεται" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:108 msgid "Fetching annotations is not supported for this device" -msgstr "" +msgstr "Προσκόμιση σχολίων δεν υποστηρίζεται για τη συσκευή αυτή" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:112 #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:136 msgid "Use library only" -msgstr "" +msgstr "Χρήση βιβλιοθήκης μόνο" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:137 msgid "User annotations generated from main library only" -msgstr "" +msgstr "Παραγωγή σχολίων χρήστη μόνο από την κύρια βιβλιοθήκη" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:121 msgid "No books selected to fetch annotations from" -msgstr "" +msgstr "Δεν έχουν επιλεγεί τα βιβλία για την προσκόμιση σχολίων" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:156 msgid "Some errors" -msgstr "" +msgstr "Κάποια λάθη" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:157 msgid "" "Could not fetch annotations for some books. Click show details to see which " "ones." msgstr "" +"Αδύνατη προσκόμιση σχολίων για κάποια βιβλία. Κάνε κλικ στο εμφάνιση " +"λεπτομερειών για να δεις ποιά." #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:21 msgid "Create catalog" -msgstr "" +msgstr "Δημιουργία καταλόγου" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:22 msgid "" "Create a catalog of the books in your calibre library in different formats" msgstr "" +"Δημιουργία καταλόγου των βιβλίων της βιβλιοθήκης του calibre σου σε διάφορες " +"μορφές" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:40 msgid "No books selected for catalog generation" -msgstr "" +msgstr "Δεν επιλέχθηκαν βιβλία για την δημιουργία καταλόγου" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:63 #, python-format msgid "Generating %s catalog..." -msgstr "" +msgstr "Δημιουργία %s καταλόγου..." #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:72 msgid "Catalog generation complete, with warnings." -msgstr "" +msgstr "Ολοκλήρωση δημιουργίας καταλόγου, με προειδοποιήσεις." #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:87 msgid "Catalog generated." -msgstr "" +msgstr "Ο κατάλογος δημιουργήθηκε." #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:90 msgid "Export Catalog Directory" @@ -5519,7 +5674,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5567,7 +5722,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "Επιλογή Βιβλιοθήκης" @@ -5581,7 +5736,7 @@ msgstr "Αλλαγή/δημιουργία βιβλιοθήκης..." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5593,12 +5748,12 @@ msgid "Pick a random book" msgstr "Επιλογή ενός βιβλίου στην τύχη" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "Μετονομασία βιβλιοθήκης" @@ -5738,7 +5893,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5766,7 +5921,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5807,7 +5962,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "Δημιουργία καταλόγου βιβλίων της βιβλιοθήκης calibre" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5820,96 +5975,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "Επιλογή βιβλιοθήκης" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "Αντιγραφή στην βιβλιοθήκη" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "Δεν βρέθηκε βιβλιοθήκη" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "Δεν βρέθηκε βιβλιοθήκη στο %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "Αντιγράφηκαν %(num)d βιβλία στο %(loc)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "Δεν ήταν δυνατή η αντιγραφή των βιβλίων: " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5928,6 +6096,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "Είστε σίγουροι;" @@ -6000,11 +6169,11 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." @@ -6012,65 +6181,67 @@ msgstr "" "Επιλέξτε τους τύπους που δεν θα διαγραφούν.

Αυτό ποτέ δεν " "διαγράφει όλους τους τύπους ενός βιβλίου." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -6146,12 +6317,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6235,8 +6406,8 @@ msgstr "Η λήψη μεταδεδομένων απέτυχε" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "Η λήψη απέτυχε" @@ -6277,7 +6448,7 @@ msgid "Download complete" msgstr "Η λήψη ολοκληρώθηκε" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6347,15 +6518,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "Γίνεται εφαρμογή των νέων μεταδεδομένων" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6460,17 +6631,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6479,185 +6661,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6774,7 +6967,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6879,7 +7072,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "Αναζήτηση για %s" @@ -6891,30 +7084,30 @@ msgstr "Καταστήματα" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "Επιλέξτε καταστήματα" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6924,11 +7117,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -7192,7 +7385,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7289,7 +7482,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:63 msgid "Choose the location to add books from" -msgstr "" +msgstr "Επιλογή τοποθεσίας από που θα γίνει εισαγωγή βιβλίων" #: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:64 msgid "Select a folder on your hard disk" @@ -7402,7 +7595,7 @@ msgid "Click to open" msgstr "Κάντε κλικ για να ανοίξει" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7412,7 +7605,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "Συλλογές" @@ -7446,16 +7639,25 @@ msgstr "Διαδρομή" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7523,7 +7725,7 @@ msgstr "έξοδος" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7709,7 +7911,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "Όνομα" @@ -8049,8 +8251,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "Κανονικό" @@ -8966,59 +9168,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "&Τυπική γραμματοσειρά:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -9030,13 +9236,29 @@ msgstr "" msgid " px" msgstr " εικ" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9274,6 +9496,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "Μετατροπή" @@ -9840,7 +10066,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9886,81 +10112,81 @@ msgstr "Συσκευή: " msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "Καμία συσκευή" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "Επιλέξτε τον τύπο αρχείου που θα σταλεί στην συσκευή" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "Δεν είναι δυνατή η αποστολή: Δεν υπάρχει συνδεδεμένη συσκευή" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "Δεν υπάρχει κάρτα" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "Γίνεται αποστολή καταλόγων στην συσκευή." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "Γίνεται αποστολή ειδήσεων στην συσκευή." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "Γίνεται αποστολή βιβλίων στην συσκευή." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "Δεν υπάρχει ελεύθερος χώρος στην συσκευή" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -10122,7 +10348,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10633,13 +10859,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "Βιβλιοθήκη" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "Συσκευή" @@ -10673,8 +10899,8 @@ msgid "Location" msgstr "Τοποθεσία" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10693,13 +10919,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10798,7 +11024,7 @@ msgstr "Σύνδεσμος" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "Δεν βρέθηκαν αντιστοιχίες." @@ -10846,12 +11072,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10946,40 +11172,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "&Αντιγραφή στο πρόχειρο" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "Εμφάνιση καταγραφής" @@ -11016,7 +11242,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:307 msgid "Regular Expression" -msgstr "" +msgstr "Κανονική Έκφραση" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:310 msgid "Replace field" @@ -11847,6 +12073,7 @@ msgstr "Εγκατάλειψη..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11878,16 +12105,16 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:72 msgid "Items" -msgstr "" +msgstr "Τεμάχια" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "Αναζήτηση" @@ -12461,12 +12688,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12518,6 +12745,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "Εκδόσεις" @@ -12532,6 +12760,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "Μη έγκυρο όνομα" @@ -13408,7 +13637,7 @@ msgid "&Shortcut:" msgstr "&Συντόμευση:" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "Ολοκληρώθηκε" @@ -13452,7 +13681,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "Καμία αντιστοιχία" @@ -13462,66 +13691,70 @@ msgstr "Καμία αντιστοιχία" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "Εξαγωγή της συσκευής" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "Εμφάνιση των βιβλίων της βιβλιοθήκης calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "Εμφάνιση των βιβλίων στην κύρια μνήμη της συσκευής" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "Εμφάνιση των βιβλίων στην κάρτα μνήμης Α" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "Εμφάνιση των βιβλίων στην κάρτα μνήμης Β" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "διαθέσιμο" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "Σύνθετη Αναζήτηση" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "Shift+Ctrl+F" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "&Πάμε!" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "Μηδενισμός γρήγορης αναζήτησης" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13534,32 +13767,32 @@ msgstr "αστέρια" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "Στην Συσκευή" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "Μέγεθος (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" -msgstr "" +msgstr "Τροποποιήθηκε" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13568,30 +13801,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "Μέγεθος" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13696,7 +13929,7 @@ msgid "Previous Page" msgstr "Προηγούμενη Σελίδα" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -14194,7 +14427,7 @@ msgid "Edit Metadata" msgstr "Επεξεργασία μεταδεδομένων" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14339,15 +14572,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14355,27 +14588,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "Παρακαλώ περιμένετε" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "Ερώτηση: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14383,38 +14616,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "Αναζήτηση…" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14555,7 +14794,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14598,34 +14838,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "Υψηλή" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "Χαμηλή" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "Προκαθορισμένο" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14674,12 +14914,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15592,10 +15832,6 @@ msgstr "" msgid "Small" msgstr "Μικρό" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "Μεγάλο" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "Μεσαίο" @@ -15613,7 +15849,7 @@ msgid "Never" msgstr "Ποτέ" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16581,20 +16817,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "Αρχείο καταγραφής σφαλμάτων:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "Αρχείο καταγραφής προσβάσεων:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16627,18 +16863,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -17013,83 +17249,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "Αναζήτηση (Για Σύνθετη Αναζήτηση πατήστε το κουμπί στα αριστερά)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "Έναρξη αναζήτησης" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "Αποθηκευμένες Αναζητήσεις" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17365,32 +17751,32 @@ msgstr "Λήψη αρχείου..." msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17504,46 +17890,46 @@ msgstr "Επαναφόρτωση" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "Αναζητήσεις" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17565,13 +17951,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17664,7 +18050,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "Ταξινόμηση κατά" @@ -17703,138 +18089,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "Προβολή Κατηγοριών" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17845,56 +18231,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17936,73 +18322,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -18010,134 +18407,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18216,31 +18658,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "&Κάντε μια δωρεά για να υποστηρίξτε το calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "&Αποκατάσταση" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "Λειτουργία αποσφαλμάτωσης" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18248,11 +18690,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18268,16 +18710,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "Σφάλμα Μετατροπής" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18300,34 +18742,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "Η συνταγή Απενεργοποιήθηκε" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "Απέτυχε" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18868,29 +19310,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -20156,44 +20598,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -20202,59 +20644,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20265,28 +20707,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20296,11 +20748,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20310,15 +20762,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20333,7 +20785,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20343,40 +20795,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20387,28 +20839,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20419,13 +20871,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20445,11 +20897,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20460,30 +20912,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20495,17 +20947,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20514,27 +20966,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20544,15 +20996,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20565,40 +21017,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "Όνομα:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "προστέθηκε" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20612,13 +21064,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20626,34 +21078,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20668,18 +21120,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20687,33 +21139,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20736,31 +21188,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "Συμπίεση βάσης δεδομένων" @@ -21002,20 +21445,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "Όλα τα βιβλία" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "Νεώτερη" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -21038,7 +21481,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "Μέσος όρος βαθμολόγησης" @@ -21047,98 +21490,98 @@ msgstr "Μέσος όρος βαθμολόγησης" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "Δημοτικότητα" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "αρχή" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "Πάνω" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "στο" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "Μόνιμος σύνδεσμος" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "Αυτό το βιβλίο έχει διαγραφεί" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "σε αναζήτηση" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -21151,21 +21594,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -22168,10 +22613,6 @@ msgstr "πμ" msgid "pm" msgstr "μμ" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22270,6 +22711,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22318,107 +22784,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "Η λήψη τελείωσε" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr " από " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "Δεν ήταν δυνατή η λήψη άρθρου" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "Γίνεται λήψη των RSS feeds..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "Άρθρα σε αυτό το τεύχος: " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "Άρθρο χωρίς τίτλο" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "Το άρθρο κατέβηκε: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22681,7 +23147,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" @@ -23162,6 +23628,8 @@ msgstr "" #: /home/kovid/work/calibre/resources/default_tweaks.py:436 msgid "The maximum width and height for covers saved in the calibre library" msgstr "" +"Το μέγιστο πλάτος και ύψος για εξώφυλλα αποθηκευμένα στην βιβλιοθήκη του " +"calibre" #: /home/kovid/work/calibre/resources/default_tweaks.py:437 msgid "" @@ -23186,7 +23654,7 @@ msgstr "" #: /home/kovid/work/calibre/resources/default_tweaks.py:450 msgid "What interfaces should the content server listen on" -msgstr "" +msgstr "Τι περιβάλλοντα πρέπει να ακούει ο server περιεχομένου" #: /home/kovid/work/calibre/resources/default_tweaks.py:451 msgid "" @@ -23240,6 +23708,9 @@ msgid "" "Control\n" "how many should be shown, here." msgstr "" +"Δεξί κλικ στο κουμπί Επισκόπηση εμφανίζει κατάλογο βιβλίων στα οποία είχε " +"γίνει επισκόπηση πρόσφατα.\n" +"Ρύθμιση αριθμού βιβλίων που εμφανίζονται, εδώ." #: /home/kovid/work/calibre/resources/default_tweaks.py:481 msgid "Change the font size of book details in the interface" @@ -23272,6 +23743,7 @@ msgstr "" #: /home/kovid/work/calibre/resources/default_tweaks.py:497 msgid "What format to default to when using the Tweak feature" msgstr "" +"Τι μορφή αναφοράς να χρησιμοποιηθεί κατά την χρήση της δυνατότητας Μετατροπή" #: /home/kovid/work/calibre/resources/default_tweaks.py:498 msgid "" @@ -23292,6 +23764,8 @@ msgstr "" #: /home/kovid/work/calibre/resources/default_tweaks.py:511 msgid "Do not preselect a completion when editing authors/tags/series/etc." msgstr "" +"Να μην προεπιλεγεί κάποια συμπλήρωση κατά την διόρθωση " +"συγγραφέων/διακριτικών/σειρών/κλπ." #: /home/kovid/work/calibre/resources/default_tweaks.py:512 msgid "" @@ -23305,7 +23779,7 @@ msgstr "" #: /home/kovid/work/calibre/resources/default_tweaks.py:519 msgid "Recognize numbers inside text when sorting" -msgstr "" +msgstr "Αναγνώριση αριθμών εντός κειμένου κατά την ταξινόμηση" #: /home/kovid/work/calibre/resources/default_tweaks.py:520 msgid "" diff --git a/src/calibre/translations/en_AU.po b/src/calibre/translations/en_AU.po index e906c74327..307c0bfb88 100644 --- a/src/calibre/translations/en_AU.po +++ b/src/calibre/translations/en_AU.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2012-07-14 23:02+0000\n" "Last-Translator: Cruz Bishop \n" "Language-Team: English (Australia) \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:26+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:42+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -331,345 +331,345 @@ msgstr "Set metadata in %s files" msgid "Set metadata from %s files" msgstr "Set metadata from %s files" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "Add books to calibre or the connected device" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "Fetch annotations from a connected Kindle (experimental)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "Generate a catalog of the books in your calibre library" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "Convert books to various ebook formats" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "Delete books from your calibre library or connected device" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "Edit the metadata of books in your calibre library" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "Read books in your calibre library" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "Download news from the internet in ebook form" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Show a list of related books quickly" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -947,8 +947,8 @@ msgstr "" msgid "Disable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -958,11 +958,22 @@ msgstr "" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -974,26 +985,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1006,11 +1017,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" @@ -1018,14 +1029,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1033,7 +1044,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1041,45 +1052,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1107,23 +1143,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1246,8 +1282,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "" @@ -1295,10 +1331,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1339,6 +1375,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1657,17 +1694,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1675,12 +1712,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1688,7 +1725,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1700,7 +1737,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1713,10 +1750,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1773,66 +1812,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1840,7 +1879,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1849,11 +1888,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1873,55 +1912,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2046,7 +2085,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2527,7 +2566,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2836,23 +2875,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3140,15 +3179,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4099,7 +4142,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4123,27 +4166,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4179,13 +4222,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4194,9 +4238,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4206,7 +4251,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4218,8 +4263,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4331,60 +4376,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4392,13 +4437,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4408,6 +4471,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4467,12 +4571,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4499,72 +4603,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4573,14 +4677,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4605,12 +4709,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4643,7 +4747,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4768,9 +4872,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4786,11 +4890,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4833,6 +4937,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4987,7 +5095,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5109,12 +5217,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5191,8 +5299,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5313,7 +5421,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5361,7 +5469,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5375,7 +5483,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5387,12 +5495,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5532,7 +5640,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5560,7 +5668,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5601,7 +5709,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5614,96 +5722,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5722,6 +5843,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5794,75 +5916,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5938,12 +6062,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6027,8 +6151,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6064,7 +6188,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6134,15 +6258,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6247,17 +6371,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6266,185 +6401,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6561,7 +6707,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6666,7 +6812,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6678,30 +6824,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6711,11 +6857,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -6979,7 +7125,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7189,7 +7335,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7199,7 +7345,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7233,16 +7379,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7310,7 +7465,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7496,7 +7651,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7836,8 +7991,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8753,59 +8908,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8817,13 +8976,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9061,6 +9236,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9627,7 +9806,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9673,81 +9852,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9909,7 +10088,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10420,13 +10599,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10460,8 +10639,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10480,13 +10659,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10585,7 +10764,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10633,12 +10812,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10733,40 +10912,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11634,6 +11813,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11669,12 +11849,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12248,12 +12428,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12305,6 +12485,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12319,6 +12500,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13195,7 +13377,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13239,7 +13421,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13249,66 +13431,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13321,32 +13507,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13355,30 +13541,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13483,7 +13669,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13981,7 +14167,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14126,15 +14312,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14142,27 +14328,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14170,38 +14356,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14342,7 +14534,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14385,34 +14578,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14461,12 +14654,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15379,10 +15572,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15400,7 +15589,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16368,20 +16557,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16414,18 +16603,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16800,83 +16989,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17152,32 +17491,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17291,46 +17630,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17352,13 +17691,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17451,7 +17790,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17490,138 +17829,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17632,56 +17971,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17723,73 +18062,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17797,134 +18147,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18003,31 +18398,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18035,11 +18430,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18055,16 +18450,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18087,34 +18482,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18655,29 +19050,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19925,44 +20320,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19971,59 +20366,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20034,28 +20429,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20065,11 +20470,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20079,15 +20484,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20102,7 +20507,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20112,40 +20517,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20156,28 +20561,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20188,13 +20593,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20214,11 +20619,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20229,30 +20634,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20264,17 +20669,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20283,27 +20688,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20313,15 +20718,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20334,40 +20739,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20381,13 +20786,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20395,34 +20800,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20437,18 +20842,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20456,33 +20861,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20505,31 +20910,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20771,20 +21167,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20807,7 +21203,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20816,98 +21212,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20920,21 +21316,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21937,10 +22335,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22039,6 +22433,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22087,107 +22506,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22450,7 +22869,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/en_CA.po b/src/calibre/translations/en_CA.po index 3055f3d3f9..78f4299e0d 100644 --- a/src/calibre/translations/en_CA.po +++ b/src/calibre/translations/en_CA.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2011-08-05 17:28+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: English (Canada) \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:26+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:43+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -325,345 +325,345 @@ msgstr "Set metadata in %s files" msgid "Set metadata from %s files" msgstr "Set metadata from %s files" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -945,8 +945,8 @@ msgstr "Enable the named plugin" msgid "Disable the named plugin" msgstr "Disable the named plugin" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -956,11 +956,22 @@ msgstr "Disable the named plugin" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -972,26 +983,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1004,11 +1015,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "News" @@ -1016,14 +1027,14 @@ msgstr "News" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1031,7 +1042,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1039,45 +1050,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1105,23 +1141,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "Communicate with Android devices." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1244,8 +1280,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "" @@ -1293,10 +1329,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1337,6 +1373,7 @@ msgstr "Adding books to device metadata listing…" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1655,17 +1692,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1673,12 +1710,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1686,7 +1723,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1698,7 +1735,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1711,10 +1748,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1771,66 +1810,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1838,7 +1877,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1847,11 +1886,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1871,55 +1910,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2044,7 +2083,7 @@ msgstr "The B&N Nook" msgid "Communicate with the Nook eBook reader." msgstr "Communicate with the B&N Nook eBook reader." -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2527,7 +2566,7 @@ msgid "There is insufficient free space on the storage card" msgstr "There is insufficient free space on the storage card" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "Rendered %s" @@ -2861,23 +2900,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3173,15 +3212,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4170,7 +4213,7 @@ msgstr "" msgid "Set book ID" msgstr "Set book ID" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4194,27 +4237,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "Title" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "Author(s)" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "Publisher" @@ -4250,13 +4293,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4265,9 +4309,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4277,7 +4322,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4289,8 +4334,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4402,60 +4447,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4463,13 +4508,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4479,6 +4542,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4538,12 +4642,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4570,72 +4674,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4644,14 +4748,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4676,12 +4780,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4714,7 +4818,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4839,9 +4943,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4857,11 +4961,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4904,6 +5008,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5058,7 +5166,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5180,12 +5288,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5262,8 +5370,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5384,7 +5492,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5432,7 +5540,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5446,7 +5554,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5458,12 +5566,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5603,7 +5711,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5631,7 +5739,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5672,7 +5780,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5685,96 +5793,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5793,6 +5914,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5865,75 +5987,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -6009,12 +6133,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6098,8 +6222,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6135,7 +6259,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6205,15 +6329,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6318,17 +6442,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6337,185 +6472,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6632,7 +6778,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6737,7 +6883,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6749,30 +6895,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6782,11 +6928,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -7050,7 +7196,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7260,7 +7406,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7270,7 +7416,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7304,16 +7450,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7381,7 +7536,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7567,7 +7722,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7907,8 +8062,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8824,59 +8979,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8888,13 +9047,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9132,6 +9307,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9698,7 +9877,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9744,81 +9923,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9980,7 +10159,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10491,13 +10670,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10531,8 +10710,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10551,13 +10730,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10656,7 +10835,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10704,12 +10883,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10804,40 +10983,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11705,6 +11884,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11740,12 +11920,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12319,12 +12499,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12376,6 +12556,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12390,6 +12571,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13266,7 +13448,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13310,7 +13492,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13320,66 +13502,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13392,32 +13578,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13426,30 +13612,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13554,7 +13740,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -14052,7 +14238,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14197,15 +14383,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14213,27 +14399,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14241,38 +14427,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14413,7 +14605,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14456,34 +14649,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14532,12 +14725,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15450,10 +15643,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15471,7 +15660,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16439,20 +16628,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16485,18 +16674,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16871,83 +17060,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17223,32 +17562,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17362,46 +17701,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17423,13 +17762,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17522,7 +17861,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17561,138 +17900,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17703,56 +18042,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17794,73 +18133,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17868,134 +18218,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18074,31 +18469,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18106,11 +18501,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18126,16 +18521,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18158,34 +18553,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18726,29 +19121,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19996,44 +20391,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -20042,59 +20437,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20105,28 +20500,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20136,11 +20541,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20150,15 +20555,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20173,7 +20578,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20183,40 +20588,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20227,28 +20632,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20259,13 +20664,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20285,11 +20690,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20300,30 +20705,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20335,17 +20740,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20354,27 +20759,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20384,15 +20789,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20405,40 +20810,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20452,13 +20857,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20466,34 +20871,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20508,18 +20913,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20527,33 +20932,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20576,31 +20981,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20842,20 +21238,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20878,7 +21274,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20887,98 +21283,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20991,21 +21387,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -22008,10 +22406,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22110,6 +22504,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22158,107 +22577,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22521,7 +22940,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/en_GB.po b/src/calibre/translations/en_GB.po index 4cab8a1688..13b82fea7a 100644 --- a/src/calibre/translations/en_GB.po +++ b/src/calibre/translations/en_GB.po @@ -7,32 +7,32 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" -"PO-Revision-Date: 2013-01-03 19:04+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" +"PO-Revision-Date: 2013-04-11 10:39+0000\n" "Last-Translator: Vibhav Pant \n" "Language-Team: English (United Kingdom) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:25+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:42+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -331,73 +331,73 @@ msgstr "Set metadata in %s files" msgid "Set metadata from %s files" msgstr "Set metadata from %s files" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "Add books to Calibre or the connected device" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "Fetch annotations from a connected Kindle (experimental)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "Generate a catalogue of the books in your Calibre library" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "Convert books to various ebook formats" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "Delete books from your Calibre library or connected device" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "Edit the metadata of books in your Calibre library" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "Read books in your Calibre library" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "Download news from the internet in ebook form" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Show a list of related books quickly" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "Export books from your Calibre library to the hard disk" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "Show book details in a separate popup" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "Restart Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "Open the folder that contains the book files in your Calibre library" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "Send books to the connected device" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" @@ -405,42 +405,42 @@ msgstr "" "Send books via email or the web and connect to iTunes or folders on your " "computer as if they were devices" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "Browse the calibre User Manual" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "Customise Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "Easily find books similar to the currently selected one" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" "Switch between different Calibre libraries and perform maintenance on them" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "Copy books from the device to your Calibre library" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "Edit the collections in which books are placed on your device" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "Copy a book from one Calibre library to another" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "Make small tweaks to epub or htmlz files in your calibre library" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" @@ -448,57 +448,57 @@ msgstr "" "Find the next or previous match when searching in your Calibre library in " "highlight mode" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "Choose a random book from your Calibre library" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "Search for books from different book sellers" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "Get new Calibre plug-ins or update your existing ones" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Look and Feel" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Interface" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" "Adjust the look and feel of the calibre interface to suit your tastes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "Behaviour" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "Change the way calibre behaves" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Add your own columns" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "Add/remove your own columns to the calibre book list" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Toolbar" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -506,64 +506,64 @@ msgstr "" "Customise the toolbars and context menus, changing which actions are " "available in each" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "Searching" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "Customise the way searching for books works in calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "Input Options" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Conversion" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "Set conversion options specific to each input format" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Common Options" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "Set conversion options common to all formats" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "Output Options" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "Set conversion options specific to each output format" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "Adding books" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "Import/Export" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "Control how calibre reads metadata from files when adding books" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "Saving books to disc" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -571,50 +571,50 @@ msgstr "" "Control how calibre exports files from its database to disc when using Save " "to disc" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "Sending books to devices" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "Control how calibre transfers files to your ebook reader" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "Metadata plugboards" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "Change metadata fields before saving/sending" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "Template Functions" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "Advanced" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "Create your own template functions" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "Sharing books by email" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "Sharing" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -622,11 +622,11 @@ msgstr "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "Sharing over the net" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -634,56 +634,56 @@ msgstr "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "Metadata download" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "Control how Calibre downloads ebook metadata from the net" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Plug-ins" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Add/remove/customise various bits of calibre functionality" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "Tweaks" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "Fine tune how calibre behaves in various contexts" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "Keyboard" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "Customise the keyboard shortcuts used by Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Miscellaneous" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "Miscellaneous advanced configuration" @@ -987,8 +987,8 @@ msgstr "Enable the named plug-in" msgid "Disable the named plugin" msgstr "Disable the named plug-in" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -998,11 +998,22 @@ msgstr "Disable the named plug-in" msgid "Path to library too long. Must be less than %d characters." msgstr "Path to library too long. Must be less than %d characters." -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "creating custom column " + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -1014,26 +1025,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "%(tt)sAverage rating is %(rating)3.1f" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "Main" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "Card A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "Card B" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1046,11 +1057,11 @@ msgstr "Card B" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "News" @@ -1058,14 +1069,14 @@ msgstr "News" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "checked" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "yes" @@ -1073,7 +1084,7 @@ msgstr "yes" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "no" @@ -1081,45 +1092,70 @@ msgstr "no" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "unchecked" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "today" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "yesterday" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "thismonth" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "daysago" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "empty" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "blank" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "Invalid boolean query \"{0}\"" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1149,23 +1185,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "Communicate with Android devices." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "Communicate with S60 phones." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "Communicate with WebOS tablets." @@ -1309,8 +1345,8 @@ msgstr "" "Click 'Show Details' for a list." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "Catalogue" @@ -1364,10 +1400,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1408,6 +1444,7 @@ msgstr "Adding books to device metadata listing..." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1743,17 +1780,17 @@ msgstr "" "useful if you have modified the cover." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "Upload Black and White Covers" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "Show expired books" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1764,12 +1801,12 @@ msgstr "" "delete them with the new delete logic." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "Show Previews" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1780,7 +1817,7 @@ msgstr "" "if you wish to see/delete them." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "Show Recommendations" @@ -1795,7 +1832,7 @@ msgstr "" "you wish to see/delete them." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1808,10 +1845,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1881,66 +1920,66 @@ msgstr "" "/>Chapter Progress: %(chapter_progress)s%%
Highlight: " "%(text)s
Notes: %(annotation)s

" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1948,7 +1987,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1957,11 +1996,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1981,55 +2020,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "Communicate with the Sweex/Kogan/Q600/Wink." #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "Communicate with the Pandigital Novel" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "Communicate with the VelocityMicro" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "Communicate with the GM2000" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "Communicate with the Acer Lumiread" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "Communicate with the Aluratek Color" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "Communicate with the Trekstor" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "Communicate with the EEE Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "Communicate with the Adam tablet." -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "Communicate with the Nextbook Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "Communicate with the Moovybook Reader." -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "Communicate with the COBY." -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "Communicate with the Ex124G" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2154,7 +2193,7 @@ msgstr "The Nook" msgid "Communicate with the Nook eBook reader." msgstr "Communicate with the Nook eBook reader." -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "Communicate with the Nook Color, TSR and Tablet eBook readers." @@ -2680,7 +2719,7 @@ msgid "There is insufficient free space on the storage card" msgstr "There is insufficient free space on the storage card" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "Rendered %s" @@ -3090,27 +3129,27 @@ msgstr "" "can result in various nasty side effects in the rest of the conversion " "pipeline." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "CSS file used for the output instead of the default file" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 -msgid "" -"Template used for generation of the html index file instead of the default " -"file" -msgstr "" -"Template used for generation of the html index file instead of the default " -"file" - #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" +"Template used for generation of the html index file instead of the default " +"file" +msgstr "" +"Template used for generation of the html index file instead of the default " +"file" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" "Template used for the generation of the html contents of the book instead of " "the default file" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3444,15 +3483,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4644,7 +4687,7 @@ msgstr "" msgid "Set book ID" msgstr "Set book ID" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4670,27 +4713,27 @@ msgstr "No" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "Title" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "Author(s)" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "Publisher" @@ -4726,13 +4769,14 @@ msgstr "Comments" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "Tags" @@ -4741,9 +4785,10 @@ msgstr "Tags" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4753,7 +4798,7 @@ msgstr[0] "Series" msgstr[1] "Series" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4765,8 +4810,8 @@ msgstr "Timestamp" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "Published" @@ -4904,61 +4949,61 @@ msgstr "" "Fetch a cover image/social metadata for the book identified by ISBN from " "LibraryThing.com\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "Cover" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "Downloads metadata and covers from Amazon" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "US" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "France" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "Germany" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "UK" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "Italy" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "Japan" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "Spain" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "Amazon website to use:" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" "Metadata from Amazon will be fetched using this country's Amazon website." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "Amazon timed out. Try again later." @@ -4966,6 +5011,24 @@ msgstr "Amazon timed out. Try again later." msgid "Metadata source" msgstr "Metadata source" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " @@ -4974,7 +5037,7 @@ msgstr "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4984,6 +5047,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "Downloads metadata and covers from Google Books" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "Large" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "Downloads metadata from isbndb.com" @@ -5053,12 +5157,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "This is an Amazon Topaz book. It cannot be processed." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "This is not a MOBI file. It is a Topaz file." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "This is not a MOBI file." @@ -5085,72 +5189,72 @@ msgid "No details available" msgstr "No details available" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "Table of Contents" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "Title Page" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "Index" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "Glossary" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "Acknowledgements" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "Bibliography" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "Colophon" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "Copyright" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "Dedication" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "Epigraph" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "Foreword" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "List of Illustrations" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "List of Tables" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "Notes" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "Preface" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "Main Text" @@ -5159,14 +5263,14 @@ msgstr "Main Text" msgid "%s format books are not supported" msgstr "%s format books are not supported" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -5191,12 +5295,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -5229,7 +5333,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -5354,9 +5458,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -5372,11 +5476,11 @@ msgid "HTML TOC generation options." msgstr "HTML TOC generation options." #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "Rating" @@ -5422,6 +5526,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "Could not find pdftohtml, check it is in your PATH" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5587,7 +5695,7 @@ msgid "Show this confirmation again" msgstr "Show this confirmation again" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "Restart needed" @@ -5713,12 +5821,12 @@ msgstr "Control the adding of books" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5797,8 +5905,8 @@ msgstr "Add to library" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5922,7 +6030,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "Select destination for %(title)s.%(fmt)s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5972,7 +6080,7 @@ msgid "No existing calibre library found at %s" msgstr "No existing Calibre library found at %s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "Choose Library" @@ -5986,7 +6094,7 @@ msgstr "Switch/create library..." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5998,12 +6106,12 @@ msgid "Pick a random book" msgstr "Pick a random book" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "Quick switch" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "Rename library" @@ -6154,7 +6262,7 @@ msgstr "" "check if the files in your library match the information in the database?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -6182,7 +6290,7 @@ msgstr "The files in your library match the information in the database." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -6225,7 +6333,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "Create a catalogue of the books in your calibre library" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "Cannot convert" @@ -6238,89 +6346,102 @@ msgstr "Starting conversion of %d book(s)" msgid "Empty output file, probably the conversion process crashed" msgstr "Empty output file, probably the conversion process crashed" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "%(title)s by %(author)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "Choose library" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "Copy to library" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "Copy selected books to the specified library" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "(delete after copy)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "Cannot copy" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "No library" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "No library found at %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "Copied %(num)d books to %(loc)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "Could not copy books: " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "Auto merged" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " @@ -6330,7 +6451,7 @@ msgstr "" "library. Click Show details to see which ones. This behaviour is controlled " "by the Auto merge option in Preferences->Adding books." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -6351,6 +6472,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "Are you sure?" @@ -6427,11 +6549,11 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "Choose formats to be deleted" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." @@ -6439,7 +6561,7 @@ msgstr "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" @@ -6447,44 +6569,44 @@ msgstr "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "Cannot delete books" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "No device is connected" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "Main memory" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "Storage Card A" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "Storage Card B" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "No books to delete" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "None of the selected books are on the device" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "Deleting books from device." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" @@ -6492,21 +6614,19 @@ msgstr "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 msgid "Start wireless device connection" @@ -6581,12 +6701,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "Stopping" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "Stopping server. This could take up to a minute, please wait..." @@ -6670,8 +6790,8 @@ msgstr "Failed to download metadata" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "Download failed" @@ -6711,7 +6831,7 @@ msgid "Download complete" msgstr "Download complete" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "Download log" @@ -6807,15 +6927,15 @@ msgstr "" "books will be permanently deleted from your calibre library.

" "Are you sure you want to proceed?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "Applying changed metadata" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "Some failures" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6922,17 +7042,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6941,185 +7072,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "Smarten &punctuation" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -7239,7 +7381,7 @@ msgid "Click the show details button to see which ones." msgstr "Click the show details button to see which ones." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "Show book details" @@ -7344,7 +7486,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "Search for %s" @@ -7356,17 +7498,17 @@ msgstr "Stores" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "Choose stores" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "Cannot search" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." @@ -7374,7 +7516,7 @@ msgstr "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " @@ -7384,7 +7526,7 @@ msgstr "" "you are looking for, at the best price. You also get DRM status and other " "useful information." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -7400,11 +7542,11 @@ msgstr "" "especially if the book you are buying has DRM." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "Show this message again" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "About Get Books" @@ -7674,7 +7816,7 @@ msgid "The specified directory could not be processed." msgstr "The specified directory could not be processed." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "No books" @@ -7901,7 +8043,7 @@ msgid "Click to open" msgstr "Click to open" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "IDs" @@ -7911,7 +8053,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "Book %(sidx)s of %(series)s" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "Collections" @@ -7945,16 +8087,25 @@ msgstr "Path" msgid "Cover size: %(width)d x %(height)d" msgstr "Cover size: %(width)d x %(height)d" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "BibTeX Options" @@ -8022,7 +8173,7 @@ msgstr "output" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -8215,7 +8366,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "Name" @@ -8555,8 +8706,8 @@ msgid "Style the selected text block" msgstr "Style the selected text block" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "Normal" @@ -9521,59 +9672,63 @@ msgstr "No &Images" msgid "PDF Output" msgstr "PDF Output" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "&Paper Size:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "&Custom size:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "Preserve &aspect ratio of cover" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "Se&rif family:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "&Sans family:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "&Monospace family:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "S&tandard font:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -9585,13 +9740,29 @@ msgstr "" msgid " px" msgstr " px" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "Monospace &font size:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9832,6 +10003,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "Convert" @@ -10422,7 +10597,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "No suitable formats" @@ -10470,66 +10645,66 @@ msgstr "Device: " msgid " detected." msgstr " detected." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "selected to send" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "No device" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "%(num)i of %(total)i Books" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "0 of %i Books" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "Choose format to send to device" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "Cannot send: No device is connected" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "No card" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "Cannot send: Device has no storage card" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "Auto convert the following books before uploading to the device?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "Sending catalogues to device." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "Sending news to device." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "Sending books to device." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." @@ -10537,17 +10712,17 @@ msgstr "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "No space on device" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" "

Cannot upload books to device there is no more free space available " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -10714,7 +10889,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -11322,13 +11497,13 @@ msgid "Where do you want to delete from?" msgstr "Where do you want to delete from?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "Library" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "Device" @@ -11364,8 +11539,8 @@ msgid "Location" msgstr "Location" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -11384,13 +11559,13 @@ msgstr "%(curr)s (was %(initial)s)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "Item is blank" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "An item cannot be set to nothing. Delete it instead." @@ -11497,7 +11672,7 @@ msgstr "Link" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "No matches found" @@ -11545,12 +11720,12 @@ msgid "Copy to author" msgstr "Copy to author" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "Invalid author name" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "Author names cannot contain & characters." @@ -11650,40 +11825,40 @@ msgstr "&Hide all jobs" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "&Copy to clipboard" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "Show &details" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "Hide &details" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "Show detailed information about this error" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "Copied" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "View log" @@ -12629,6 +12804,7 @@ msgstr "Aborting..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -12667,12 +12843,12 @@ msgstr "Items" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "Search" @@ -13295,12 +13471,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -13352,6 +13528,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "Publishers" @@ -13366,6 +13543,7 @@ msgstr "Category lookup name: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "Invalid name" @@ -14277,7 +14455,7 @@ msgid "&Shortcut:" msgstr "&Shortcut:" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "Done" @@ -14323,7 +14501,7 @@ msgstr "Search for a shortcut by name" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "No matches" @@ -14333,48 +14511,52 @@ msgstr "No matches" msgid "Could not find any shortcuts matching %s" msgstr "Could not find any shortcuts matching %s" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "Eject this device" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "Configure this device" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "Show books in calibre library" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "Show books in the main memory of the device" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "Show books on storage card A" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "Show books on storage card B" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "Delete library" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "available" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "Advanced search" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "Shift+Ctrl+F" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" @@ -14382,19 +14564,19 @@ msgstr "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "&Go!" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "Do Quick Search (you can also press the Enter key)" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "Reset Quick Search" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "Copy current search text (instead of search name)" @@ -14407,32 +14589,32 @@ msgstr "stars" msgid "Y" msgstr "Y" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "On Device" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "Size (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "Modified" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "The lookup/search name is \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "This book's UUID is \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -14443,30 +14625,30 @@ msgstr "" "Could not change the on disk location of this book. Is it open in another " "program?" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "Failed to set data" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "Could not set data, click Show Details to see why." -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "In Library" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "Size" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "Marked for deletion" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "Double click to edit me

" @@ -14573,7 +14755,7 @@ msgid "Previous Page" msgstr "Previous Page" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -15107,7 +15289,7 @@ msgid "Edit Metadata" msgstr "Edit Metadata" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -15263,15 +15445,15 @@ msgstr "&Comments" msgid "Basic metadata" msgstr "Basic metadata" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "Has cover" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "Has summary" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -15283,27 +15465,27 @@ msgstr "" "having a cover will find a cover in the download\n" "cover stage, and vice versa." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "See at" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "Calibre is downloading metadata from: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "Please wait" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "Query: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "Failed to download metadata. Click \"Show Details\" to see details." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -15315,39 +15497,44 @@ msgstr "" "single distinctive word from the title.

To see the full log, click \"Show " "Details\"." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "Current cover" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "Searching..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "Downloading covers for %s, please wait..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "Failed to download any covers, click \"Show details\" for details." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "Could not find any covers for %s" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -"Found %(num)d covers of %(title)s. Pick the one you like best." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "Downloading metadata..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "Downloading cover..." @@ -15528,9 +15715,9 @@ msgid "The Add &Process" msgstr "The Add &Process" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" -"Ignore files with the following extensions when automatically adding " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 msgid "" @@ -15576,34 +15763,34 @@ msgstr "Automatically &convert added files to the current output format" msgid "&Automatic Adding" msgstr "&Automatic Adding" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "High" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "Low" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "Very low" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "Compact Metadata" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "Default" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "All on 1 tab" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "Confirmation dialogues have all been reset" @@ -15656,18 +15843,15 @@ msgid "Job &priority:" msgstr "Job &priority:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" -msgstr "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" -"Apply this restriction on calibre startup if the current library is being " -"used. Also applied when switching to this library. Note that this setting is " -"per library. " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170 msgid "Edit metadata (single) layout:" @@ -16661,10 +16845,6 @@ msgstr "Off" msgid "Small" msgstr "Small" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "Large" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "Medium" @@ -16682,7 +16862,7 @@ msgid "Never" msgstr "Never" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "By first letter" @@ -17789,20 +17969,20 @@ msgstr "" "devices, by customising the device interface plug-ins in Preferences-" ">Advanced->Plug-ins" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "Failed to start content server" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "Error log:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "Access log:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "You need to restart the server for changes to take effect" @@ -17843,22 +18023,19 @@ msgid "Max. &OPDS items per query:" msgstr "Max. &OPDS items per query:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" -msgstr "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" -msgstr "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 msgid "" @@ -18319,40 +18496,50 @@ msgstr "Restore &default" msgid "Apply any changes you made to this tweak" msgstr "Apply any changes you made to this tweak" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" +msgstr "Create saved search" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 msgid "Delete current search" msgstr "Delete current search" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 msgid "No search is selected" msgstr "No search is selected" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" "The selected search will be permanently deleted. Are you sure?" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "Search (For Advanced Search click the button to the left)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "Start search" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "Enable or disable search highlighting." -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "Saved Searches" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "Choose saved search or enter name for new saved search" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." @@ -18360,46 +18547,185 @@ msgstr "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "Create saved search" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "Delete saved search" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "Manage saved searches" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" -msgstr "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" -msgstr "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "(all books)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -"Books display will be restricted to those matching a selected saved search" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " -msgstr " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "({0} of {1})" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "({0} of all)" @@ -18696,32 +19022,32 @@ msgstr "Download..." msgid "Goto in store..." msgstr "Going to Store..." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "Buying from this store supports the Calibre developer: %s

" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "Customise Get books search" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "Configure search" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "Couldn't find any books matching your query." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "Choose format to download to your library." @@ -18843,48 +19169,48 @@ msgstr "Reload" msgid "%p%" msgstr "%p%" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "The grouped search term name is \"{0}\"" +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 +msgid "" +"Changing the authors for several books can take a while. Are you sure?" +msgstr "" +"Changing the authors for several books can take a while. Are you sure?" + #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" -"Changing the authors for several books can take a while. Are you sure?" -msgstr "" -"Changing the authors for several books can take a while. Are you sure?" - -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 -msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" "Changing the metadata for that many books can take a while. Are you sure?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "Searches" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "Rename user category" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "You cannot use periods in the name when renaming user categories." -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "The name %s is already used." -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "Duplicate search name" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "The saved search name %s is already used." @@ -18906,13 +19232,13 @@ msgid "Manage Tags" msgstr "Manage Tags" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "Manage User Categories" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "Manage Saved Searches" @@ -19011,7 +19337,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "Sort by" @@ -19053,138 +19379,138 @@ msgstr "" "All of these category_managers are available by right-clicking on items in " "the tag browser above." -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "Rename %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "Delete %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "Edit sort for %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "Edit link for %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "Add %s to user category" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "Children of %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "Delete search %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "Remove %(item)s from category %(cat)s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "Search for everything but %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "Add sub-category to %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "Delete user category %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "Hide category %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "Show category" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "Search for books in category %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "Search for books not in category %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "Manage %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "Show all categories" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "Change sub-categorization scheme" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "Disable" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "Partition" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "First letter is usable only when sorting by name." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -19195,56 +19521,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -19286,73 +19612,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -19360,134 +19697,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -19570,31 +19952,31 @@ msgstr "" "The following books have already been converted to %s format. Do you wish to " "reconvert them?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "&Donate to support calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "&Restore" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "&Eject connected device" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "Quit Calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "Clear the current search" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "Debug mode" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -19605,11 +19987,11 @@ msgstr "" "log will be available in the file: %s

The log will be displayed " "automatically." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "Failed to start Content Server" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -19631,16 +20013,16 @@ msgstr "" "try and rebuild it automatically? The rebuild may not be completely " "successful." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "Conversion Error" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -19663,23 +20045,23 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "Recipe Disabled" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "Failed" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "There are active jobs. Are you sure you want to quit?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" @@ -19689,11 +20071,11 @@ msgstr "" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "Active jobs" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -20253,29 +20635,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -21638,8 +22020,8 @@ msgstr "" "please see the search related documentation in the User Manual. Default is " "to do no filtering." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." @@ -21647,11 +22029,11 @@ msgstr "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "The string used to separate fields. Default is a space." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." @@ -21659,15 +22041,15 @@ msgstr "" "The prefix for all file paths. Default is the absolute path to the library " "folder." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "Invalid fields. Available fields:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "Invalid sort field. Available fields:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" @@ -21675,13 +22057,13 @@ msgstr "" "The following books were not added as they already exist in the database " "(see --duplicates option):" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -21695,19 +22077,19 @@ msgstr "" "directories, see\n" "the directory related options below.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 -msgid "" -"Assume that each directory has only a single logical book and that all files " -"in it are different e-book formats of that book" -msgstr "" -"Assume that each directory has only a single logical book and that all files " -"in it are different e-book formats of that book" - #: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +msgid "" +"Assume that each directory has only a single logical book and that all files " +"in it are different e-book formats of that book" +msgstr "" +"Assume that each directory has only a single logical book and that all files " +"in it are different e-book formats of that book" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "Process directories recursively" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." @@ -21715,43 +22097,43 @@ msgstr "" "Add books to database even if they already exist. Comparison is done based " "on book titles." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "Add an empty book (a book with no formats)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "Set the title of the added book(s)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "Set the authors of the added book(s)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "Set the ISBN of the added book(s)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "Set the tags of the added book(s)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "Set the series of the added book(s)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "Set the series number of the added book(s)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "You must specify at least one file to add" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -21769,33 +22151,38 @@ msgstr "" "in the range is not\n" "included).\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "You must specify at least one book to remove" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" -"%prog add_format [options] id ebook_file\n" -"\n" -"Add the ebook in ebook_file to the available formats for the logical book " -"identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "You must specify an id and an ebook file" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "ebook file must have an extension" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -21811,11 +22198,11 @@ msgstr "" "by using the list command. fmt should be a file extension like LRF or TXT or " "EPUB. If the logical book does not have fmt available, do nothing.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "You must specify an id and a format" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -21831,15 +22218,15 @@ msgstr "" "id.\n" "id is an id number from the list command.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "Print metadata in OPF form (XML)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "You must specify an id" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -21854,7 +22241,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -21864,40 +22251,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -21915,28 +22302,28 @@ msgstr "" "(in\n" "an opf file). You can get id numbers from the list command.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "Export all books in database, ignoring the list of ids." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "Export books to the specified directory. Default is" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "Export all books into a single directory" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "Specifying this switch will turn this behavior off." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "You must specify some ids or the %s option" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -21954,7 +22341,7 @@ msgstr "" "column.\n" "datatype is one of: {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." @@ -21962,7 +22349,7 @@ msgstr "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -21982,11 +22369,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "You must specify label, name and datatype" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -22004,7 +22391,7 @@ msgstr "" "ouput.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" @@ -22014,7 +22401,7 @@ msgstr "" "If declared, --search is ignored.\n" "Default: all" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" @@ -22024,48 +22411,48 @@ msgstr "" "please see the search-related documentation in the User Manual.\n" "Default: no filtering" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "Show detailed output information. Useful for debugging" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "Error: You must specify a catalogue output file" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 -msgid "" -"\n" -" %prog set_custom [options] column id value\n" -"\n" -" Set the value of a custom column for the book identified by id.\n" -" You can get a list of ids using the list command.\n" -" You can get a list of custom column names using the custom_columns\n" -" command.\n" -" " -msgstr "" -"\n" -" %prog set_custom [options] column id value\n" -"\n" -" Set the value of a custom column for the book identified by id.\n" -" You can get a list of ids using the list command.\n" -" You can get a list of custom column names using the custom_columns\n" -" command.\n" -" " - #: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" +"\n" +" %prog set_custom [options] column id value\n" +"\n" +" Set the value of a custom column for the book identified by id.\n" +" You can get a list of ids using the list command.\n" +" You can get a list of custom column names using the custom_columns\n" +" command.\n" +" " +msgstr "" +"\n" +" %prog set_custom [options] column id value\n" +"\n" +" Set the value of a custom column for the book identified by id.\n" +" You can get a list of ids using the list command.\n" +" You can get a list of custom column names using the custom_columns\n" +" command.\n" +" " + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 +msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "Error: You must specify a field name, id and value" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -22079,27 +22466,27 @@ msgstr "" " List available custom columns. Shows column labels and ids.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "Show details for each column." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "y" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -22115,15 +22502,15 @@ msgstr "" " columns with the custom_columns command.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "Do not ask for confirmation" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "Error: You must specify a column label" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -22145,40 +22532,40 @@ msgstr "" " replaced.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "Error: You must specify an action (add|remove|list)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "Name:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "Search string:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "Error: You must specify a name and a search string" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "added" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "Error: You must specify a name" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "removed" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "Error: Action %s not recognised, must be one of: (add|remove|list)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -22192,13 +22579,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -22210,12 +22597,12 @@ msgstr "" "Perform some checks on the filesystem representing a library. Reports are " "{0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "Output in CSV" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" @@ -22223,7 +22610,7 @@ msgstr "" "Comma-separated list of reports.\n" "Default: all" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" @@ -22231,7 +22618,7 @@ msgstr "" "Comma-separated list of extensions to ignore.\n" "Default: all" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" @@ -22239,11 +22626,11 @@ msgstr "" "Comma-separated list of names to ignore.\n" "Default: all" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "Unknown report check" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -22269,7 +22656,7 @@ msgstr "" "what is found in the OPF files.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." @@ -22277,12 +22664,12 @@ msgstr "" "Really do the recovery. The command will not run unless this option is " "specified." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "You must provide the %s option to do a recovery" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -22294,7 +22681,7 @@ msgstr "" "Produce a report of the category information in the database. The\n" "information is the equivalent of what is shown in the tags pane.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" @@ -22302,7 +22689,7 @@ msgstr "" "Output only the number of items in a category instead of the counts per item " "within the category" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." @@ -22310,7 +22697,7 @@ msgstr "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" @@ -22318,15 +22705,15 @@ msgstr "" "Comma-separated list of category lookup names.\n" "Default: all" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "The string used to separate fields in CSV mode. Default is a comma." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "CATEGORY ITEMS" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -22359,31 +22746,22 @@ msgstr "" "The label must contain only lower case letters, digits and underscores, and " "start with a letter" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "creating custom column " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "

Migrating old database to ebook library in %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "Copying %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "Compacting database" @@ -22662,20 +23040,20 @@ msgstr "" "from Apache/nginx/etc." #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "All books" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "Newest" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "Loading, please wait" @@ -22698,7 +23076,7 @@ msgid "Browsing %d books" msgstr "Browsing %d books" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "Average rating" @@ -22707,98 +23085,98 @@ msgstr "Average rating" msgid "%(prefix)s: %(rating).1f stars" msgstr "%(prefix)s: %(rating).1f stars" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "%d stars" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "Popularity" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "library" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "home" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "Browse books by" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "Choose a category to browse by:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "Browsing by" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "Up" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "in" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "Books in" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "Other formats" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "Read %(title)s in the %(fmt)s format" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "Get" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "Details" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "Permalink" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "A permanent link to this book" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "This book has been deleted" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "in search" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "Matching books" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -22820,23 +23198,23 @@ msgstr "" "\n" "The OPDS interface is advertised via BonJour automatically.\n" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "Path to the library folder to serve with the content server" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "Write process PID to the specified file" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -24063,10 +24441,6 @@ msgstr "AM" msgid "pm" msgstr "PM" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -24167,6 +24541,31 @@ msgstr "Code is running" msgid "Restart console" msgstr "Restart console" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "URL must have the scheme sftp" @@ -24215,101 +24614,101 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "The \"%s\" recipe needs a username and password." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "Download finished" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "Failed to download the following articles:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "Failed to download parts of the following articles:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr " from " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "\tFailed links:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "Could not fetch article." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "The debug traceback is available earlier in this log" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "Run with -vv to see the reason" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "Fetching feeds..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "Got feeds from index page" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "Trying to download cover..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "Generating masthead..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "Starting download [%d thread(s)]..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "Feeds downloaded to %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "Could not download cover: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "Downloading cover from %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "Masthead image downloaded" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "Articles in this issue: " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "Untitled Article" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "Article downloaded: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "Article download failed: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "Fetching feed" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 msgid "" "Failed to log in, check your username and password for the calibre " "Periodicals service." @@ -24317,7 +24716,7 @@ msgstr "" "Failed to log in, check your username and password for the calibre " "Periodicals service." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -24626,14 +25025,9 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" -"By default, Calibre splits a string containing multiple author names on\n" -"ampersands and the words \"and\" and \"with\". By changing the regular\n" -"expression below, you can customise the splitting.\n" -"Strings are split on whatever the specified regular expression matches.\n" -"Default: r'(?i),?\\s+(and|with)\\s+'" #: /home/kovid/work/calibre/resources/default_tweaks.py:85 msgid "Use author sort in Tag Browser" diff --git a/src/calibre/translations/eo.po b/src/calibre/translations/eo.po index f9def3b4c1..0385f8a707 100644 --- a/src/calibre/translations/eo.po +++ b/src/calibre/translations/eo.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2012-08-03 13:00+0000\n" "Last-Translator: Cyril \n" "Language-Team: Esperanto \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:10+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:26+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "Faras absolute nenion" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "Faras absolute nenion" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "Faras absolute nenion" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "Faras absolute nenion" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "Faras absolute nenion" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "Faras absolute nenion" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "Faras absolute nenion" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -328,345 +328,345 @@ msgstr "Meti metadatumojn en dosieroj %s" msgid "Set metadata from %s files" msgstr "Meti metadatumojn el dosieroj %s" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "Legu librojn en via biblioteko en calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "Agordu calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Interfaco" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -970,8 +970,8 @@ msgstr "Ŝalti la indikitan kromprogramon" msgid "Disable the named plugin" msgstr "Malŝalti la indikitan kromprogramon" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -981,11 +981,22 @@ msgstr "Malŝalti la indikitan kromprogramon" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -997,26 +1008,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1029,11 +1040,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" @@ -1041,14 +1052,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1056,7 +1067,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1064,45 +1075,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1130,23 +1166,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "Komuniki kun telefonoj de la sistemo Android." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1269,8 +1305,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "" @@ -1318,10 +1354,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1362,6 +1398,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1680,17 +1717,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1698,12 +1735,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1711,7 +1748,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1723,7 +1760,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1736,10 +1773,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1796,66 +1835,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1863,7 +1902,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1872,11 +1911,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1896,55 +1935,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2069,7 +2108,7 @@ msgstr "Nook" msgid "Communicate with the Nook eBook reader." msgstr "Komuniki kun la aparato Nook." -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2550,7 +2589,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2859,23 +2898,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3163,15 +3202,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4125,7 +4168,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4149,27 +4192,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4205,13 +4248,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4220,9 +4264,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4232,7 +4277,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4244,8 +4289,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4357,60 +4402,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4418,13 +4463,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4434,6 +4497,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4493,12 +4597,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4525,72 +4629,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4599,14 +4703,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4631,12 +4735,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4669,7 +4773,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4794,9 +4898,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4812,11 +4916,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4859,6 +4963,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5013,7 +5121,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5135,12 +5243,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5217,8 +5325,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5339,7 +5447,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5387,7 +5495,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5401,7 +5509,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5413,12 +5521,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5558,7 +5666,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5586,7 +5694,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5627,7 +5735,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5640,96 +5748,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5748,6 +5869,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5820,75 +5942,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5964,12 +6088,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6053,8 +6177,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6090,7 +6214,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6160,15 +6284,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6273,17 +6397,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6292,185 +6427,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6587,7 +6733,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6692,7 +6838,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6704,30 +6850,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6737,11 +6883,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -7005,7 +7151,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7215,7 +7361,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7225,7 +7371,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7259,16 +7405,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7336,7 +7491,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7522,7 +7677,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7862,8 +8017,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8779,59 +8934,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8843,13 +9002,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9087,6 +9262,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9653,7 +9832,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9699,81 +9878,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9935,7 +10114,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10446,13 +10625,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10486,8 +10665,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10506,13 +10685,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10611,7 +10790,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10659,12 +10838,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10759,40 +10938,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11660,6 +11839,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11695,12 +11875,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12274,12 +12454,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12331,6 +12511,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12345,6 +12526,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13221,7 +13403,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13265,7 +13447,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13275,66 +13457,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13347,32 +13533,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13381,30 +13567,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13509,7 +13695,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -14007,7 +14193,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14152,15 +14338,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14168,27 +14354,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14196,38 +14382,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14368,7 +14560,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14411,34 +14604,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14487,12 +14680,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15405,10 +15598,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15426,7 +15615,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16394,20 +16583,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16440,18 +16629,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16826,83 +17015,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17178,32 +17517,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17317,46 +17656,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17378,13 +17717,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17477,7 +17816,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17516,138 +17855,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17658,56 +17997,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17749,73 +18088,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17823,134 +18173,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18029,31 +18424,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18061,11 +18456,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18081,16 +18476,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18113,34 +18508,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18681,29 +19076,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19951,44 +20346,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19997,59 +20392,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20060,28 +20455,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20091,11 +20496,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20105,15 +20510,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20128,7 +20533,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20138,40 +20543,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20182,28 +20587,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20214,13 +20619,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20240,11 +20645,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20255,30 +20660,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20290,17 +20695,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20309,27 +20714,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20339,15 +20744,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20360,40 +20765,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20407,13 +20812,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20421,34 +20826,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20463,18 +20868,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20482,33 +20887,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20531,31 +20936,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20797,20 +21193,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20833,7 +21229,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20842,98 +21238,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20946,21 +21342,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21963,10 +22361,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22065,6 +22459,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22113,107 +22532,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22476,7 +22895,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/es.po b/src/calibre/translations/es.po index e203e4440a..98d31091c1 100644 --- a/src/calibre/translations/es.po +++ b/src/calibre/translations/es.po @@ -10,16 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: es\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" -"PO-Revision-Date: 2013-04-01 15:42+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" +"PO-Revision-Date: 2013-04-27 09:00+0000\n" "Last-Translator: Jellby \n" "Language-Team: Español; Castellano <>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-04-02 05:17+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-28 04:35+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:540 msgid "" @@ -42,16 +42,16 @@ msgid "Does absolutely nothing" msgstr "No hace absolutamente nada" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -106,8 +106,8 @@ msgstr "No hace absolutamente nada" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -118,9 +118,9 @@ msgstr "No hace absolutamente nada" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -129,7 +129,7 @@ msgstr "No hace absolutamente nada" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -142,7 +142,7 @@ msgstr "No hace absolutamente nada" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -164,13 +164,13 @@ msgstr "No hace absolutamente nada" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -179,33 +179,33 @@ msgstr "No hace absolutamente nada" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -350,75 +350,75 @@ msgstr "Asignar metadatos a los archivos %s" msgid "Set metadata from %s files" msgstr "Asignar metadatos desde archivos %s" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "Añadir libros a calibre o al dispositivo conectado" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "Obtener notas de un Kindle conectado (experimental)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "Generar un catálogo de los libros en su biblioteca calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "Convertir libros a distintos formatos de libro electrónico" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "Ajuste fino de los libros" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "Editar el Índice de los libros" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" "Eliminar libros de la biblioteca de calibre o del dispositivo conectado" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "Modificar los metadatos de los libros de la biblioteca de calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "Leer libros de su biblioteca calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "Descargar noticias desde Internet en forma de libro electrónico" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Mostrar rápidamente una lista de libros relacionados" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "Exportar libros de su biblioteca calibre al disco duro" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "Mostrar los detalles del libro en una ventana emergente separada" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "Reiniciar calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" "Abrir la carpeta que contiene los archivos del libro en su biblioteca calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "Enviar libros al dispositivo conectado" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" @@ -426,45 +426,45 @@ msgstr "" "Enviar libros por correo electrónico y conectar a iTunes o carpetas locales " "como si fueran dispositivos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "Explorar el manual de usuario de calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "Personalizar calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "Encontrar libros parecidos al seleccionado" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" "Alternar entre distintas bibliotecas de calibre y realizar labores de " "mantenimiento sobre ellas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "Copiar libros del dispositivo a la biblioteca de calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" "Modificar las colecciones donde se colocan los libros en el dispositivo" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "Copiar un libro de una biblioteca de calibre a otra" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" "Hacer pequeños retoques a los archivos epub o htmlz en su biblioteca calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" @@ -472,59 +472,59 @@ msgstr "" "Ir a la siguiente o anterior coincidencia al buscar en la biblioteca de " "calibre en modo de resaltado" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "Escoger un libro aleatorio de la biblioteca de calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "Buscar libros de distintos vendedores" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "Obtener nuevos complementos de calibre o actualizar los existentes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Apariencia" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Interfaz" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" "Ajuste la apariencia de la interfaz de calibre para que se adapte a sus " "gustos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "Comportamiento" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "Cambie el modo que se comporta calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Añadir columnas personalizadas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" "Añadir o eliminar sus propias columnas en la lista de libros de calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Barra de herramientas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -532,70 +532,70 @@ msgstr "" "Personalice las barras de herramientas y los menús de contexto, cambiando " "las acciones que estarán disponibles en cada uno" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "Búsqueda" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" "Personalice el modo en que funcionan las búsquedas de libros en calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "Opciones de entrada" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Conversión" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" "Establezca las opciones de conversión específicas de cada formato de entrada" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Opciones comunes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" "Establezca las opciones de conversión comunes para todos los formatos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "Opciones de salida" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" "Establezca las opciones específicas de conversión para cada formato de salida" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "Añadir libros" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "Importar/exportar" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Controle la manera en que calibre lee los metadatos de los archivos al " "añadir libros" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "Guardar libros en disco" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -603,52 +603,52 @@ msgstr "" "Controle la manera en que calibre exporta archivos de su base de datos a " "disco cuando se utiliza la opción «Guardar libros en disco»" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "Enviar libros a dispositivos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" "Controle la manera en que calibre transfiere los archivos a su lector de " "libros" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "Panel de conexiones de metadatos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "Cambie los campos de metadatos antes de guardar o enviar" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "Funciones de plantilla" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "Avanzado" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "Cree sus propias funciones de plantilla" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "Compartir libros por correo electrónico" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "Compartir" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -656,11 +656,11 @@ msgstr "" "Configure el modo de compartir libros por correo electrónico. Puede usarse " "para enviar automáticamente las noticias descargadas a sus dispositivos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "Compartir por la red" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -669,57 +669,57 @@ msgstr "" "biblioteca de calibre en cualquier lugar, con cualquier dispositivo, a " "través de Internet." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "Descarga de metadatos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "Controle cómo descarga calibre los metadatos desde la red" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "Dispositivos ignorados" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" "Controlar qué dispositivos ignorará calibre cuando se conecten al ordenador." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Complementos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Añada, elimine y configure las diversas funciones de calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "Ajustes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "Ajuste cómo se comporta calibre en diversos contextos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "Teclado" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "Personalizar los atajos de teclado usados en calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Miscelánea" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "Configuración miscelánea avanzada" @@ -1022,8 +1022,8 @@ msgstr "Activar el complemento nombrado" msgid "Disable the named plugin" msgstr "Desactivar el complemento nombrado" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -1035,11 +1035,22 @@ msgstr "" "La ruta a la biblioteca es demasiado larga. Debe tener menos de %d " "caracteres." -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "preferencia restaurada " + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "creando columna personalizada " + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -1051,26 +1062,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "%(tt)sCalificación promedio es %(rating)3.1f" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "Principal" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "Tarjeta A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "Tarjeta B" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1083,11 +1094,11 @@ msgstr "Tarjeta B" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Noticias" @@ -1095,14 +1106,14 @@ msgstr "Noticias" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "marcado" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "sí" @@ -1110,7 +1121,7 @@ msgstr "sí" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "No" @@ -1118,45 +1129,71 @@ msgstr "No" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "desmarcado" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "hoy" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "ayer" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "thismonth" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "díasatrás" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "Error de conversión numérica: {0}" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "Error de conversión de datos: {0}" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "Valor no numérico en la consulta: {0}" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "vacío" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "blanco" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "Consulta booleana «{0}» no válida" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" +"Formato de consulta no válido para búsqueda separada por dos puntos: {0}" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "Grupo de consulta recursivo detectado: {0}" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1190,7 +1227,7 @@ msgstr "No se encontró ningún complemento llamado %s" msgid "Communicate with Android phones." msgstr "Comunicar con teléfonos Android." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" @@ -1198,7 +1235,7 @@ msgstr "" "Lista de directorios, separados por comas, donde almacenar los libros en la " "memoria principal del dispositivo. Se usará el primero que exista" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" @@ -1206,11 +1243,11 @@ msgstr "" "Lista de directorios, separados por comas, donde almacenar los libros en la " "tarjeta de memoria del dispositivo. Se usará el primero que exista" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "Comunicar con teléfonos S60." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "Comunicar con tabletas WebOS." @@ -1369,8 +1406,8 @@ msgstr "" "Pulse en \"Mostrar detalles\" para ver una lista." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "Catálogo" @@ -1426,10 +1463,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1470,6 +1507,7 @@ msgstr "Añadiendo libros a la lista de metadatos del dispositivo..." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1808,17 +1846,17 @@ msgstr "" "aparte, lo que resulta útil si ha modificado la portada." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "Cargar portadas en blanco y negro" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "Mostrar libros caducados" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1829,12 +1867,12 @@ msgstr "" "caducados y le permitirá eliminarlos." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "Mostrar vistas preliminares." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1845,7 +1883,7 @@ msgstr "" "opción si desea verlas o borrarlas." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "Mostrar recomendaciones" @@ -1860,7 +1898,7 @@ msgstr "" "Internet de compra. Active la opción si desea verlos o borrarlos." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "Intentar soportar firmware más reciente" @@ -1877,10 +1915,12 @@ msgstr "" "el Kobo a la configuración de fábrica y a probar software" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "Versión de base de datos de Kobo no soportada. Ver detalles" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1961,20 +2001,20 @@ msgstr "" "/>Recorrido del capítulo: %(chapter_progress)s%%
Destacado: %(text)s
Notas: %(annotation)s

" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "El Kobo Touch soporta estantes a partir del firmware V2.0.0." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" "Especifique una columna de etiquetas para la administración automática" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "Crear estantes" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." @@ -1982,11 +2022,11 @@ msgstr "" "Crear nuevos estantes en el Kobo Touch si no existen. Esto sólo es válido " "para el firmware V2.0.0 o posterior." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "Eliminar estantes vacíos" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." @@ -1994,11 +2034,11 @@ msgstr "" "Borrar todos los estantes vacíos del Kobo Touch después de sincronizar. Esto " "sólo es válido para el firmware V2.0.0 o posterior." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "Actualizar portadas de los libros" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." @@ -2006,11 +2046,11 @@ msgstr "" "Enviar imágenes de portada de la biblioteca de calibre al enviar libros al " "dispositivo." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "Mantener la proporción de la portada" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." @@ -2018,7 +2058,7 @@ msgstr "" "Al enviar portadas, no cambiar la proporción para adaptarla al dispositivo. " "Esto es para versiones del firmware 2.3.1 y posteriores." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " @@ -2028,11 +2068,11 @@ msgstr "" "archivos, pero en otros casos son sólo enlaces a la página web para comprar. " "Active esta opción si quiere verlas o borrarlas." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "Establecer información de serie" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -2045,7 +2085,7 @@ msgstr "" "después de que éste ha procesado el libro. Active esta opción si quiere " "establecer la información de serie." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -2059,11 +2099,11 @@ msgstr "" "el Kobo a la configuración de fábrica y a probar software. Este controlador " "soporta el firmware V2.x.x y DBVersion hasta " -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "Título para probar al depurar" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -2086,55 +2126,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "Comunicar con el Sweex/Kogan/Q600/Wink" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "Comunicar con el Pandigital Novel" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "Comunicar con VelocityMono" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "Comunicar con el GM2000" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "Comunicar con el Acer Lumiread" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "Comunicar con el lector Aluratek Color" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "Comunicar con el lector Trekstor" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "Comunicar con el EEE Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "Comunicar con la tableta Adam" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "Comunicar con el lector Nextbook" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "Comunicar con el lector Moovybook" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "Comunicar con el COBY" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "Comunicar con el Ex124G" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "Comunicar con los lectores WayteQ y SPC Dickens" @@ -2262,7 +2302,7 @@ msgstr "El Nook" msgid "Communicate with the Nook eBook reader." msgstr "Comunicar con el lector Nook." -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "Comunicar con los lectores Nook Color, TSR y Tablet." @@ -2829,7 +2869,7 @@ msgid "There is insufficient free space on the storage card" msgstr "No hay suficiente espacio libre en la tarjeta de almacenamiento" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "%s renderizado" @@ -3250,11 +3290,11 @@ msgstr "" "seguro de lo que está haciendo, pues puede producir efectos indeseados en el " "resto de la cola de conversión." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "Archivo CSS usado en la salida en lugar del predeterminado" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" @@ -3262,7 +3302,7 @@ msgstr "" "Plantilla empleada para generar el archivo de índice html en lugar del " "archivo predeterminado" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" @@ -3270,7 +3310,7 @@ msgstr "" "Plantilla empleada para generar el cuerpo del libro en html en lugar del " "archivo predeterminado" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3632,20 +3672,23 @@ msgstr "" "sobre esta opción." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." msgstr "" -"Una plantilla HTML usada para generar pies de página en cada página. El " -"texto _PAGENUM_ será sustituido por el número de página actual." +"Una plantilla HTML usada para generar %s en cada página. Los textos " +"_PAGENUM_, _TITLE_, _AUTHOR_ y _SECTION_ se sustituyen por sus valores " +"actuales." + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" +msgstr "pies de página" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." -msgstr "" -"Una plantilla HTML usada para generar cabeceras de página en cada página. El " -"texto _PAGENUM_ será sustutuido por el número de página actual." +msgid "headers" +msgstr "cabeceras" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 msgid "" @@ -3847,9 +3890,9 @@ msgid "" "for compatibility with Mac OS 9 and earlier. For Mac OS X use 'unix'. " "'system' will default to the newline type used by this OS." msgstr "" -"Tipo de fin de línea. Las opciones son %s. El valor predeterminado es " +"Tipo de salto de línea. Las opciones son %s. El valor predeterminado es " "«system». Usar «old_mac» para compatibilidad con Mac OS 9 y anteriores. Para " -"Mac OS X usar «unix». Con «system» se empleará el final de linea usado por " +"Mac OS X usar «unix». Con «system» se empleará el salto de línea usado por " "el actual sistema operativo." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/txt_output.py:47 @@ -3955,11 +3998,11 @@ msgid "" "fonts in the output bigger and vice versa. By default, the base font size is " "chosen based on the output profile you chose." msgstr "" -"El tamaño de letra base en pt. Todos los tamaños de letra en el libro " -"generado se pondrán en relación a este tamaño. Si elige un tamaño mayor, " -"hará que todas las letras de salida sean más grandes, o al contrario. De " -"manera predeterminada, el tamaño de letra base se decide basándose en el " -"perfil de salida seleccionado." +"Tamaño de letra base en pt. Todos los tamaños de letra en el libro generado " +"se pondrán en relación a este tamaño. Si elige un tamaño mayor, hará que " +"todas las letras de salida sean más grandes, o al contrario. De manera " +"predeterminada, el tamaño de letra base se decide basándose en el perfil de " +"salida seleccionado." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:154 msgid "" @@ -3990,8 +4033,8 @@ msgid "" "line height specification, unless you know what you are doing. For example, " "you can achieve \"double spaced\" text by setting this to 240." msgstr "" -"La altura mínima de la línea, como porcentaje del tamaño de letra del " -"elemento calculado. calibre se asegurará de que cada elemento tenga esta " +"La altura mínima de la línea, como porcentaje del tamaño de letra calculado " +"para el elemento. calibre se asegurará de que cada elemento tenga esta " "altura de línea como mínimo, a pesar de lo que indique el documento de " "entrada. Asignar 0 para desactivar. El valor predeterminado es 120%. Utilice " "esta opción preferentemente a la especificación directa de la altura de " @@ -4005,7 +4048,7 @@ msgid "" "cases, the minimum line height option is more useful. By default no line " "height manipulation is performed." msgstr "" -"La altura de línea en pt. Controla el espacio entre líneas consecutivas de " +"Altura de línea en pt. Controla el espacio entre líneas consecutivas de " "texto. Sólo se aplica a elementos que no definen su propia altura de línea. " "En la mayoría de los casos, la opción de altura de línea mínima es más útil. " "De manera predeterminada no se modifica la altura de línea." @@ -4896,7 +4939,7 @@ msgstr "" msgid "Set book ID" msgstr "Establecer el código ID del libro" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4922,27 +4965,27 @@ msgstr "No" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "Título" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "Autor(es)" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "Editorial" @@ -4978,13 +5021,14 @@ msgstr "Comentarios" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "Etiquetas" @@ -4993,9 +5037,10 @@ msgstr "Etiquetas" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -5005,7 +5050,7 @@ msgstr[0] "Serie" msgstr[1] "Series" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -5017,8 +5062,8 @@ msgstr "Marca temporal" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "Publicado" @@ -5159,61 +5204,61 @@ msgstr "" "Obtiene metadatos sociales o la imagen de portada de LibraryThing.com del " "libro identificado por el ISBN.\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "Portada" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "Descarga metadatos y portadas de Amazon" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "EE. UU." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "Francia" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "Alemania" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "Reino Unido" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "Italia" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "Japón" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "España" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "Brasil" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "Portal de Amazon que se utilizará:" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" "Los metadatos de Amazon se descargarán de la página de Amazon de este país." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" "El tiempo de espera de Amazon ha expirado. Vuelva a intentarlo más tarde." @@ -5222,6 +5267,28 @@ msgstr "" msgid "Metadata source" msgstr "Fuente de metadatos" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" +"Descargar múltiples portadas desde Amazon. Útil para encontrar portadas " +"alternativas." + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "Configurar el complemento Big Book Search" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "Número máximo de portadas que se obtendrán" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" +"El número máximo de portadas para procesar a partir del resultado de la " +"búsqueda" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " @@ -5230,7 +5297,7 @@ msgstr "" "Descarga metadatos y portadas de Douban.com. Sólo es útil para libros en " "idioma chino." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -5242,6 +5309,51 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "Descarga metadatos y portadas desde Google Books" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" +"Descargar portadas desde una búsqueda de imágenes de Google. Útil para " +"encontrar portadas mayores o alternativas." + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "Configurar el complemento Google Image Search" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" +"El número máximo de portadas para procesar a partir del resultado de la " +"búsqueda de Google." + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "Tamaño de portada" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "Buscar portadas mayores que el tamaño especificado" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "Cualquier tamaño" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "Grande" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "Mayores que %s" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "Descarga metadatos de isbndb.com" @@ -5315,12 +5427,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "Este es un libro Topaz de Amazon. No se puede procesar." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "Este no es un archivo MOBI, es un archivo Topaz." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "Este no es un archivo MOBI." @@ -5354,72 +5466,72 @@ msgid "No details available" msgstr "No hay detalles disponibles" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "Índice" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "Página de título" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "Índice analítico" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "Glosario" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "Agradecimientos" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "Bibliografía" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "Colofón" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "Derechos de autor" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "Dedicatoria" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "Epígrafe" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "Prólogo" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "Lista de ilustraciones" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "Lista de tablas" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "Notas" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "Prefacio" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "Texto principal" @@ -5428,7 +5540,7 @@ msgstr "Texto principal" msgid "%s format books are not supported" msgstr "El formato de libros %s no está soportado" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " @@ -5438,7 +5550,7 @@ msgstr "" "formato de Amazon. calibre sólo puede modificar los archivos MOBI que " "contienen libros KF8. Los archivos MOBI sin KF8 no son modificables." -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -5466,8 +5578,8 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" "

Pulir libros le permite poner un toque de perfección en los " "libros\n" @@ -5483,12 +5595,12 @@ msgstr "" "\n" "

Debería usar esta herramienta como el último paso en el proceso de\n" "creación de un libro.

\n" -"\n" +"{0}\n" "

Tenga en cuenta que esta acción sólo funciona con archivos en los\n" -"formatos %s.

\n" +"formatos %s.

" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -5522,13 +5634,13 @@ msgstr "" "considerablemente el tamaño de los archivos de tipo de letra (una reducción " "del 50% es normal).

\n" "\n" -"

Por ejemplo, si el libro usa un tipo de letra determinado para los " -"encabezamientos, la reducción de caracteres mantendrá sólo los caracteres " -"presentes en los encabezamientos del libro. O si un libro incluye las " -"versiones negrita y cursiva de un tipo de letra, pero los textos en negrita " -"o cursiva son infrecuentes o inexistentes, entonces los archivos " -"correspondientes a las versiones negrita y cursiva pueden reducirse a unos " -"pocos caracteres o incluso eliminarse por completo.

\n" +"

Por ejemplo, si el libro usa un tipo de letra determinado para las " +"cabeceras, la reducción de caracteres mantendrá sólo los caracteres " +"presentes en las cabeceras del libro. O si un libro incluye las versiones " +"negrita y cursiva de un tipo de letra, pero los textos en negrita o cursiva " +"son infrecuentes o inexistentes, entonces los archivos correspondientes a " +"las versiones negrita y cursiva pueden reducirse a unos pocos caracteres o " +"incluso eliminarse por completo.

\n" "\n" "

La única desventaja de reducir los caracteres de los tipos de letra es " "que si más adelante decide añadir más texto a los libros, el nuevo texto " @@ -5538,12 +5650,11 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" -"

Insertar una página de «sobrecubierta» al principio del libro " -"conteniendo\n" +"

Insertar una página de «sobrecubierta» al principio del libro con\n" "todos los metadatos del libro, como título, etiquetas, autores, serie,\n" -"comentarios, etc.

" +"comentarios, etc. Se sustituirá cualquier sobrecubierta ya existente.

" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 msgid "

Remove a previous inserted book jacket page.

\n" @@ -5679,9 +5790,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "El punto de anclaje %(a)s no existe en el archivo %(f)s" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "(Sin título)" @@ -5697,11 +5808,11 @@ msgid "HTML TOC generation options." msgstr "Opciones de generación del Índice HTML." #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "Valoración" @@ -5750,6 +5861,10 @@ msgstr "" "No fue posible encontrar pdftohtml, compruebe que está presente en su " "computadora." +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "Sin título" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5925,7 +6040,7 @@ msgid "Show this confirmation again" msgstr "Mostrar nuevamente esta confirmación" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "Se requiere reiniciar" @@ -6055,12 +6170,12 @@ msgstr "Controlar la adición de libros" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -6142,8 +6257,8 @@ msgstr "Añadir a la biblioteca" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -6271,7 +6386,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "Seleccionar destino para %(title)s.%(fmt)s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -6322,7 +6437,7 @@ msgid "No existing calibre library found at %s" msgstr "No se encuentra una biblioteca de calibre en %s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "Elegir biblioteca" @@ -6336,7 +6451,7 @@ msgstr "Cambiar/crear biblioteca..." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -6348,12 +6463,12 @@ msgid "Pick a random book" msgstr "Seleccione un libro aleatorio" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "Cambio rápido" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "Renombrar biblioteca" @@ -6512,7 +6627,7 @@ msgstr "" "la información de la base de datos?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -6544,7 +6659,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -6587,7 +6702,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "Crear un catálogo de los libros en la biblioteca de calibre" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "No se puede convertir" @@ -6601,89 +6716,102 @@ msgid "Empty output file, probably the conversion process crashed" msgstr "" "Archivo de salida vacío, probablemente el proceso de conversión falló" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "%(title)s por %(author)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "Elegir biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "&Ruta de la biblioteca:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "Buscar biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" -msgstr "&Borrar después de copiar" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" +msgstr "&Copiar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "Copiar a la biblioteca especificada" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "&Mover" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "Copiar a la biblioteca especificada y borrar de la biblioteca actual" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "Copiar a la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "Copiar los libros seleccionados a la biblioteca especificada" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "(eliminar después de copiar)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "Elegir biblioteca según su ruta..." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "No se puede copiar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "No se puede copiar a la biblioteca actual." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "No se encuentra la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "No existe una biblioteca en %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "Copiando a" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "Moviendo a" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "%(num)d libros copiados a %(loc)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "%(num)d libros movidos a %(loc)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "No se pudo copiar estos libros: " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "Unido automáticamente" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " @@ -6694,7 +6822,7 @@ msgstr "" "está controlado por la opción «Unión automática» en Preferencias->Añadir " "libros." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -6715,6 +6843,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "¿Está seguro?" @@ -6795,11 +6924,11 @@ msgstr "" "El formato %(fmt)s se eliminará permanentemente de %(title)s. ¿Está " "seguro?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "Elija formatos a borrar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." @@ -6807,7 +6936,7 @@ msgstr "" "Elegir los formatos que no se borrarán.

Nunca se borrarán todos los " "formatos de un libro." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" @@ -6815,44 +6944,44 @@ msgstr "" "Se borrarán todos los formatos de los libros seleccionados de la " "biblioteca.
Los metadatos se conservarán. ¿Está seguro?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "No se pueden eliminar libros" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "No hay ningún dispositivo conectado" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "Memoria principal" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "Tarjeta de almacenamiento A" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "Tarjeta de almacenamiento B" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "No hay libros para eliminar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "Ninguno de los libros seleccionados está en el dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "Eliminando libros del dispositivo." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" @@ -6860,21 +6989,23 @@ msgstr "" "Algunos de los libros seleccionados están en el dispositivo conectado. ¿De " "dónde quiere borrar los libros seleccionados?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -"Los libros seleccionados serán borrados permanentemente y los " -"archivos eliminados de su biblioteca calibre. ¿Está seguro?" +"Los %d libros seleccionados serán borrados permanentemente y los " +"archivos eliminados de la biblioteca calibre. ¿Está seguro?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" -"Los libros seleccionados se borrarán permanentemente del dispositivo. " -"¿Está seguro?" +"Los %d libros seleccionados se borrarán permanentemente del " +"dispositivo. ¿Está seguro?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 msgid "Start wireless device connection" @@ -6951,12 +7082,12 @@ msgstr "" "dispositivos especiales, etc." #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "Deteniendo" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" "Deteniendo el servidor, esto puede llevar hasta un minuto, espere un " @@ -7045,8 +7176,8 @@ msgstr "Fallo al descargar metadatos" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "Descarga fallida" @@ -7089,7 +7220,7 @@ msgid "Download complete" msgstr "Descarga finalizada" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "Registro de descargas" @@ -7185,15 +7316,15 @@ msgstr "" "permanentemente de la biblioteca de calibre.

¿Está seguro de " "querer continuar?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "Aplicando los metadatos modificados" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "Algunos fallos" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -7302,17 +7433,32 @@ msgstr "Pulir %d libros" msgid "

About Polishing books

%s" msgstr "

Acerca de pulir libros

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" +"

Si tiene tanto EPUB como ORIGINAL_EPUB en un libro, la acción de pulir se " +"llevará a cabo sobre ORIGINAL_EPUB (igualmente sobre otros formatos " +"ORIGINAL_*). Si desea que esto no ocurra, borre el formato ORIGINAL_* antes " +"de pulir." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "

Reducir caracteres en los tipos de letra

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "

Corregir puntuación

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -7326,7 +7472,7 @@ msgstr "" "mayoría de formatos de libro electrónico no admiten todos los metadatos de " "calibre.

Hay una opción aparte para actualizar la portada.

" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " @@ -7336,173 +7482,187 @@ msgstr "" "en la biblioteca de calibre.

Se insertará una nueva portada el archivo " "no tiene una portada identificable.

" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "

Sobrecubierta de metadatos

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "

Eliminar sobrecubierta de metadatos

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "Seleccione acciones a realizar:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "&Reducir caracteres en todos los tipos de letra incrustados" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "Mejorar &puntuación" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "Actualizar &metadatos en los archivos del libro" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "Actualizar la &portada en los archivos del libros" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "Añadir metadatos como una página de «&sobrecubierta»" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "&Eliminar una sobrecubierta previamente insertada" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "Acerca de" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "Mostrar &informe" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" "Mostrar un informe de todas las acciones realizadas una vez finalizado el " "pulido" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "&Guardar configuración" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "&Cargar configuración" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "Seleccionar &todo" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "No seleccionar &nada" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "No hay acciones seleccionadas" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "Debe seleccionar al menos una acción antes de guardar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "Elegir un nombre" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "Elija un nombre para esta configuración" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "Eliminar configuraciones guardadas" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "Hay que actualizar los metadatos" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" +"Ha seleccionado la opción de añadir metadatos como «sobrecubierta». Para que " +"esta opción funcione, debe seleccionar también la opción de actualizar los " +"metadatos en los archivos del libro. ¿Quiere seleccionarla?" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "Debe seleccionar al menos una acción o pulsar «Cancelar»." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "Poniendo libros en cola para pulir" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "Pulir %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "Pulir libro %(nums)s de %(tot)s (%(title)s)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "Poniendo en cola libro %(nums)s de %(tot)s (%(title)s)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "Ignorar los %d informes restantes" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "Ver el ®istro completo" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "Pulido de %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "El archivo original se ha guardado como %s." msgstr[1] "Los archivos originales se han guardado como %s." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr " y " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "Si pule otra vez, la acción se ejecutará sobre los originales." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "Pulir libros" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "Aplicar el brillo de perfección a los libros" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "P" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "No se puede pulir" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " @@ -7511,7 +7671,7 @@ msgstr "" "Sólo se pueden pulir libros en los formatos %s. Convierta el libro a uno de " "esos formatos antes de pulir." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "Comenzar pulido de %d libro(s)" @@ -7631,7 +7791,7 @@ msgid "Click the show details button to see which ones." msgstr "Pulse el botón \"Mostrar detalles\" para ver cuáles." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "Mostrar detalles del libro" @@ -7741,7 +7901,7 @@ msgid "this book" msgstr "este libro" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "Buscar %s" @@ -7753,17 +7913,17 @@ msgstr "Librerías" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "Elegir librerías" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "No se puede buscar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." @@ -7771,7 +7931,7 @@ msgstr "" "Calibre le ayuda a encontrar los libros electrónicos que desea buscando en " "las páginas de diferentes fuentes de libros comerciales y de dominio público." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " @@ -7780,7 +7940,7 @@ msgstr "" "Si usa la búsqueda integrada podrá encontrar qué librería tiene el libro que " "busca al mejor precio. También sabrá si tiene DRM y otros detalles útiles." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -7796,11 +7956,11 @@ msgstr "" "su lector, particularmente si se trata de libros con DRM." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "Mostrar este mensaje nuevamente" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "Acerca de obtener libros" @@ -8096,7 +8256,7 @@ msgid "The specified directory could not be processed." msgstr "El directorio especificado no se puede procesar." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "Sin libros" @@ -8324,7 +8484,7 @@ msgid "Click to open" msgstr "Pulse para abrir" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "Id." @@ -8334,7 +8494,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "Libro %(sidx)s de %(series)s" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "Colecciones" @@ -8368,16 +8528,25 @@ msgstr "Ruta" msgid "Cover size: %(width)d x %(height)d" msgstr "Tamaño de portada: %(width)d × %(height)d" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "&Copiar enlace" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "Borrar el formato %s" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "Guardar el formato %s en el disco" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "Restaurar el formato %s" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "Opciones de BibTeX" @@ -8445,7 +8614,7 @@ msgstr "salida" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -8639,7 +8808,7 @@ msgstr "Sí" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "Nombre" @@ -9002,8 +9171,8 @@ msgid "Style the selected text block" msgstr "Asignar estilo al bloque de texto seleccionado" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "Normal" @@ -9980,7 +10149,7 @@ msgstr "&Sin imágenes" msgid "PDF Output" msgstr "Salida PDF" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " @@ -9990,52 +10159,56 @@ msgstr "" "si activa la casilla «Forzar». En caso contrario, se usará el tamaño " "definido por el perfil de salida." -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "&Reemplazar tamaño de página del perfil de salida" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "&Tamaño de página:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "Tamaño &personalizado:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "&Unidad:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "&Mantener las proporciones de la portada" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "Añadir &números de página al final de cada página." + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "Familia se&rif:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "Familia &sans-serif:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "Tipo de letra &monoespaciada:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "Tipo de letra es&tándar:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "&Tamaño de letra predeterminado:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -10047,14 +10220,34 @@ msgstr "&Tamaño de letra predeterminado:" msgid " px" msgstr " px" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "Tamaño de &letra monoespaciada:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" -msgstr "Añadir &números de página al final de cada página." +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "Cabeceras y pies de página" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" +"Puede insertar cabeceras y pies de página en todas las páginas del PDF " +"generado usando plantillas de cabecera y pie de página. Para ver ejemplos, " +"véase la documentación." + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "Plantilla de &cabecera:" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" +msgstr "Plantilla de &pie de página:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 msgid "PMLZ Output" @@ -10313,6 +10506,10 @@ msgstr "" "con el documento de entrada actual. Cuando esté satisfecho con una " "expresión, pulse el botón «Añadir» para añadirla a la lista de expresiones." +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "Restaurar valores &predeterminados" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "Convertir" @@ -10912,7 +11109,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "Se ha detectado el %s. ¿Quiere que calibre lo administre?" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "No hay formatos adecuados" @@ -10962,68 +11159,68 @@ msgstr "Dispositivo: " msgid " detected." msgstr " detectado." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "seleccionado para enviar" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "Sin dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "No hay ningún dispositivo conectado" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "%(num)i de %(total)i libros" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "0 de %i libros" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "Elija el formato a enviar al dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "No se pudo enviar: no hay ningún dispositivo conectado" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "Sin tarjeta" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "No se pudo enviar: el dispositivo no tiene tarjeta de memoria" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" "¿Convertir automáticamente los siguientes libros antes de pasarlos al " "dispositivo?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "Enviando catálogos al dispositivo." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "Enviando noticias al dispositivo." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "Enviando libros al dispositivo." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." @@ -11032,18 +11229,18 @@ msgstr "" "encontraron formatos adecuados. Convierta el(los) libro(s) a un formato " "reconocido por el dispositivo antes de volver a intentarlo." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "No hay espacio en el dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" "

No se pueden enviar los libros debido a que no hay suficiente espacio " "libre en el dispositivo " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "Destino incorrecto" @@ -11227,7 +11424,7 @@ msgstr "Mostrar información de dispositivo" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -11832,13 +12029,13 @@ msgid "Where do you want to delete from?" msgstr "¿De dónde quiere borrar?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "Biblioteca" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "Dispositivo" @@ -11874,8 +12071,8 @@ msgid "Location" msgstr "Ubicación" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -11894,13 +12091,13 @@ msgstr "%(curr)s (era %(initial)s)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "El elemento está en blanco" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "No puede establecerse un elemento en blanco. Bórrelo en su lugar." @@ -12008,7 +12205,7 @@ msgstr "Enlace" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "No se encontraron coincidencias" @@ -12056,12 +12253,12 @@ msgid "Copy to author" msgstr "Copiar en autor" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "Nombre de autor no válido" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "Los nombres de autor no pueden contener «&»." @@ -12163,40 +12360,40 @@ msgstr "Ocultar &todas las tareas" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "&Copiar al portapapeles" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "Mostrar &detalles" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "Ocultar &detalles" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "Mostrar información detallada sobre este error" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "Copiado" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "Ver registro" @@ -13163,6 +13360,7 @@ msgstr "Cancelando..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -13203,12 +13401,12 @@ msgstr "Ítems" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "Buscar" @@ -13870,12 +14068,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "El puerto debe ser un número entero entre 8000 y 32000." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "Problema al iniciar el dispositivo inalámbrico" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -13934,6 +14132,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "&Permitir conexiones automáticamente al inicio de calibre" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "Editoriales" @@ -13948,6 +14147,7 @@ msgstr "Nombre de búsqueda de la categoría: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "Nombre no válido" @@ -14876,7 +15076,7 @@ msgid "&Shortcut:" msgstr "&Acceso rápido:" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "Hecho" @@ -14923,7 +15123,7 @@ msgstr "Buscar un atajo por nombre" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "Sin coincidencias" @@ -14933,48 +15133,52 @@ msgstr "Sin coincidencias" msgid "Could not find any shortcuts matching %s" msgstr "No se encontró ningún atajo que coincida con %s" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "Desconectar este dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "Configurar este dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "Mostrar los libros en la biblioteca de calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "Mostrar los libros de la memoria principal del dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "Mostrar los libros de la tarjeta de memoria A" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "Mostrar los libros de la tarjeta de memoria B" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "Eliminar biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "disponible" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "Biblioteca virtual" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "Búsqueda avanzada" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "Mayús+Ctrl+F" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" @@ -14983,19 +15187,19 @@ msgstr "" "comentarios, etc.

Se buscan libros que contengan todas las palabras " "separadas por espacios" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "¡&Ya!" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "Realizar una Búsqueda rápida (también puede pulsar la tecla Intro)" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "Reiniciar la búsqueda rápida" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "Copiar el texto de búsqueda actual (en vez del nombre de búsqueda)" @@ -15008,32 +15212,32 @@ msgstr "estrellas" msgid "Y" msgstr "S" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "En el dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "Tamaño (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "Modificado" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "El nombre de búsqueda es «{0}»" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "El UUID de este libro es «{0}»" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -15044,32 +15248,32 @@ msgstr "" "No se pudo cambiar la ubicación en el disco de este libro. Quizá esté " "abierto en otro programa." -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "No se pudieron establecerlos datos" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" "No se pudieron establecer los datos, pulse «Mostrar detalles» para ver por " "qué" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "En la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "Tamaño" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "Marcado para borrarlo" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "Pulse dos veces para editarme

" @@ -15176,7 +15380,7 @@ msgid "Previous Page" msgstr "Página anterior" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -15718,7 +15922,7 @@ msgid "Edit Metadata" msgstr "Modificar metadatos" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -15874,15 +16078,15 @@ msgstr "Co&mentarios" msgid "Basic metadata" msgstr "Metadatos básicos" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "Tiene portada" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "Tiene resumen" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -15894,29 +16098,29 @@ msgstr "" "se encontrará una en la fase de descargar portadas, o\n" "al contrario." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "Vea en" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "calibre está descargando metadatos desde: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "Espere" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "Consulta: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" "No se pudieron descargar los metadatos. Pulse «Mostrar detalles» para más " "información" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -15928,42 +16132,48 @@ msgstr "" "apellido del autor y una sola palabra del título.

Para ver el registro " "completo, pulse «Mostrar detalles»." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "Portada actual" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "Buscando..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "Ver esta portada a tamaño completo" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "Descargando portadas para %s, espere..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" "No se pudo descargar ninguna portada, pulse en «Mostrar detalles» para más " "información." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "No se encontró ninguna portada para %s" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -"Se encontraron %(num)d portadas para %(title)s. Escoja la que más le " -"guste." +"Se encontraron %(num)d posibles portadas para %(title)s. Cuando " +"finalice la descarga, las portadas se ordenarán por tamaño." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "Descargando metadatos..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "Descargando portada..." @@ -16148,9 +16358,11 @@ msgid "The Add &Process" msgstr "&Proceso de adición" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" -"Al añadir automáticamente, ignorar archivos con las siguientes extensiones " +"Al añadir automáticamente, ignorar archivos con las siguientes " +"extensiones " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 msgid "" @@ -16200,34 +16412,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "&Adición automática" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "Alta" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "Baja" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "Muy baja" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "Metadatos compactos" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "Predeterminado" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "Todo en una pestaña" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "Los diálogos de confirmación se han restablecido" @@ -16284,18 +16496,19 @@ msgid "Job &priority:" msgstr "&Prioridad de tareas:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" -msgstr "Restricción que se aplicará cuando se abre la biblioteca actual:" +msgid "Virtual library to apply when the current library is opened:" +msgstr "" +"Biblioteca virtual que se aplicará cuando se abre la biblioteca actual:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" -"Aplicar esta restricción al iniciar calibre si se está usando la biblioteca " -"actual. También se aplica cuando se selecciona esta biblioteca. Tenga en " -"cuenta que esta configuración es individual para cada biblioteca. " +"Usar esta biblioteca virtual al iniciar calibre si la biblioteca actual está " +"en uso. También se aplica al cambiar a esta biblioteca. Tenga en cuenta que " +"esta opción es independiente para cada biblioteca " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170 msgid "Edit metadata (single) layout:" @@ -17335,10 +17548,6 @@ msgstr "Apagado" msgid "Small" msgstr "Pequeño" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "Grande" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "Medio" @@ -17356,7 +17565,7 @@ msgid "Never" msgstr "Nunca" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "Por la primera letra" @@ -18512,20 +18721,20 @@ msgstr "" "dispositivos individuales configurando los complementos de interfaz de " "dispositivo en Preferencias->Complementos" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "Fallo al iniciar el servidor de contenidos" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "Registro de errores:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "Registro de accesos:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "Debe reiniciar el servidor para que los cambios tengan efecto" @@ -18565,23 +18774,22 @@ msgid "Max. &OPDS items per query:" msgstr "Número máximo de elementos &OPDS por consulta:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" -msgstr "&Máximo número de elementos OPDS sin agrupar:" +msgid "Max. &ungrouped items:" +msgstr "Máximo número de elementos sin &agrupar:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" -msgstr "Restricción (búsqueda guardada) para aplicar:" +msgid "Virtual library to apply:" +msgstr "Bibliotea virtual para aplicar:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" -"Esta restricción (basada en una búsqueda guardada) hace que el servidor de " -"contenidos muestre únicamente los libros seleccionados para la búsqueda. " -"Esta configuración es independiente para cada biblioteca, es decir, puede " -"tener una restricción distinta para cada biblioteca." +"Al establecer una biblioteca virtual se restringirán los libros que puede " +"ofrecer el servidor de contenido. Esta opción es independiente (puede tener " +"un valor diferente) para cada biblioteca." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 msgid "" @@ -19043,41 +19251,51 @@ msgstr "Restablecer valores por &defecto" msgid "Apply any changes you made to this tweak" msgstr "Aplicar los cambios realizados a este ajuste" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" +msgstr "Crear búsqueda guardada" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" +msgstr "No hay búsqueda para guardar" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 msgid "Delete current search" msgstr "Borrar búsqueda actual" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 msgid "No search is selected" msgstr "No hay ninguna búsqueda seleccionada" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" "La búsqueda seleccionada será borrada permanentemente. ¿Está seguro?" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "Buscar (Para búsqueda avanzada, pulse el botón de la izquierda)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "Iniciar búsqueda" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "Activar o desactivar el resaltado de las búsquedas" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "Búsquedas guardadas" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" "Elija una búsqueda guardada o asigne un nombre para guardar la nueva búsqueda" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." @@ -19085,47 +19303,208 @@ msgstr "" "Guarda la búsqueda actual con el nombre que se muestra en el cuadro. " "Mantenga el botón pulsado para obtener un menú emergente de opciones." -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "Crear búsqueda guardada" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "Borrar búsqueda guardada" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "Administrar búsquedas guardadas" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" -msgstr "*Búsqueda actual" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" +msgstr "Crear una biblioteca virtual basada en %s" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" -msgstr "Restringir a" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" +msgstr "Escoger todos los nombres de %s seleccionados" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "Editar biblioteca virtual" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "Crear biblioteca virtual" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "&Nombre de la biblioteca virtual:" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "Expresión de &búsqueda:" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "Crear biblioteca virtual basada en: " + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" +"\n" +"

Bibliotecas virtuales

\n" +"\n" +"

Mediante el uso de bibliotecas virtuales puede hacerque calibre " +"muestre sólo los libros que coincidan con una búsqueda. Cuando una " +"biblioteca virtual está activa, calibre se comporta como si la biblioteca " +"contuviera sólo los libros seleccionados. El explorador de etiquetas muestra " +"sólo las etiquetas, autores, series, etc. presentes en los libros " +"seleccionades y cualquier búsqueda realizada se aplica únicamente a los " +"libros en la biblioteca virtual. Se trata de una buena manera de dividir una " +"biblioteca grande en subconjuntos menores y más fáciles de manejar.

\n" +"\n" +"

Por ejemplo, puede usar una biblioteca virtual para mostrar sólo los " +"libros con la etiqueta «No leído», o sólo los libros de «mi autor " +"preferido», o sólo los libros de una serie concreta.

\n" +" " + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "Búsquedas guardadas reconocidas en la expresión:" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "El texto de búsqueda ha cambiado" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" +"El nombre de la biblioteca virtual o el texto de búsqueda han cambiado. " +"¿Quiere descartar esto cambios?" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "Sin nombre" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "Debe indicar un nombre para la nueva biblioteca virtual" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "El nombre de una biblioteca virtual no puede empezar por \"*\"" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "El nombre ya está en uso" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" +"Ese nombre ya está en uso. ¿Quiere sustituirlo por la nueva búsqueda?" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "No hay texto de búsqueda" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "Debe indicar una búsqueda para definir la nueva biblioteca virtual" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "Búsqueda no válida" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "La búsqueda en el cuadro de búsqueda no es válida" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "La búsqueda no encontró ningún libro" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" +"La búsqueda no encontró ningún libro, por lo que la biblioteca virtual " +"estará vacía. ¿Realmente quiere usar esta búsqueda?" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" +"Usar una «biblioteca virtual» para mostrar sólo un subconjunto de los libros " +"existentes en esta biblioteca" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "(todos los libros)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" -msgstr "" -"Se mostrarán sólo los libros que coincidan con la búsqueda guardada " -"seleccionada" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" +msgstr "Restricción adicional" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " -msgstr " o la búsqueda " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" +msgstr "Modificar biblioteca virtual" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "Eliminar biblioteca virtual" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "Crear biblioteca virtual" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "*búsqueda actual" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "Ninguna búsqueda" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "No hay ninguna búsqueda actual para usar" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "¿Está seguro de querer eliminar la biblioteca virtual {0}?" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "({0} de {1})" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "({0} de todos)" @@ -19426,32 +19805,32 @@ msgstr "Descargar..." msgid "Goto in store..." msgstr "Ir a la librería..." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "Al comprar en esta librería apoya al programador de calibre: %s.

" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "No hay consulta" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "Debe introducir un título, autor o palabra clave para buscar." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "Personalizar búsqueda de libros" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "Configurar búsqueda" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "No se pudo encontrar ningún libro que satisfaga las condiciones." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "Elija un formato para descargar a la biblioteca." @@ -19576,48 +19955,48 @@ msgstr "Recargar" msgid "%p%" msgstr "%p%" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "El nombre del término agrupado de búsqueda es «{0}»" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" "Cambiar los autores de varios libros puede tardar un rato. ¿Está seguro?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" "Cambiar los metadatos de muchos libros puede tardar un rato. ¿Está seguro?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "Búsquedas" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "Renombrar categoría de usuario" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "No puede usar puntos en el nombre de las categorías de usuario" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "El nombre %s ya está en uso" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "Nombre de búsqueda duplicado" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "El nombre guardado buscado %s está en uso." @@ -19639,13 +20018,13 @@ msgid "Manage Tags" msgstr "Administrar etiquetas" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "Administrar categorías de usuario" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "Administrar búsquedas guardadas" @@ -19746,7 +20125,7 @@ msgid "Alter Tag Browser" msgstr "Modificar el explorador de etiquetas" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "Ordenar por" @@ -19789,138 +20168,138 @@ msgstr "" "Todos estos administradores de categorías están disponibles pulsando con el " "botón derecho sobre los elementos del explorador de etiquetas" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "Cambiar icono para: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "Renombrar %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "Eliminar %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "Modificar orden para %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "Modificar enlace para %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "Añadir %s a la categoría de usuario" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "Subcategorías de %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "Borrar la búsqueda %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "Eliminar %(item)s de la categoría %(cat)s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "Buscar todo menos %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "Añadir una subcategoría a %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "Eliminar la categoría de usuario %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "Ocultar categoría %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "Mostrar categoría" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "Buscar libros en la categoría %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "Buscar libros que no están en la categoría %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "Administrar %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "Cambiar icono de categoría" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "Restaurar icono predeterminado" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "Ver todas las categorias" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "Cambiar el método de división de categorías" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "Desactivar" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "Partición" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "La primera letra sólo puede usarse cuando se ordena por nombre" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "Seleccione un destino para la entrada del Índice" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "Buscar texto..." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "Buscar &siguiente" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "Buscar &anterior" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -19938,25 +20317,25 @@ msgstr "" "aparecerá una línea verde gruesa que indica la ubicación exacta que se " "seleccionará cuando pulse el botón." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "&Nombre de la entrada del Índice:" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "Destino actualmente seleccionado:" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "No se encontró ninguna coincidencia" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "No se encontró ninguna coincidencia para: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " @@ -19965,31 +20344,31 @@ msgstr "" "No se encontraron coincidencias para %(text)s en el archivo actual " "[%(current)s]. ¿Quiere buscar en el archivo %(which)s [%(next)s]?" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "siguiente" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "anterior" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "Archivo:" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "Principio del archivo" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "Aproximadamente %d%% desde el principio" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "Posición: Una etiqueta <%s> dentro del archivo" @@ -20034,7 +20413,7 @@ msgstr "No se ha introducido ninguna expresión XPath" msgid "The XPath expression %s is not valid." msgstr "La expresión XPath %s no es válida." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." @@ -20042,7 +20421,7 @@ msgstr "" "Puede modificar las entradas del Índice pulsando sobre ellas en el panel de " "la izquierda." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " @@ -20052,15 +20431,15 @@ msgstr "" "que existen. Las entradas con un punto rojo están rotas y puede que deban " "corregirse." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "Crear una &nueva entrada" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "Generar Índice a partir de los encabezamientos más &importantes" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " @@ -20070,11 +20449,11 @@ msgstr "" "Esto funcionará si el libro identifica los encabezamientos con las etiquetas " "de encabezamiento HTML. Usa las etiquetas

,

y

." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "Generar Índice a partir de &todos los encabezamientos" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " @@ -20084,11 +20463,11 @@ msgstr "" "funcionará si el libro identifica los encabezamientos con las etiquetas de " "encabezamiento HTML. Usa las etiquetas ." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "Generar Índice a partir de &enlaces" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " @@ -20098,23 +20477,37 @@ msgstr "" "apuntan a destinos que no existen no se tienen en cuenta, así como múltiples " "enlaces con el mismo destino o el mismo texto." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" +msgstr "Generar Índice a partir de &archivos" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." +msgstr "" +"Generar un Índice a partir de los archivos individuales en el libro. Cada " +"entrada del Índice apuntará al inicio de un archivo, el texto de la entrada " +"será la «primera línea» de texto del archivo." + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 msgid "Generate ToC from &XPath" msgstr "Generar Índice a partir de &XPath" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 msgid "Generate a Table of Contents from arbitrary XPath expressions." msgstr "Generar un Índice a partir de expresiones XPath arbitrarias." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" -msgstr "Aplanar el Índice" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "&Aplanar Índice" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "Aplanar el Índice, dejando todas las entradas al mismo nivel" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -20126,7 +20519,7 @@ msgstr "" "posterior a la entrada previa. Si crea un Índice no lineal, se reordenará " "automáticamente en el archivo AZW3." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" @@ -20134,82 +20527,123 @@ msgstr "" "Puede mover esta entrada en el Índice arrastrándola o usando los botones " "arriba y abajo de la izquierda" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "Cambiar la &posición a la que apunta esta entrada" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "&Eliminar esta entrada" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "Nueva entrada &dentro de esta entrada" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "Nueva entrada &sobre esta entrada" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "Nueva entrada &bajo esta entrada" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "&Aplanar esta entrada" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" "Todos los descendientes de esta entrada se pondrán al mismo nivel que esta " "entrada." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "&Volver a la pantalla de bienvenida" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "Volver a la vista de nivel superior" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "Esta entrada apunta a una posición existente" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "La posición a la que apunta esta entrada no existe" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" -msgstr "Mover la entrada actual hacia arriba" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" +msgstr "Mover «%s» hacia arriba" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "Mover «%s» hacia abajo" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "Eliminar todos los elementos seleccionados" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "Quitar sangría de «%s»" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "Sangrar «%s»" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "Cambiar la ubicación a la que apunta esta entrada" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" +"Poner mayúscula inicial en cada palabra de los elementos seleccionados" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "Mover la entrada actual hacia arriba [Crtl+Arriba]" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "Quitar sangría de la entrada actual [Ctrl+Izquierda]" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "Eliminar todas las entradas seleccionadas" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" -msgstr "Mover la entrada actual hacia abajo" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" +msgstr "Sangrar la entrada actual [Ctrl+Derecha]" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "Mover la entrada actual hacia abajo [Ctrl+Abajo]" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "&Expandir todo" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "&Contraer todo" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "Pulse dos veces sobre una entrada para cambiar el texto" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "Título: {0} DestEl registro se " "mostrará automáticamente." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "No se pudo iniciar el servidor de contenidos" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -20410,16 +20849,16 @@ msgstr "" "calibre intente reconstruirla automáticamente? La reconstrucción puede no " "completarse correctamente." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "Error de conversión" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "

Error al convertir: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -20454,23 +20893,23 @@ msgstr "" "su lector puede tener dificultades con el EPUB resultante.\n" " " -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "Conversión fallida" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "Fórmula desactivada" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "Fallo" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" -msgstr "Hay tareas activas. ¿Está seguro de que quiere salir?" +msgstr "Hay tareas activas. ¿Está seguro de querer salir?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" @@ -20481,11 +20920,11 @@ msgstr "" "de datos en el dispositivo.
\n" " ¿Está seguro de que desea salir?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "Tareas activas" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -21059,29 +21498,29 @@ msgstr "Tamaño de letra predeterminado" msgid "S&earch Google for '%s'" msgstr "B&uscar «%s» en Google" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "A&cercar" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "A&lejar" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "&Guardar como" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "&Rotar" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "Elija un archivo donde guardar" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "Ver imagen: %s" @@ -22585,8 +23024,8 @@ msgstr "" "consulta de búsqueda acuda a la documentación relacionada con la búsqueda en " "el Manual de usuario. De manera predeterminada no se realiza el filtrado." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." @@ -22594,12 +23033,12 @@ msgstr "" "La longitud máxima de las líneas en el archivo de salida. De manera " "predeterminada se toma la anchura de la pantalla." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" "El texto usado para separar campos. El valor predeterminado es un espacio." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." @@ -22607,15 +23046,15 @@ msgstr "" "El prefijo para todas las rutas de archivo. El valor predeterminado es la " "ruta absoluta de la carpeta de la biblioteca." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "Campos no válidos. Campos disponibles:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "Campo de ordenación no válido. Campos disponibles:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" @@ -22623,13 +23062,13 @@ msgstr "" "Los siguientes libros no se han añadido porque ya existen en la base de " "datos (ver la opción --duplicates)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "ID de libros añadidos: %s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -22643,7 +23082,7 @@ msgstr "" "especificarse\n" "directorios, ver las opciones relativas a directorios más abajo.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" @@ -22651,11 +23090,11 @@ msgstr "" "Asumir que cada directorio tiene un solo libro y que todos los archivos del " "directorio son diferentes formatos del mismo libro" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "Procesar directorios recursivamente" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." @@ -22663,43 +23102,43 @@ msgstr "" "Añadir los libros a la base de datos aunque ya existan. La comparación se " "realiza sobre el título de los libros." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "Añadir libro en blanco (sin formato)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "Establece el título de los libros añadidos" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "Establece el autor de los libros añadidos" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "Establece el ISBN de los libros añadidos" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "Establece las etiquetas de los libros añadidos" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "Establece la serie de los libros añadidos" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "Establece el número de la serie de los libros añadidos" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "Ruta de la portada para usar para el libro añadido" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "Debe especificar al menos un archivo para añadir" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -22717,33 +23156,44 @@ msgstr "" "(al especificar un intervalo, el último número del intervalo no está " "incluido).\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "Debe especificar al menos un libro para eliminar" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "Ya existe un archivo %s para el libro: %d, no se sustituirá" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" "%prog add_format [opciones] ID archivo_libro\n" "\n" "Añadir el libro electrónico archivo_libro a los formatos disponibles para el " "libro identificado por ID. Se puede obtener el ID usando la orden «list». Si " -"el formato ya existe, será reemplazado por el nuevo.\n" +"el formato ya existe, será sustituido por el nuevo, a no ser que se use la " +"opción de no sustituir." #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "No sustituir el formato si ya existe" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "Debe especificar un ID y un archivo de libro electrónico" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "El archivo de libro electrónico debe tener una extensión" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -22759,11 +23209,11 @@ msgstr "" "ID usando la orden «list». fmt debe ser una extensión de archivo como LRF, " "TXT o EPUB. Si el libro no tiene el formato fmt disponible, no hace nada.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "Debe especificar un ID y un formato" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -22779,15 +23229,15 @@ msgstr "" "libro identificado por ID.\n" "ID es un identificador de la orden «list».\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "Imprimir los metadatos en formato OPF (XML)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "Debe especificar un ID" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -22812,7 +23262,7 @@ msgstr "" "«show_metadata». También puede asignar metadatos a campos individuales\n" "con la opción --field.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -22829,42 +23279,42 @@ msgstr "" "identificadores, la sintaxis es {0} {2}. Para campos booleanos sí/no, use " "los valores «true» y «false» o «yes» y «no»." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" "Lista los nombres de campo de metadatos que pueden usarse con la opción --" "field" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "Nombre del campo" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "Debe especificar un ID de registro como primer argumento" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "Debe especificar un campo o un archivo opf" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "No hay ningún libro con ID: %s en la base de datos" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "El archivo OPF %s no existe" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "%s no es un campo conocido" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -22883,30 +23333,30 @@ msgstr "" "y metadatos (en un archivo OPF). Se pueden obtener los números ID con la " "orden «list».\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" "Exportar todos los libros de la base de datos, ignorando el listado de ID." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" "Exportar los libros al directorio especificado. El valor predeterminado es" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "Exportar todos los libros en un solo directorio" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "Si se especifica esta opción, se desactiva este comportamiento." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "Debe especificar algún ID o la opción %s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -22922,7 +23372,7 @@ msgstr "" "columna. No debe contener espacios ni dos puntos. «nombre» es el nombre " "visible de la columna. «tipo_de_dato» es uno de: {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." @@ -22930,7 +23380,7 @@ msgstr "" "Esta columna almacena datos de etiquetas (valores separados por comas). Sólo " "se aplica si el tipo de dato es texto." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -22968,11 +23418,11 @@ msgstr "" "texto en formato JSON para la variable «display» de la nueva columna en el " "archivo OPF." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "Debe especificar una etiqueta, nombre y tipo de dato" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -22991,7 +23441,7 @@ msgstr "" "catálogo generado.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" @@ -23002,7 +23452,7 @@ msgstr "" "Si se declara, no se usará --search.\n" "Valor predeterminado: todos" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" @@ -23012,16 +23462,16 @@ msgstr "" "véase la documentación relativa a búsquedas en el Manual de usuario.\n" "Valor predeterminado: sin filtrado" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "Mostrar información de salida detallada. Útil para la depuración" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "Error: Debe especificar un archivo de salida para el catálogo" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -23042,7 +23492,7 @@ msgstr "" "orden «custom_columns».\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." @@ -23050,11 +23500,11 @@ msgstr "" "Si la columna almacena valores múltiples, agrega los valores especificados a " "los existentes en lugar de reemplazarlos." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "Error: Debe especificar un nombre de campo, ID y valor" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -23069,20 +23519,20 @@ msgstr "" "etiquetas de columna e ID.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "Mostrar detalles de cada columna." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "Se perderán todos los datos de la columna: %s. ¿Está seguro (s/n)? " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " @@ -23092,7 +23542,7 @@ msgstr "" "columna, no los títulos. Use «calibredb custom_columns» para obtener una " "lista de etiquetas." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -23108,15 +23558,15 @@ msgstr "" " las columnas disponibles con la orden «custom_columns».\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "No pedir confirmación" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "Error: Debe especificar una etiqueta para la columna" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -23138,41 +23588,41 @@ msgstr "" " reemplazada.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "Error: Debe especificar una acción (add|remove|list)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "Nombre:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "Texto de búsqueda:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "Error: Debe especificar un nombre y el texto de búsqueda" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "añadido" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "Error: Debe especificar un nombre" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "eliminada" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" "Error: La acción %s no se reconoce, debe ser una de: (add|remove|list)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -23196,7 +23646,7 @@ msgstr "" "Tenga en cuenta que normalmente no hay necesidad de hacer esto, pues\n" "los ficheros OPF se actualizan cada vez que se modifican los metadatos.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." @@ -23204,7 +23654,7 @@ msgstr "" "Normalmente, esta orden sólo actúa sobre libros que tienen ficheros OPF " "desactualizados. Esta opción hace que actúe sobre todos los libros." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -23216,12 +23666,12 @@ msgstr "" "Realiza algunas comprobaciones en el sistema de archivos que contiene la " "biblioteca. El resultado es {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "Salida a formato CSV" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" @@ -23229,7 +23679,7 @@ msgstr "" "Lista de resultados separados por comas\n" "Valor predeterminado: all" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" @@ -23237,7 +23687,7 @@ msgstr "" "Lista de extensiones que se ignorarán separadas por comas.\n" "Valor predeterminado: all" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" @@ -23245,11 +23695,11 @@ msgstr "" "Lista de nombres que se ignorarán separados por comas.\n" "Valor predeterminado: all" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "Informe de verificación desconocido" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -23277,7 +23727,7 @@ msgstr "" "recuperados serán tan precisos como lo sean los archivos OPF.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." @@ -23285,12 +23735,12 @@ msgstr "" "Llevar a cabo la recuperación. La orden no se ejecutará a menos que se " "especifique esta opción." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "Debe proporcionar la opción %s para hacer una recuperación" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -23302,7 +23752,7 @@ msgstr "" "Genera un informe de la información de la categoría en la base de datos. La\n" "información es el equivalente a lo que se muestra en el panel de etiquetas.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" @@ -23310,7 +23760,7 @@ msgstr "" "Generar en la salida sólo el número de elementos en una categoría en lugar " "de las veces que aparece por elemento en la categoría" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." @@ -23318,7 +23768,7 @@ msgstr "" "El carácter que se pondrá alrededor del valor de la categoría en modo CSV. " "El valor predeterminado son las comillas ('')." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" @@ -23326,17 +23776,17 @@ msgstr "" "Lista de los nombres de búsqueda de las categorías, separados por comas.\n" "Valor predeterminado: todas" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" "El texto que se usará para separar los campos en el modo CSV. El valor " "predeterminado es una coma." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "ELEMENTOS DE CATEGORÍAS" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -23370,33 +23820,24 @@ msgstr "" "La etiqueta debe contener sólo letras minúsculas, dígitos y guión bajo, y " "empezar por una letra" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "preferencia restaurada " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "creando columna personalizada " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr " (%s libros)" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" "

Migrando la base de datos antigua a la biblioteca de libros electrónicos " "en %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "Copiando %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "Compactando la base de datos" @@ -23687,20 +24128,20 @@ msgstr "" "este servidor desde Apache, nginx, etc." #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "Todos los libros" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "Más reciente" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "Cargando, espere" @@ -23723,7 +24164,7 @@ msgid "Browsing %d books" msgstr "Explorando %d libros" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "Valoración media" @@ -23732,98 +24173,98 @@ msgstr "Valoración media" msgid "%(prefix)s: %(rating).1f stars" msgstr "%(prefix)s: %(rating).1f estrellas" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "%d estrellas" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "Popularidad" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "biblioteca" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "inicio" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "Libro aleatorio" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "Explorar libros por" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "Elija una categoría para explorar:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "Explorando por" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "Arriba" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "en" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "Libros en" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "Otros formatos" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "Leer %(title)s en el formato %(fmt)s" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "Obtener" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "Detalles" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "Enlace permanente" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "Un enlace permanente a este libro" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "Este libro ha sido eliminado" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "Elegir otro libro al azar" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "Otro libro al azar" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "en búsqueda" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "Libros coincidentes" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -23847,26 +24288,30 @@ msgstr "" "\n" "La interfaz OPDS se visualiza a través de BonJour automáticamente.\n" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" "Ruta a la carpeta de biblioteca que se utilizará con el servidor de " "contenidos" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "Escribir en PID del proceso en el archivo especificado" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -"Especifica una restricción para usar con esta invocación. Esta opción tiene " -"prioridad sobre cualquier configuración para cada biblioteca especificada en " -"la interfaz gráfica." +"Especificar la biblioteca virtual para usar con esta invocación. Esta opción " +"tiene prioridad sobre cualquier configuración de la biblioteca especificada " +"en la interfaz gráfica. Por razones de compatibilidad, si el valor no " +"corresponde a una biblioteca virtual pero sí a una búsqueda guardada, se " +"usará la búsqueda guardada." -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -25162,10 +25607,6 @@ msgstr "a. m." msgid "pm" msgstr "p. m." -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "&Copiar" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "Seleccionar todo" @@ -25267,6 +25708,32 @@ msgstr "El código se está ejecutando" msgid "Restart console" msgstr "Reiniciar consola" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "Caracteres adicionales al final de la búsqueda" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "falta un )" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "Sintaxis no válida. Se esperaba un nombre de búsqueda o una palabra" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" +"No se pudo procesar la consulta, se alcanzó el límite de recurrencia: %s" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "Búsqueda guardada recursiva: {0}" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "Error desconocido en la búsqueda guardada: {0}" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "El URL debe tener el esquema sftp" @@ -25315,101 +25782,101 @@ msgstr "No se pudo descargar %s" msgid "The \"%s\" recipe needs a username and password." msgstr "La fórmula «%s» necesita usuario y contraseña." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "Descarga finalizada" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "Fallo al descargar los siguientes artículos:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "Fallo al descargar partes de los siguientes artículos:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr " desde " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "\tEnlaces fallidos:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "No se ha podido obtener el artículo." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "El rastreo de depuración aparece más arriba en este registro" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "Ejecutar con el parámetro -vv para ver el motivo" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "Obteniendo canales de noticias..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "Se obtuvieron canales de noticias desde la página principal" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "Intentando descargar la portada..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "Generando cabecera..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "Iniciando la descarga [%d proceso(s)]..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "Canales de noticias descargados en %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "No se pudo descargar la portada: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "Descargando portada desde %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "Imagen de cabecera descargada" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "Artículos en este ejemplar: " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "Artículo sin título" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "Artículo descargado: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "Falló la descarga del artículo: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "Obteniendo canal de noticias" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 msgid "" "Failed to log in, check your username and password for the calibre " "Periodicals service." @@ -25417,7 +25884,7 @@ msgstr "" "No se pudo ingresar, revise su nombre de usuario o contraseña para el " "Servicio de publicaciones periódicas de calibre." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -25771,14 +26238,14 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" "De manera predeterminada, calibre divide un texto que contiene múltiples\n" "autores en los caracteres «&» y en las palabras «and» y «with». Puede\n" "personalizar cómo se hace la división cambiando la expresión regular de\n" "más abajo. Los textos se dividen en cualquier posición que coincida con la\n" -"expresión.\n" +"expresión, además de «&».\n" "Valor predeterminado: r'(?i),?\\s+(and|with)\\s+'" #: /home/kovid/work/calibre/resources/default_tweaks.py:85 diff --git a/src/calibre/translations/et.po b/src/calibre/translations/et.po index 9bac16d687..bb46c1f056 100644 --- a/src/calibre/translations/et.po +++ b/src/calibre/translations/et.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2013-01-20 22:03+0000\n" "Last-Translator: Vapsik \n" "Language-Team: Estonian \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:11+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:26+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "Ei tee midagi" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "Ei tee midagi" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "Ei tee midagi" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "Ei tee midagi" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "Ei tee midagi" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "Ei tee midagi" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "Ei tee midagi" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -330,73 +330,73 @@ msgstr "Loo meta-andmed %s failidesse" msgid "Set metadata from %s files" msgstr "Loo meta-andmed %s failidest" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "Lisa raamatuid calibresse või ühendatud seadmesse" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "Tõmba sisukokkuvõtted ühendatud Kindlest (eksperimentaalne)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "Loo calibre raamatukogust kataloog" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "Teisenda raamatud erinevatesse e-raamatu formaatidesse" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "Kustuta raamatud calibre kogust või ühendatud seadmest" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "Muuda calibre kogu raamatute andmeid" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "Loe raamatuid calibre kogust" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "Lae alla uudised e-raamatu formaadis" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Näita kiiresti seotud raamatute nimekirja" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "Ekspordi raamatud calibre kogust kõvakettale" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "Näita raamatu üksikasju eraldi hüpikaknas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "Taaskäivita calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "Ava kaust, kus asuvad calibre kogu raamatud" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "Saada raamatud ühendatud seadmesse" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" @@ -404,42 +404,42 @@ msgstr "" "Saada raamatud e-kirja või veebi vahendusel, ühendu iTunes-iga või vastava " "kaustaga kui seade on kaustana arvuti külge haagitud" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "Sirvi calibre kasutusjuhendit" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "Seadista calibret" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "Leia hetkel valituga sarnaseid raamatuid" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "Lülitu erinevate calibre raamatukogude vahel ja halda neid" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "Kopeeri raamatuid oma seadmest calibre kogusse" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "Halda neid kogusid, millistest on raamatud pandud sinu seadmesse" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "Kopeeri raamat ühest calibre kogust teise" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" "Tee väikseid kohendusi epub´i või htmlz failidele oma calibre raamatukogus" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" @@ -447,56 +447,56 @@ msgstr "" "Leia eelmine või järgmine tulemus, kui teed calibre kogus valikrežiimis " "otsingut" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "Võta calibre kogust juhuslik raamat" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "Otsi raamatuid erinevatelt müüjatelt" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "Hangi uusi calibre pistikprogramme või uuenda olemasolevaid" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Välimus ja mulje" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Kasutajaliides" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "Kohanda calibre liidese välimust oma maitse järgi" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "Käitumine" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "Muuda calibre käitumist" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Lisa enda veergusid" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "Lisa/eemalda veergusid calibre raamatunimekirjast" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Tööriistariba" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -504,65 +504,65 @@ msgstr "" "Kohanda tööriistaribasid ja nendega seonduvaid menüüsid valides neisse " "võimalikke tegevusi" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "Otsin" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "Kohanda viisi, kuidas raamatute otsimine calibres toimub" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "Sisendisuvandid" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Teisendamine" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "Seadista teisendussuvandeid vastavalt igale sisendformaadile" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Üldine häälestus" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "Seadista kõigile formaatidele ühiseid teisendussuvandeid" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "Väljundi sätted" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "Seadista igale fomaadile eriomaseid teisendussuvandeid" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "Raamatute lisamine" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "Import/eksport" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Kontrolli kuidas calibre käsitleb raamatute lisamisel failide meta-andmeid" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "Raamatute salvestamine kettale" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -570,50 +570,50 @@ msgstr "" "Kontrolli, kuidas calibre ekspordib faile andmebaasist kettale kasutades " "\"Salvesta kettale\"" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "Raamatute saatmine seadmesse" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "Kontrolli kuidas calibre edastab faile sinu e-lugerile" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "Metaandmete sisselülitamistahvel" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "Muuda meta-andmeid enne salvestamist/edastamist" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "Malli funktsioonid" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "Täpsemad" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "Loo enda malli funktsioonid" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "Raamatute jagamine e-posti teel" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "Jagamine" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -621,11 +621,11 @@ msgstr "" "Seadista raamatute jagamine e-posti teel. Seda võib kasutada, kui on soov " "saata automaatselt allalaetud uudiseid oma seadmesse" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "Jagamine üle võrgu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -633,56 +633,56 @@ msgstr "" "Kohanda calibre Sisuserverit, mis võimaldab sul ligi pääseda oma " "raamatukokku igalt poolt, igalt seadmelt üle interneti" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "Meta-andmete allalaadimine" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "Halda e-raamatute metaandmete allalaadimisviisi internetist" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "Eiratud seaded" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "Kontrolli, milliseid seadeid ühendades arvuti neid eirab" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Pluginad" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Lisa/eemalda/seadista calibre funktsionaalsuse osasid" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "Täpsemad seadistused" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "Seadista calibre käitumist erinevates olukordades" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "Klaviatuur" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "Seadista calibres kasutatavaid kiirvaliku klahve" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Muu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "Muud täiustatud seadistused" @@ -972,8 +972,8 @@ msgstr "Luba nimega pistikprogrammid" msgid "Disable the named plugin" msgstr "Keela nimega pistikprogrammid" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -984,11 +984,22 @@ msgid "Path to library too long. Must be less than %d characters." msgstr "" "Sihtkoht raamatukokku on liiga pikk. Peab olema väiksem kui %d tähemärki." -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -1000,26 +1011,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "Peamine" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "Kaart A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "Kaart B" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1032,11 +1043,11 @@ msgstr "Kaart B" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" @@ -1044,14 +1055,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1059,7 +1070,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1067,45 +1078,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1133,23 +1169,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "Suhtle Androidi telefonidega" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "Suhtle S60 telefonidega." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "Suhtle WebOS tahvelarvutitega." @@ -1272,8 +1308,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "" @@ -1321,10 +1357,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1365,6 +1401,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1683,17 +1720,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1701,12 +1738,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1714,7 +1751,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1726,7 +1763,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1739,10 +1776,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1799,66 +1838,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1866,7 +1905,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1875,11 +1914,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1899,55 +1938,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2072,7 +2111,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2553,7 +2592,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2864,23 +2903,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3176,15 +3215,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4152,7 +4195,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4176,27 +4219,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4232,13 +4275,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4247,9 +4291,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4259,7 +4304,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4271,8 +4316,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4384,60 +4429,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "Lae alla meta-andmed ja küljed Amazonist" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "Amazoni veebileht, mida kasutada:" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "Amazoni meta-andmed võetakse selle riigi Amazoni lehelt." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "Amazon ei saatnud andmeid. Proovi hiljem uuesti." @@ -4445,13 +4490,31 @@ msgstr "Amazon ei saatnud andmeid. Proovi hiljem uuesti." msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4461,6 +4524,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4520,12 +4624,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "See on Amazon Topaz raamat. Seda ei saa töödelda." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4555,72 +4659,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4629,14 +4733,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4661,12 +4765,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4699,7 +4803,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4824,9 +4928,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4842,11 +4946,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4889,6 +4993,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5043,7 +5151,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5165,12 +5273,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5247,8 +5355,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5369,7 +5477,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5417,7 +5525,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5431,7 +5539,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5443,12 +5551,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5588,7 +5696,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5616,7 +5724,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5657,7 +5765,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5670,96 +5778,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5778,6 +5899,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5850,75 +5972,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5994,12 +6118,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6083,8 +6207,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6120,7 +6244,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6190,15 +6314,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6303,17 +6427,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6322,185 +6457,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6619,7 +6765,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6724,7 +6870,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6736,30 +6882,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6769,11 +6915,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -7037,7 +7183,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7247,7 +7393,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7257,7 +7403,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7291,16 +7437,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7368,7 +7523,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7554,7 +7709,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7894,8 +8049,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8822,7 +8977,7 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " @@ -8832,52 +8987,56 @@ msgstr "" "\"Kirjuta üle\" kastikese. Vastasel juhul kasutatakse väljundprofiili " "suurust." -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "&Kirjuta üle väljundprofiili paberi suurus" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8889,13 +9048,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9133,6 +9308,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9699,7 +9878,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9745,81 +9924,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9981,7 +10160,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10492,13 +10671,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10532,8 +10711,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10552,13 +10731,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10657,7 +10836,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10705,12 +10884,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10805,40 +10984,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11706,6 +11885,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11741,12 +11921,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12320,12 +12500,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12377,6 +12557,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12391,6 +12572,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13267,7 +13449,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13311,7 +13493,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13321,66 +13503,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13393,32 +13579,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13427,30 +13613,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13555,7 +13741,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -14053,7 +14239,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14198,15 +14384,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14214,27 +14400,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14242,38 +14428,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14414,7 +14606,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14457,34 +14650,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14533,12 +14726,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15451,10 +15644,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15472,7 +15661,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16442,20 +16631,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16488,18 +16677,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16874,83 +17063,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17226,32 +17565,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17365,46 +17704,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17426,13 +17765,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17525,7 +17864,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17564,138 +17903,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17706,56 +18045,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17797,73 +18136,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17871,134 +18221,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18077,31 +18472,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18109,11 +18504,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18129,16 +18524,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18161,34 +18556,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18729,29 +19124,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -20012,44 +20407,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -20058,59 +20453,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20121,28 +20516,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20152,11 +20557,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20166,15 +20571,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20189,7 +20594,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20199,40 +20604,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20243,28 +20648,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20275,13 +20680,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20301,11 +20706,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20316,30 +20721,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20351,17 +20756,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20370,27 +20775,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20400,15 +20805,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20421,40 +20826,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20468,13 +20873,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20482,34 +20887,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20524,18 +20929,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20543,33 +20948,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20592,31 +20997,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20860,20 +21256,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20896,7 +21292,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20905,98 +21301,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -21009,21 +21405,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -22026,10 +22424,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22128,6 +22522,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22176,107 +22595,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22539,7 +22958,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/eu.po b/src/calibre/translations/eu.po index 6bc94671e6..500832b364 100644 --- a/src/calibre/translations/eu.po +++ b/src/calibre/translations/eu.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" -"PO-Revision-Date: 2013-03-17 17:14+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" +"PO-Revision-Date: 2013-04-11 10:42+0000\n" "Last-Translator: gorkaazk \n" "Language-Team: http://librezale.org/wiki/Calibre\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:08+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:24+0000\n" +"X-Generator: Launchpad (build 16580)\n" "Language: eu\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -24,16 +24,16 @@ msgid "Does absolutely nothing" msgstr "Ez du ezer egiten" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -88,8 +88,8 @@ msgstr "Ez du ezer egiten" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -100,9 +100,9 @@ msgstr "Ez du ezer egiten" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -111,7 +111,7 @@ msgstr "Ez du ezer egiten" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -124,7 +124,7 @@ msgstr "Ez du ezer egiten" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -146,13 +146,13 @@ msgstr "Ez du ezer egiten" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -161,33 +161,33 @@ msgstr "Ez du ezer egiten" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -334,76 +334,76 @@ msgstr "Ezarri metadatuak %s fitxategietan" msgid "Set metadata from %s files" msgstr "Ezarri metadatuak %s fitxategietatik" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "Gehitu liburuak calibrera edo konektatutako gailura" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "Eskuratu oharrak konektatutako Kindle gailutik (esperimentatzen)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "Sor ezazu zure calibre liburutegiaren katalogoa" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "Bihur itzazu liburuak hainbat e-liburu formatutara" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "Zorrotz doitu zure liburu elektronikoak" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "Editatu Aurkibidia zure liburu elektronikoetan" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" "Ezabatu liburuak zure calibre liburutegitik edo konektatutako gailutik" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "Editatu liburuen metadatuak zure calibre liburutegian" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "Irakurri liburuak calibre liburutegian" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "Deskargatu berriak internetetik e-liburuen formatuan" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Erakutsi azkar antzeko liburuen zerrenda" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "Esportatu liburuak zure calibre liburutegitik disko gogorrera" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "Erakutsi liburuaren zehaztasunak bereizitako leiho batean" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "Berrabiarazi calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" "Zabal ezazu liburu-fitxategiak gordetzen dituen karpeta zure calibre " "liburutegian" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "Bidali liburuak konektatuta dagoen gailura" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" @@ -412,46 +412,46 @@ msgstr "" "konektatu iTunes-ekin edo karpetekin zure ordenagailuan irakurgailuak izango " "balira bezala" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "Browse the calibre User Manual" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "Pertsonalizatu calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" "Modu errazean topatzen ditu orain hautatu berri duzun liburuaren antza " "handia duten liburuak" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" "Txandakatu hainbat calibre liburutegiren artean eta presta ezazu haien " "mantenua" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "Kopiatu liburuak gailutik zure calibre liburutegira" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "Editatu bildumak non zure liburuak gailuan gordeta dauzkazun" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "Kopiatu liburua calibre liburutegi batetik beste batera" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" "Aldaketa txikiak egin epub edo htmlz fitxategiei Calibre liburutegian" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" @@ -459,60 +459,60 @@ msgstr "" "Bila ezazu hurrengo edo aurreko bat etortzea zure calibre liburutegian " "azpimarratze moduan bilatzen ari zarela" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "Hautatu ausaz liburu bat zure calibreko liburutegitik" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "Bilatu liburuak hainbat liburu saltzaileen artean begiratzen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" "Lor itzazu calibre aplikazio edo gehigarri berriak edo eguneratu dagoeneko " "dauzkazunak" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Itxura eta izaera" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Interfazea" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "Doi ezazu calibreren interfazearen itxura zure gustuen arabera" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "Jokabidea" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "Alda ezazu calibreren jokatzeko era" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Gehi itzazu zureak diren zutabeak" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" "Gehitu/ezabatu itzazu zuk egindako zure zutabeak calibreren liburu " "zerrendara/zerrendatik" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Tresna-barra" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -520,66 +520,66 @@ msgstr "" "Pertsonalizatu tresna-barra eta testuinguruaren araberako menuak, bakoitzean " "eskuragarri agertuko diren ekintzekin aldatuz." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "Bilatzen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "Pertsonalizatu nola bilatu liburuak calibren" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "Sorburu aukerak" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Bihurketa" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "Ezarri itzazu sorburu formatu bakoitzeko bihurketa aukera zehatzak" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Aukera komunak" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "Ezarri itzazu formatu guztietarako komunak diren bihurketa aukerak" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "Helburu aukerak" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "Ezarri itzazu helburu formatu bakoitzeko bihurketa aukera zehatzak" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "Liburuak gehitzen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "Inportatu/Esportatu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Kontrola ezazu calibrek nola irakurtzen dituen metadatuak fitxategietatik " "liburuak gehitzerakoan" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "Liburuak diskan gordetzen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -587,52 +587,52 @@ msgstr "" "Kontrola ezazu calibrek nola esportatzen dituen fitxategiak bere datu " "basetik diskora \"Diskoan gorde\" aukera erabiltzen denean." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "Bidaltzen liburuak gailuetara" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" "Kontrola ezazu ea calibrek nola bidaltzen dituen fitxategiak zure liburu " "elektronikoetara" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "Metadatuen konektore-txartela" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "Aldatu metadatu eremuak gorde/igorri baino lehenago" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "Txantiloi funtzioak" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "Aurreratua" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "Sortu txantiloi funtzio berriak" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "Liburuak e-posta bidez partekatzen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "Partekatzen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -640,11 +640,11 @@ msgstr "" "Antolatu liburuen elkarbanatzea e-postaren bidez. Saretik deskargatutako " "albisteak norbere gailuetara automatikoki bidaltzeko erabil daiteke" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "Sarean zehar elkarbanatzen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -653,21 +653,21 @@ msgstr "" "interneten bidezko sarbidea emango dizun edozein lekutan eta edozein " "gailuren bidez" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "Metadatuak deskargatu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" "Kontrolatu nola deskargatzen dituen calibrek liburuen metadatuak internetetik" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "Kontuan hartu ez diren gailuak" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." @@ -675,39 +675,39 @@ msgstr "" "Kontrolatu ea zein gailuk ez ditu calibrek kontuan hartuko ordenagailuari " "konektaturik baldin badaude ere." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Pluginak" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Gehitu/ezabatu/pertsonalizatu calibreren zenbait aukera" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "Doikuntzak" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" "Afina ezazu zehaztasun handiz nola jokatuko duen calibrek hainbat " "testuingurutan" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "Giltzadia (klabierra, teklatua)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "Pertsonalizatu giltzadiko lasterbideak calibren erabiltzeko" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Denetarik" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "Hainbat gauzetarako ezarpen aurreratuak" @@ -1024,8 +1024,8 @@ msgstr "Gaitu izendaturiko gehigarria." msgid "Disable the named plugin" msgstr "Desgaitu izendaturiko gehigarria." -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -1036,11 +1036,22 @@ msgid "Path to library too long. Must be less than %d characters." msgstr "" "Liburutegira doan bidea luzeegia da. %d karaktere baino gutxiago beharko." -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "zutabe pertsonalizatua sortzen " + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -1052,26 +1063,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "Nagusia" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "A txartela" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "B txartela" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1084,11 +1095,11 @@ msgstr "B txartela" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Albisteak" @@ -1096,14 +1107,14 @@ msgstr "Albisteak" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "aztertua" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "bai" @@ -1111,7 +1122,7 @@ msgstr "bai" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "Ez" @@ -1119,45 +1130,70 @@ msgstr "Ez" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "aztertu gabea" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "gaur" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "atzo" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "hilabetehonetan" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "duelaegunbatzuk" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "hutsik" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "hutsunea, zuriunea" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "Boolear itaunketak ezegokia \"{0}\"" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1188,7 +1224,7 @@ msgstr "Ez da %s izeneko gehigarririk aurkitu" msgid "Communicate with Android phones." msgstr "Android telefonoekin komunikatu." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" @@ -1198,7 +1234,7 @@ msgstr "" "horiek gordeko ditugun. Aurkituko den lehen zerrenda izango da erabiliko den " "lehenengoa." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" @@ -1208,11 +1244,11 @@ msgstr "" "horiek gordeko ditugun. Aurkituko den lehen zerrenda izango da erabiliko den " "lehenengoa." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "S60 telefonoekin komunikatu." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "Komunikatu WebOS tablets enpresakoekin." @@ -1367,8 +1403,8 @@ msgstr "" "Egin ezazu klik 'Zehaztasunak erakutsi' zerrenda ikusteko." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "Katalogoa" @@ -1423,10 +1459,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1467,6 +1503,7 @@ msgstr "Gailuaren metadatu zerrendara liburuak gehitzen..." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1810,17 +1847,17 @@ msgstr "" "erabilgarria da azala zeuk aldatu baduzu." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "Azalak zuri-beltzean bidali" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "Iraungitako liburuak erakutsi" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1833,12 +1870,12 @@ msgstr "" "esker." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "Erakutsi aurrebistak" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1850,7 +1887,7 @@ msgstr "" "baldin eta aurreikuspen horiek ikusi edota ezabatu nahi baldin badituzu." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "Erakutsi gomendioak" @@ -1865,7 +1902,7 @@ msgstr "" "erakusten dute. Gaitu hauek ikusteko/kentzeko." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "Saiatu Firmware berriena sostengatzen" @@ -1878,10 +1915,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "Kobo datu-base bertsioak ez du sostengurik - Ikus zehaztasunak" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1959,21 +1998,21 @@ msgstr "" "/>Kapituluan aurreratutako bidea: %(chapter_progress)s%%
Markatua: %(text)s
Oharrak: %(annotation)s

" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" "\" Kobo Touch inprimaki firmwarea\"-ren V2.0.0 bertsioak liburu-apalategiak " "onartzen ditu." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "Zehaztu etiketa moten zutabe bat kudeaketa automatikorako" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "Sortu liburuentzako apalategiak" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." @@ -1981,11 +2020,11 @@ msgstr "" "Sortu liburuentzako apalategiak Kobo Touch gailuan oraindik horrelakorik ez " "balego. V2.0.0 firmware bertsioan edo geroko bertsioetan besterik ez." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "Ezabatu hutsik dauden liburu-apalategiak" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." @@ -1993,27 +2032,27 @@ msgstr "" "Ezabatu hutsik dauden apalategiak Kobo Touch-etik sinkronizazioa bukatzean. " "Hau V2.0.0 eta geroko firmwareentzat da bakarrik." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "Kargatu liburu-azalak" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "Mantendu liburu-azalaren proportzioa" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " @@ -2023,11 +2062,11 @@ msgstr "" "batzuetan, liburuak saltzen dituzten webguneetara berbidaltzen zaituzten " "estekak baino ez dira. Gomendioak ikusi/ezabatu nahi badituzu aukeratu." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "Segidaren informazioa ezarri" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -2038,7 +2077,7 @@ msgstr "" "Segiden informazioa gailuak liburua prozesatu ostean baino ezin da gehitu. " "Gaitu segidaren informazioa ezarri nahi baldin baduzu." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -2050,11 +2089,11 @@ msgstr "" "Calibrek irakurri-idatzi funtzioak osorik gaitzen saiatuko da, baina... " "Kontuz ibili! Gailua berrezartzen ohituta baldin bazaude baino ez gaitu. " -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "Akatsen garbiketa-probak egiterakoan erabiliko den izenburua" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -2074,55 +2113,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "Komunikatu Sweex/Kogan/Q600/Wink horrekin" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "Komunikatu \"Pandigital Novel\" horrekin" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "Komunikatu \"VelocityMicro\" enpresarekin" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "Komunikatu \"GM2000\" horrekin" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "Komunikatu \"Acer Lumiread\" horrekin" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "Komunikatu \"Aluratek Color\" horrekin" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "Komunikatu \"Trekstor\" horrekin." -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "Kontaktatu EEE Reader horrekin" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "Komunikatu Adam tableta horrekin" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "Kontaktatu Nextbook Reader horrekin" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "Komunikatu \"Moovybook Reader\" horrekin." -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "Komunikatu COBY delakoarekin" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "Komunikatu Ex124G horrekin" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2250,7 +2289,7 @@ msgstr "Nook-a" msgid "Communicate with the Nook eBook reader." msgstr "Komunikatu Nook eBook irakurgailuarekin." -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" "Jar zaitez kontaktuan Nook Color, TSR eta Tablet eBook readers horiekin." @@ -2832,7 +2871,7 @@ msgid "There is insufficient free space on the storage card" msgstr "Ez dago espazio libre nahikorik memoria-txartelean." #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "Prozesatua %s" @@ -3270,13 +3309,13 @@ msgstr "" "hau egiten ari zarena ondo dakizunean soilik, honen egikaritzapenak hainbat " "albo-ondorio kaltegarri eduki baititzake gainontzeko bihurketa prozesuetan." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" "Helburu fitxategia izateko erabili izan den CSS fitxategia, lehenetsitako " "fitxategia erabili beharrean" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" @@ -3284,7 +3323,7 @@ msgstr "" "Indize fitxategia sortzeko erabili izan den html txantiloia, lehenetsitako " "fitxategia erabili beharrean" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" @@ -3292,7 +3331,7 @@ msgstr "" "Liburaren edukiak sortzeko erabili izan den html txantiloia, lehenetsitako " "fitxategia erabili beharrean" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3649,15 +3688,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4825,7 +4868,7 @@ msgstr "" msgid "Set book ID" msgstr "Ezarri ezazu liburuaren ID" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4852,27 +4895,27 @@ msgstr "Ez" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "Izenburua" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "Egilea(k)" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "Argitaratzailea" @@ -4908,13 +4951,14 @@ msgstr "Iruzkinak" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "Etiketak" @@ -4923,9 +4967,10 @@ msgstr "Etiketak" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4935,7 +4980,7 @@ msgstr[0] "Sailak" msgstr[1] "Sailak" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4947,8 +4992,8 @@ msgstr "Dataren zigilua (noizkoa)" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "Argitaratua" @@ -5078,60 +5123,60 @@ msgstr "" "Eskura ezazu liburu azal bat irudi/gizarte metadatuekin bere ISBN-ren bidez " "hemendik: LibraryThing.com\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "Liburu-azala" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "Amazonetik metadatuak eta azalak jeisten ditu" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "AEB" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "Frantzia" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "Alemania" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "Erresuma Batua" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "italia" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "Japonia" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "Espainia" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "Amazon enpresako ataria erabilgarri:" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "Denbora agortua Amazon itxoiten. Beranduago berriro saiatu." @@ -5139,6 +5184,24 @@ msgstr "Denbora agortua Amazon itxoiten. Beranduago berriro saiatu." msgid "Metadata source" msgstr "Metadatuen jatorria" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " @@ -5147,7 +5210,7 @@ msgstr "" "Douban.com horretatik deskargatzen ditu metadatuak eta liburu-azalak. " "Erabilgarri txinatar hizkuntzako liburuetan." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -5157,6 +5220,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "Google Books-etik metadatuak eta azalak jeisten ditu" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "Handi" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "Deskargatu datuak isbndb.com gunetik" @@ -5222,12 +5326,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "Hauxe Amazon Topaz liburua da. Ezin da prozesatu." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -5254,72 +5358,72 @@ msgid "No details available" msgstr "Ez dago xehetasunik eskuragarri" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "Aurkibidea" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "Orriaren Izenburua" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "Indizea" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "Glosarioa" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "Aipamenak" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "Bibliografia" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "Azken oharra" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "Copyright-a" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "Eskaintza" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "Epigrafea" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "Sarrera" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "Irudien zerrenda" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "Taulen zerrenda" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "Oharrak" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "Aitzinsolasa" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "Testu nagusia" @@ -5328,14 +5432,14 @@ msgstr "Testu nagusia" msgid "%s format books are not supported" msgstr "%s liburuen formatuekin ezin. Oraingoz sostengurik ez" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -5360,12 +5464,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -5398,7 +5502,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -5523,9 +5627,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -5541,11 +5645,11 @@ msgid "HTML TOC generation options." msgstr "HTML aurkibideak sortzeko aukerak." #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "Balorazioa" @@ -5592,6 +5696,10 @@ msgstr "" "Ezin izan da aurkitu pdftohtml programarik pdf formatutik html formatura " "egiteko, zoaz ikustera zure PATH horretan, zure BIDE horretan" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5761,7 +5869,7 @@ msgid "Show this confirmation again" msgstr "Erakutsi berriro ere baieztaben hau" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "Berrabiarazi beharko" @@ -5890,12 +5998,12 @@ msgstr "Liburuen gehitze kontrola" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5972,8 +6080,8 @@ msgstr "Gehitu liburutegira" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -6097,7 +6205,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "Hautatu helburua honentzat: %(title)s.%(fmt)s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -6145,7 +6253,7 @@ msgid "No existing calibre library found at %s" msgstr "%s kokapenan ez da calibre liburutegirik aurkitu" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "Liburutegia aukeratu" @@ -6159,7 +6267,7 @@ msgstr "Aldatu/sortu liburutegia..." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -6171,12 +6279,12 @@ msgid "Pick a random book" msgstr "Hartu liburu bat ausaz" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "Aldaketa azkarra" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "Liburutegiari izena aldatu" @@ -6322,7 +6430,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -6350,7 +6458,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -6394,7 +6502,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "Liburuen katalogoa sortu calibreko liburutegian" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "Ezin da bihurtu" @@ -6408,96 +6516,109 @@ msgid "Empty output file, probably the conversion process crashed" msgstr "" "Helburu fitxategia hutsik. Ziur aski bihurketa prozesuak huts egin du" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "Aukeratu liburutegia" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "Kopiatu liburutegira." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "Kopiatu hautatutako liburuak adierazitako liburutegian" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "(ezabatu kopiatu eta gero)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "Ezin kopiatu" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "Liburutegirik ez" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "Ez da liburutegirik topatu hemen %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "Ezin izan dira liburuak kopiatu: " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -6518,6 +6639,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "Ziur zaude?" @@ -6592,60 +6714,60 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "Aukeratu ezabatzeko formatuak" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "Ezin liburuak ezabatu" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "Ez dago konektaturik inolako irakurgailurik" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "Memoria nagusia" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "Memoria-txartela A" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "Memoria-txartela B" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "Ez dago ezabatzeko libururik" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "Hautatutako liburuak ez daude irakurgailuan, ezta bakar bat ere" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "Ezabatzen liburuak irakurgailutik." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" @@ -6653,21 +6775,19 @@ msgstr "" "Hautatutako liburuetako batzuk erantsitako gailuan daude. Nondik nahi " "duzu ezabatu hautatutako fitxategiak?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -"Aukeratutako liburuak betiko ezabatu egingo dira zure calibre " -"liburutegitik eta fitxategiak ezabatu egingo dira betiko. Ziur zaude?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" -"Hautatutako liburuak betiko ezabatuak izango dira zure " -"ordenagailutik. Ziur zaude?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 msgid "Start wireless device connection" @@ -6742,12 +6862,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "Gelditzen" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6832,8 +6952,8 @@ msgstr "Kale egin du metadatuak deskargatzen" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "Jaitsierak huts egin du" @@ -6869,7 +6989,7 @@ msgid "Download complete" msgstr "Jaitsiera osatu da" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6953,15 +7073,15 @@ msgstr "" "bikoiztutako formatu guztiak ezabatu egingo dira betiko zure calibre " "liburutegitik.

Ziur zaude? Benetan aurrera egin nahi duzu?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "Aldatutako metadatuak ezartzen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "Arazo batzuk" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -7066,17 +7186,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -7085,185 +7216,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "Itxura hobetzen &puntuazioa" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -7384,7 +7526,7 @@ msgstr "" "Egin klik zehaztasunak erakutsi botoian ea zeintzuk izan diren ikusteko." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "Erakutsi liburuaren xehetasunak" @@ -7489,7 +7631,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -7501,30 +7643,30 @@ msgstr "Dendak" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "Liburu dendak aukeratu" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "Ezin da bilatu" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -7534,11 +7676,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "Mezu hau berriro erakutsi" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "Get Books-i buruz" @@ -7808,7 +7950,7 @@ msgid "The specified directory could not be processed." msgstr "Zehaztutako direktorioa ezin izan da prozesatu." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "Libururik ez" @@ -8038,7 +8180,7 @@ msgid "Click to open" msgstr "Egin klik zabaltzeko" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "Id." @@ -8049,7 +8191,7 @@ msgstr "" "%(sidx)s horretako %(series)s liburua" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "Bildumak" @@ -8083,16 +8225,25 @@ msgstr "Bidea (Path)" msgid "Cover size: %(width)d x %(height)d" msgstr "Azalaren tamaina: %(width)d x %(height)d" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "BibTeX Aukerak" @@ -8160,7 +8311,7 @@ msgstr "outputa, helburua" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -8346,7 +8497,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "Izena" @@ -8688,8 +8839,8 @@ msgid "Style the selected text block" msgstr "Hautatutako testu blokearen estiloa aldatu" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "Normala" @@ -9631,59 +9782,63 @@ msgstr "Ez dago &Irudirik" msgid "PDF Output" msgstr "PDF outputa" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "&Paperaren tamaina:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "Ondo gorde liburu-azalaren &itxura proportzioa" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "Se&rif familia:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "&Sans familia:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "&Monospace familia:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "Letra-tipo es&tandarra:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -9695,13 +9850,29 @@ msgstr "" msgid " px" msgstr " pixelak" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "Monospace &letra-tipoaren tamaina:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9945,6 +10116,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "Bihurtu" @@ -10526,7 +10701,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "Ez dago formatu egokirik" @@ -10572,67 +10747,67 @@ msgstr "Gailua: " msgid " detected." msgstr " detektaturik." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "hautatua bidaltzeko" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "Gailurik ez dago" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "Aukeratu irakurgailura bidaltzeko formatua" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "Ezin izan da igorri: ez dago inolako gailurik konektatua" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "Txartelik ez dago" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "Ezin bidali: gailuak ez dauka memoria-txartelik" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" "Bihurtu modu automatikoan hurrengo liburuak irakurgailuan kargatu aurretik?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "Katalogoak irakurgailura bidaltzen." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "Albisteak irakurgailura bidaltzen." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "Liburuak irakurgailura bidaltzen." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." @@ -10641,17 +10816,17 @@ msgstr "" "topatu egin ez delako. Lehenengo eta behin, bihurtu liburua(k) zure " "irakurgailuak onartzen duen formaturen batean." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "Lekurik ez irakurgailuan" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" "

Ezin da libururik kargatu irakurgailuan, ez dago leku libre nahikorik eta " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -10814,7 +10989,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -11348,13 +11523,13 @@ msgid "Where do you want to delete from?" msgstr "Nondik ezabatu nahi duzu?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "Liburutegia" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "Gailua" @@ -11390,8 +11565,8 @@ msgid "Location" msgstr "Kokalekua" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -11410,13 +11585,13 @@ msgstr "%(curr)s (zen %(initial)s)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "Elementua zuriz dago" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "Elementu bat ezin zaio ezerezari gehitu. Horren ordez, ezaba ezazu." @@ -11519,7 +11694,7 @@ msgstr "Esteka" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "Ez da bat datorrenik aurkitu" @@ -11567,12 +11742,12 @@ msgid "Copy to author" msgstr "Autorean kopiatu" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "Baliogarria ez den egile izena" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "Egile izenek ezin dute & karakterea eduki." @@ -11667,40 +11842,40 @@ msgstr "Ezkutatu zeregin &guztiak" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "Arbelara &kopiatu" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "Erakutsi &xehetasunak" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "&Ezkutatu xehetasunak" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "Kopiaturik" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "Erregistroa ikusi" @@ -12633,6 +12808,7 @@ msgstr "Bertan behara uzten..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -12668,12 +12844,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "Bilatu" @@ -13257,12 +13433,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -13314,6 +13490,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "Argitaletxeak" @@ -13328,6 +13505,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -14228,7 +14406,7 @@ msgid "&Shortcut:" msgstr "&Lasterbidea:" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "Egina" @@ -14272,7 +14450,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -14282,48 +14460,52 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "Irakurgailua deskonektatu" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "Erakutsi liburuak calibre liburutegian" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "Erakutsi liburuak irakurgailuaren memoria nagusian" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "Erakutsi liburuak A memoria-txartelean" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "Erakutsi liburuak B memoria-txartelean" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "Ezabatu liburutegia" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "erabilgarria" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "Bilaketa aurreratua" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "Maius+Ctrl+F" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" @@ -14332,19 +14514,19 @@ msgstr "" "etiketak, iruzkinak, eta abar erabilita.

Espazioekin bereiziriko " "hitzak ETA juntagailuarekin elkartuta baleude legez hartuko dira" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "&Aurrera!" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "Egin esazu bilaketa azkarra (Sartu giltza sakatzea duzu ere bai)" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "Berrezarri bilaketa azkarra" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "Kopiatu oraingo bilaketa testua (bilaketa izenaren ordez)" @@ -14357,32 +14539,32 @@ msgstr "" msgid "Y" msgstr "B" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "Irakurgailuan" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "Tamaina (Mb)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "Bilaketa izena hauxe: \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "Liburu honen UUID (Universally Unique Identifier) hauxe da: \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -14391,30 +14573,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "Liburutegian" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "Tamaina" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "Ezabatzeko markatuta" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "Egin ezazu klik birritan editatzeko

" @@ -14521,7 +14703,7 @@ msgid "Previous Page" msgstr "Aurreko orrialdea" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -15041,7 +15223,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -15192,15 +15374,15 @@ msgstr "&Iruzkinak" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -15208,27 +15390,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -15236,38 +15418,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "Deskargatzen liburu-azala..." @@ -15417,7 +15605,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -15460,34 +15649,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "Altua" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "Baxua" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "Lehenetsia" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "Baieztatze elkarrizketak berrezarri egin dira" @@ -15540,18 +15729,15 @@ msgid "Job &priority:" msgstr "Lana &lehentasuna:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" -msgstr "Oraingo liburutegian zabalik dagoenean aplikatzeko murrizketak:" +msgid "Virtual library to apply when the current library is opened:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" -"Aplika ezazu murrizketa hau calibre abiarazterakoan egungo liburutegia " -"erabiltzen ari bada. Aplikatu egingo da liburutegi modura aldatzerakoan. " -"Ohar zaitez ezarpen hau liburutegirako dela. " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170 msgid "Edit metadata (single) layout:" @@ -16503,10 +16689,6 @@ msgstr "" msgid "Small" msgstr "Txiki" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "Handi" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "Ertain" @@ -16524,7 +16706,7 @@ msgid "Never" msgstr "Inoiz ez" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "Lehen letratik" @@ -17573,20 +17755,20 @@ msgstr "" "utz daiteke zenbait irakurgailutan gailuaren interfazea pertsonalizatuz " "honela: Preferences->Advanced->Plugins (Aukerak>Aurreratua>Gehigarriak)" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "Huts egin du edukien zerbitzaria abiarazten" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "Log errorea:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "Sarbideko log:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "Zerbitzaria berrabiarazi egin behar aldaketak gauzatzeko" @@ -17621,23 +17803,19 @@ msgid "Max. &OPDS items per query:" msgstr "Max. &OPDS kontuak kontsultarako, galdetzeko:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" -msgstr "Max. OPDS &multzokatu gabeko kontuak:" +msgid "Max. &ungrouped items:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" -msgstr "Murrizketak (gordetako bilaketa) aplikatzeko:" +msgid "Virtual library to apply:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" -"Gordetako bilaketetan oinarritutako murrizketa honek edukien zerbitzariak " -"gaitzen dituen bilaketarekin bat egiten duten edukiak mugatuko ditu. Ezarpen " -"hau liburutegietarako da (adibeidez, zuk murrizketa bana izan dezakezu " -"liburutegi bakoitzeko)." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 msgid "" @@ -18018,85 +18196,235 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" -msgstr "Ezabatu uneko bilaketa" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "Ezabatu uneko bilaketa" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "Aukeratutako bilaketa betiko ezabatu egingo da. Ziur zaude?" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "Bilatu (Bilaketa aurreraturako egin klik ezkerreko botoian)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "Gordetako bilaketak" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" "Aukeratu gordetako bilaketak edo sartu izena gordetako bilaketa berri " "baterako" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" -msgstr "*Uneko bilaketa" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" -msgstr "Honetara murriztuta" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "(liburu guztiak)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "({0} {1})-tik" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "({0} guztietatik)" @@ -18372,32 +18700,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -18513,48 +18841,48 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "Taldekatutako bilaketa terminoaren izena \"{0}\" da" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" "Liburu multzo batean egileen izenak aldatzeko denbora beharko. Ziur zaude?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" "Liburu multzo batean metadatuak aldatzeko denbora beharko. Ziur zaude?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "Bilaketak" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "Bilaketa izena bikoiztua" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "%s bilaketa izen hori dagoeneko erabilia izan da." @@ -18576,13 +18904,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "Kudeatu erabiltzaile kategoriak" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "Kudeatu gordetako bilaketak" @@ -18687,7 +19015,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "Sailkatu honen arabera:" @@ -18728,138 +19056,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "Ezkutatu %s kategoria" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "Erakutsi kategoria" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "Kudeatu %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "Erakutsi kategoria guztiak" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "Aldatu azpi-kategorizazio eskema" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -18870,56 +19198,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -18961,73 +19289,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -19035,134 +19374,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -19243,31 +19627,31 @@ msgstr "" "Honako liburuak dagoeneko %s formatura bihurtu dira. Nahi dituzu berriro " "bihurtu?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "&Dohaintza egin calibre diruz laguntzeko" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "&Lehengoratu" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "&Deskonektatu konektatuta zegoen gailua" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "Arazketa modua" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -19278,11 +19662,11 @@ msgstr "" "hasiera araztailea erabilgarri egongo da honako fitxategian: %s

hori " "automatikoki erakutsiko da." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -19298,16 +19682,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "Bihurketa akatsa" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -19330,24 +19714,24 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "Formula desgaitua" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "Huts egin du" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" "Oraintxe bertan lan batzuk egiten ari dira. Ziur zaude irten nahi duzula?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" @@ -19358,11 +19742,11 @@ msgstr "" "daiteke.
\n" " Ziur zaude? Benetan irten nahi duzu?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -19920,29 +20304,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -21272,8 +21656,8 @@ msgstr "" "formaturako, mesedez begiratu bilaketari buruzko dokumentazioa " "Erabiltzailearen eskuliburua. Lehenetsita: ez egin inolako iragazpenik." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." @@ -21281,11 +21665,11 @@ msgstr "" "Lerro sinple baten zabalera maximoa. Lehenetsitako balioa: pantailaren " "tamaina detektatzea." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "Eremuak bereizteko erabiltzen den testua. Lehenetsia: espazio bat." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." @@ -21293,15 +21677,15 @@ msgstr "" "Fitxategi bide guztietarako aurrizkia. Lehenetsia: liburutegiko karpetarako " "bide hutsa." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "Balio gabeko eremuak. Eskuragarri dauden eremuak:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "Ordenatzeko eremu balio gabea. Eskuragarri dauden eremuak:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" @@ -21309,13 +21693,13 @@ msgstr "" "Hurrengo liburuak ez dira gehitu zeren dagoeneko datu basean bazeuden (ikus -" "-duplicates aukera: \"bikoiztuak\"):" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -21329,7 +21713,7 @@ msgstr "" "daitezke, ikus itzazu\n" "direktorioei buruzko aukerak beherago.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" @@ -21337,11 +21721,11 @@ msgstr "" "Onartu direktorio bakoitzak liburu bakarra daukala loturik eta beraz " "karpetako fitxategi guztiak liburu beraren formatu desberdinak direla" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "Prozesatu direktorioak modu errekurtsiboan" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." @@ -21349,43 +21733,43 @@ msgstr "" "Gehitu liburuak datu-basera, nahiz eta dagoeneko bertan izan. Erkaketa " "liburuen izenburuetan oinarrituko da." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "Gehitu liburu huts bat (formaturik gabeko liburu bat)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "Gutxienez fitxategi bat zehaztu beharko duzu gehitzeko" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -21396,35 +21780,39 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "Ezabatzeko gutxienez liburu bat zehaztu beharko duzu" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" -"%prog add_format [aukerak] id ebook_fitxategia\n" -"\n" -"Gehitu ebook_fitxategian dagoen liburu elektronikoa eskuragarri dauden " -"formatuetan IDren bidez identifikatutako liburu logikorako. IDak lor " -"ditzakezu \"list\" agindua erabiliz. Formatu existitzen bada dagoeneko, " -"ordeztu egingo da.\n" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" "Zehaztu egin beharko duzu ID bat eta liburu-elektroniko fitxategi bat" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "liburu elektronikoaren fitxategiak luzapena izan beharko du" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -21441,11 +21829,11 @@ msgstr "" "du, LRF edo TXT edo EPUB ezagunago horiek bezala. Liburu logikoak ez badu " "fmt eskurakagarririk, ez egin ezer.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "Zehaztu behar duzu ID bat eta formatu bat" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -21461,15 +21849,15 @@ msgstr "" "identifikatutako liburuarentzat.\n" "id zera da, ID zenbakia \"list\" agindurako.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "Inprima itzazu metadatuak OPF formatuarekin (XML)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "ID bat zehaztu beharko duzu" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -21484,7 +21872,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -21494,40 +21882,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -21545,29 +21933,29 @@ msgstr "" "eta metadatuak barne (formatu honetan,\n" "OPF fitxategi formatuan). Lor ditzakezu ID zenbakiak \"list\" agindutik.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" "Esportatu data-baseko liburu guztiak, ID zerrendari ez ikusiarena eginez." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "Esportatu liburua zehaztutako direktoriora. Lehenetsita hauxe:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "Esportatu liburu guztiak direktorio sinple batera" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "Aldaketa hau zehaztuz jokabide hau bertan behera geratuko da." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "ID batzuk zehaztu egin beharko dituzu edo %s aukera" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -21585,7 +21973,7 @@ msgstr "" "goitizena da.\n" "datu-mota hauetako bat da: {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." @@ -21594,7 +21982,7 @@ msgstr "" "bereiziriko balioak). Aplikatuko da datu-tipoa testua baldin bada, besterik " "ez." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -21614,11 +22002,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "Zehaztu beharko duzu etiketa mota, izena eta datu tipoa" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -21637,7 +22025,7 @@ msgstr "" "helburu katalogoan.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" @@ -21647,7 +22035,7 @@ msgstr "" "Adierazten bada, --search hori baztertu egingo da.\n" "Lehenetsita: dena" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" @@ -21658,18 +22046,18 @@ msgstr "" "Erabiltzailearen eskuliburuan.\n" "Lehenetsita: irazkirik ez" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" "Erakutsi output informazioa, irteera informazioa, ondo zehaztuta. " "Akatsgabetzeko erabilgarria" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "Errorea: zehaztu beharko duzu irteera katalogo fitxategi bat" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -21691,7 +22079,7 @@ msgstr "" " agindua.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." @@ -21699,11 +22087,11 @@ msgstr "" "Zutabeak balio anitz gordetzen baditu, erantsi zehaztutako balioak " "lehenagotik zeuden balioetara, ordeztu beharrean." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "Errorea: zehaztu behar duzu eremu izen bat, ID bat eta balio bat" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -21718,27 +22106,27 @@ msgstr "" "Erakusten ditu zutabeen etiketak eta IDak.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "Erakutsi zehaztasunak zutabe bakoitzean." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "bai" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -21755,15 +22143,15 @@ msgstr "" " zutabeak custom_columns aginduarekin, (pertsonalizatu_zutabeak).\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "Ez eskatu baieztapenik" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "Errorea: zutabearen etiketa zehaztu beharko duzu" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -21786,42 +22174,42 @@ msgstr "" " ordeztu egingo dela.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "Errorea: ekintza bat zehaztu behar duzu (gehitu|ezabatu|zerrendatu)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "Izena:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "Katea bilatzen:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "Errorea: zehaztu behar duzu izen bat eta bilaketa-kate bat" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "gehiturik" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "Errorea: izen bat zehaztu behar duzu" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "ezabaturik" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" "Errorea: %s ekintza ezezaguntzat hartu da, hauetako bat beharko: " "(gehitu|ezabatu|zerrendatu)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -21835,13 +22223,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -21853,12 +22241,12 @@ msgstr "" "Egin itzazu liburutegia osatzen duen fitxategi sisteman azterketa eta " "egiaztapen batzuk . Txostenak hauek dira: {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "Helburua CSV (Comma Separated Values) horretan" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" @@ -21866,7 +22254,7 @@ msgstr "" "Txostenak komaz bereizitako zerrenda.\n" "Lehenetsita: dena" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" @@ -21874,7 +22262,7 @@ msgstr "" "Komaz bereizitako luzapenen zerrenda kasurik ez egiteko.\n" "Lehenetsita: dena" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" @@ -21882,11 +22270,11 @@ msgstr "" "Komaz bereizitako izenen zerrenda kasurik ez egiteko.\n" "Lehenetsita: dena" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "Txosten azterketa ezezaguna" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -21915,7 +22303,7 @@ msgstr "" "menpe geratuko da.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." @@ -21923,12 +22311,12 @@ msgstr "" "Berreskuratzea egin, bai. Agindua ez da martxan hasiko aukera hau zehaztu " "arte." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -21940,7 +22328,7 @@ msgstr "" "Txostena sortzen du kategorien informazioaren gainean datu basean. Hori\n" "informazio hori etiketen erakusleihoan erakusten denaren baliokidea da.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" @@ -21948,7 +22336,7 @@ msgstr "" "Erakutsi bakarrik zenbat gai dagoen kategoria bakoitzeko eta ez zenbat aldiz " "zenbatu den gai bakoitzeko kategoria bakoitzean" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." @@ -21956,7 +22344,7 @@ msgstr "" "CSV (Comma-separated values) moduan dagoen kategoriaren balioan jartzeko " "karakterea. Lehenetsita aipuetan (\")." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" @@ -21964,17 +22352,17 @@ msgstr "" "Bilatutako izenen kategorien komen bidez bereizitako zerrenda.\n" "Lehenetsita: dena" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" "Eremuak bereizteko erabili den katea CSV (Comma-separated values) motatakoa " "da. Lehenetsitako balioa koma bat da." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "KATEGORIA GAIAK" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -22007,33 +22395,24 @@ msgstr "" "Etiketak idazteko bakarrik letra xeheak, zenbakiak eta azpimarrak (hau da " "beheko gidoitxoak). Letra batekin hasi beharko" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "zutabe pertsonalizatua sortzen " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" "

Migrazioa egiten datu base zaharretik liburu elektronikoen liburutegira " "zera honetan: %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "Kopiatzen %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "Trinkotzen datu basea" @@ -22306,20 +22685,20 @@ msgstr "" "egiten diren atzekoz aurrerako proxyetan, Apache/nginx/ eta abarretatik hona." #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "Liburu guztiak" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "Berriena" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "Kargatzen. Mesedez, zaude apur batean." @@ -22342,7 +22721,7 @@ msgid "Browsing %d books" msgstr "Gainbegiratzen %d liburuak" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "Batez besteko balorazioa" @@ -22351,98 +22730,98 @@ msgstr "Batez besteko balorazioa" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "%d izarrak" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "Ospea" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "liburutegia" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "hasiera" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "Gainbegiratu liburuak honen arabera:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "Aukeratu kategoria bat horren arabera gainbegiratzeko:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "Gainbegiratzen honen arabera:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "Gora" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "barnean" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "Liburuan non:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "Beste formatu batzuk" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "Irakurri %(title)s %(fmt)s formatuan" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "Eskuratu" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "Zehaztasunak" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "Esteka iraunkorra" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "Behin betiko esteka liburu honetara" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "Liburu hau ezabatu egin da" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "bilatzen" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "Liburuak parekatzen" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -22467,26 +22846,25 @@ msgstr "" "OPDS interfazea BonJour horren bidez modu automatikoan iragarkiekin " "elikatzen da.\n" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "Liburutegiko karpetara edukien zerbitzaritik zuzenago hartzeko bidea" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" "Idatzi prozesuaren PIDa, (?proportional–integral–derivative controller), " "fitxategi jakin horretan" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -"Murrizketa bat zehazten du aginte hau ematerakoan. Aukera honek aldera uzten " -"ditu GUI (Graphical User Interface) horretan zehazten diren liburutegietako " -"ezarpenak" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -23497,10 +23875,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -23600,6 +23974,31 @@ msgstr "Kodea martxan" msgid "Restart console" msgstr "Berrabiarazi kontsola" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "URL-ak sftp eskema behar du izan" @@ -23651,101 +24050,101 @@ msgid "The \"%s\" recipe needs a username and password." msgstr "" "Honek \"%s\" formula honek erabiltzaile-izena eta pasahitza behar ditu." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "Deskarga burutua" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "Huts egin du honako artikulu hauek deskargatzerakoan:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "Huts egin du honako artikulu hauen zatiak deskargatzerakoan:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr " hemendik " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "\tEz dabiltzan estekak:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "Jarioak eskuratzen..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "Jarioak hartuta hasiera orrialdetik" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "Liburu-azala deskargatzen saiatzen..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "Sortzen idazpurua..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "Hasi deskarga [%d haria(k)]..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "Jarioak hona deskargatuta %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "Ezin izan da liburu-azala deskargatu: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "Deskargatzen liburu-azala hemendik %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "Idazpuruko irudia deskargatuta" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "Izenbururik gabeko artikulua" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "Deskargatutako artikulua: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "Huts egin du artikuluaren deskarga: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "Jarioa eskuratzen" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 msgid "" "Failed to log in, check your username and password for the calibre " "Periodicals service." @@ -23753,7 +24152,7 @@ msgstr "" "Izena emate saioak huts egin du, azter itzazu zure erabiltzaile-izena eta " "pasahitza calibreren Aldian behingo zerbitzurako." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -24039,7 +24438,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/fa.po b/src/calibre/translations/fa.po index 5bc92354e8..599b70fe47 100644 --- a/src/calibre/translations/fa.po +++ b/src/calibre/translations/fa.po @@ -7,32 +7,32 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" -"PO-Revision-Date: 2012-06-07 03:13+0000\n" -"Last-Translator: Farhood M,K, Kiazand \n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" +"PO-Revision-Date: 2013-04-20 11:24+0000\n" +"Last-Translator: saeed salamian \n" "Language-Team: Persian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:19+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:35+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" -msgstr "" +msgstr "هیچ اتفاقی رخ نداد" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -249,7 +249,7 @@ msgstr "تنظیمات" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Store" -msgstr "ذخیره" +msgstr "فروشگاه" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:650 msgid "An ebook store." @@ -328,233 +328,236 @@ msgstr "مشخصات کتاب را در فایل های %s قرار بده" msgid "Set metadata from %s files" msgstr "مشخصات کتاب را از فایل های %s بگیر" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "کتاب ها را به کالیبر یا دستگاه متصل شده اضافه کن." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "اطلاعات اضافی را زا کیندل متصل شده بگیر (آزمایشی)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" -msgstr "ایجاد یک کاتالوگ از کتاب های موجود در کتاب خانه کالیبر من" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" -msgstr "تبدیل کتاب ها به فرمت های متنوع کتاب الکترونیکی" +msgstr "کتاب‌های‌تان را به فرمت‌های مختلف کتاب‌های الکترونیکی تبدیل کنید" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "کتاب ها را از کتابخانه کالیبر یا دستگاه متصل پاک کن" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "مشخصات کتابهای موجود در کتابخانه کالیبر را ویرایش کن" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "کتاب ها را در کتابخانه کالیبر بخوان" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "اخبار را از اینترنت در قالب کتاب الکترونیکی دانلود کن" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "نشان دادن سریع لیستی از کتاب های مرتبط" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "کتابهارا از کتابخانه کالیبر به هارد خود منتقل کن" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "مشخصات کتاب را در یک پنجره موقت نشان بده" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "شروع مجدد کالیبر" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -"باز کردن پوشه ای که حاوی پرونده های مربوط به کتاب های موجود در کتاب خانه " -"کالیر شماست" +"پوشه‌ی محتوی فایل‌های کتاب‌های موجود در کتابخانه‌ی کالیبرتان را باز کنید" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "فرستادن کتاب ها به دستگاه متصل شده" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" +"کتاب‌های‌تان را از طریق ایمیل یا وب ارسال کنید و همچنین به گونه‌ای به آی-" +"تیونز یا پوشه‌های موجود بر روی رایانه‌ی‌تان متصل شوید که گویی دستگاه‌‌های " +"ذخیره‌سازی هستند." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "باز کردن راهنمای کاربر کالیبر" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" -msgstr "اختصاصی کردن کالیبر" +msgstr "کالیبر را سفارشی‌سازی کنید" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" -msgstr "" +msgstr "به راحتی کتاب‌های مشابه کتاب منتخب‌تان را بیابید" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" +"میان کتابخانه‌های مختلف کالیبر جابجا شده و آن‌ها را حفظ و نگهداری کنید" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "کپی کردن کتاب ها از دستگاه به کتاب خانه کالیبر شما" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "کپی یک کتاب از یک کتاب خانه کالیبر به دیگری" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "کتابی اتفاقی از کتابخانه کالیبره انتخاب کنید" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "شکل و شمایل" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "واسط" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "شکل و شمایل کالیبره را برای مطابقت با سلیقه خودتان تنظیم کنید" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "رفتار" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "نحوه رفتار کالیبره را عوض کنید" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "ستون های خودتان را اظافه کنید" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "نوار ابزار" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "جستجو" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "گزینه های ورودی" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "تبدیل" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "قرار دادن خصوصیات تبدیل شدن برای هر فرمت ورودی به طور مجزا" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "گزینه‌های معمول" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "قرار دادن خصوصیات مشترک تبدیل برای تمام فرمت ها" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "گزینه های خروجی" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "قرار دادن خصوصیات تبدیل شدن برای هر فرمت خروجی به طور مجزا" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "اضافه کردن کتاب" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "وارد کردن/فرستادن" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "تنظیم چگونگی خوانش مشخصات کتاب، در هنگام اضافه شدن کتاب، توسط کالیبر" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "ذخیره کردن کتاب ها بر روی هارد" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -562,50 +565,50 @@ msgstr "" "چگونگی فرستادن فایلها از روی کتابخانه ی کالیبر بر روی هارد در هنگام استفاده " "از \"ذخیره بر روی هارد\"" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "تغییر قسمت های مشخصات کتاب قبل از ذخیره کردن/فرستادن" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "پیشرفته" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "به اشتراک گذاشتن کتاب ها بوسیله ی پست الکترونیکی" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "به‌اشتراک گذاشتن" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -613,66 +616,66 @@ msgstr "" "تنضیمات اشتراک گذاری کتاب ه بوسیله ی پست الکترونیکی. می تواند برای ارسال " "خودکار اخبار بار گذاری شده به وسیله ی شما استفاده شود" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "به اشتراک گذاشتن بر روی شبکه" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "دریافت مشخصات کتاب" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "چگونگی دریافت مشخصات کتاب توسط کالیبر" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "افزونه‌ها" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "اضافه/حذف/دلبخواه کردن قابلیت های مختلف کالیبر" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "تنظیمات کوچک" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "بهینه کردن اعمال کالیبر در موارد مختلف" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "صفحه‌کلید" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "تنظیم دلبخواه \"میان بر\" های کالیبر بر روی صفحه کلید" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "گوناگون" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "تنظیمات حرفه ای گوناگون" @@ -968,8 +971,8 @@ msgstr "فعال کردن افزونه ی نام برده شده" msgid "Disable the named plugin" msgstr "غیر فعال کردن افزونه ی نام برده شده" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -979,11 +982,22 @@ msgstr "غیر فعال کردن افزونه ی نام برده شده" msgid "Path to library too long. Must be less than %d characters." msgstr "آدرس برای کتاب خانه طولانی است. باید کمتر از %d حرف باشد." -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -995,26 +1009,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "اصلی" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1027,11 +1041,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" @@ -1039,14 +1053,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1054,7 +1068,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1062,45 +1076,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1128,23 +1167,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1267,8 +1306,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "" @@ -1316,10 +1355,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1360,6 +1399,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1678,17 +1718,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1696,12 +1736,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1709,7 +1749,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1721,7 +1761,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1734,10 +1774,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1794,66 +1836,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1861,7 +1903,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1870,11 +1912,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1894,55 +1936,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2067,7 +2109,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2548,7 +2590,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2857,23 +2899,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3161,15 +3203,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4123,7 +4169,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4147,27 +4193,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4203,13 +4249,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4218,9 +4265,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4230,7 +4278,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4242,8 +4290,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4355,60 +4403,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4416,13 +4464,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4432,6 +4498,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4491,12 +4598,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4523,72 +4630,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4597,14 +4704,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4629,12 +4736,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4667,7 +4774,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4792,9 +4899,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4810,11 +4917,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4857,6 +4964,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5011,7 +5122,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5133,12 +5244,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5215,8 +5326,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5337,7 +5448,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5385,7 +5496,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5399,7 +5510,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5411,12 +5522,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5556,7 +5667,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5584,7 +5695,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5625,7 +5736,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5638,96 +5749,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5746,6 +5870,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5818,75 +5943,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5962,12 +6089,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6051,8 +6178,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6088,7 +6215,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6158,15 +6285,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6271,17 +6398,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6290,185 +6428,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6585,7 +6734,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6690,7 +6839,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6702,30 +6851,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6735,11 +6884,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -7003,7 +7152,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7213,7 +7362,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7223,7 +7372,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7257,16 +7406,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7334,7 +7492,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7520,7 +7678,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7860,8 +8018,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8777,59 +8935,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8841,13 +9003,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9085,6 +9263,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9651,7 +9833,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9697,81 +9879,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9933,7 +10115,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10444,13 +10626,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10484,8 +10666,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10504,13 +10686,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10609,7 +10791,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10657,12 +10839,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10757,40 +10939,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11658,6 +11840,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11693,12 +11876,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12272,12 +12455,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12329,6 +12512,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12343,6 +12527,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13219,7 +13404,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13263,7 +13448,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13273,66 +13458,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13345,32 +13534,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13379,30 +13568,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13507,7 +13696,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -14005,7 +14194,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14150,15 +14339,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14166,27 +14355,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14194,38 +14383,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14366,7 +14561,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14409,34 +14605,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14485,12 +14681,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15403,10 +15599,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15424,7 +15616,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16392,20 +16584,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16438,18 +16630,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16824,83 +17016,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17176,32 +17518,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17315,46 +17657,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17376,13 +17718,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17475,7 +17817,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17514,138 +17856,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17656,56 +17998,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17747,73 +18089,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17821,134 +18174,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18027,31 +18425,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18059,11 +18457,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18079,16 +18477,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18111,34 +18509,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18679,29 +19077,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19949,44 +20347,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19995,59 +20393,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20058,28 +20456,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20089,11 +20497,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20103,15 +20511,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20126,7 +20534,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20136,40 +20544,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20180,28 +20588,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20212,13 +20620,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20238,11 +20646,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20253,30 +20661,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20288,17 +20696,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20307,27 +20715,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20337,15 +20745,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20358,40 +20766,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20405,13 +20813,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20419,34 +20827,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20461,18 +20869,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20480,33 +20888,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20529,31 +20937,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20795,20 +21194,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20831,7 +21230,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20840,98 +21239,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20944,21 +21343,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21961,10 +22362,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22063,6 +22460,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22111,107 +22533,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22474,7 +22896,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/fi.po b/src/calibre/translations/fi.po index 23328fa2ff..a293739b81 100644 --- a/src/calibre/translations/fi.po +++ b/src/calibre/translations/fi.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2012-11-05 18:06+0000\n" "Last-Translator: Harry Salmimaa \n" "Language-Team: Finnish \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:11+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:27+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "Ei tee mitään" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "Ei tee mitään" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "Ei tee mitään" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "Ei tee mitään" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "Ei tee mitään" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "Ei tee mitään" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "Ei tee mitään" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -331,284 +331,284 @@ msgstr "Aseta metatiedot %s -tiedostoille" msgid "Set metadata from %s files" msgstr "Aseta metatiedot %s -tiedostoista" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "Lisää kirjoja joko calibreen tai liitettyyn laitteeseen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "Nouda sivuhuomautukset liitetystä Kindlestä (kokeellinen)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "Luo luettelo calibren kirjaston kirjoista" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "Muunna kirjoja eri e-kirjamuotoihin" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "Poista kirjoja calibren kirjastosta tai liitetystä laitteesta" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "Muokkaa calibren kirjaston kirjojen metatietoja" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "Lue calibren kirjastossa olevia kirjoja" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "Lataa uutisia internetistä e-kirjamuodossa" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Näytä nopeasti lista liittyvistä kirjoista" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "Vie kirjoja calibren kirjastosta kiintolevylle" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "Näytä kirjan tiedot erillisessä ponnahdusikkunassa" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "Käynnistä calibre uudelleen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "Lähetä kirjat liitettyyn laitteeseen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "Selaa calibren käyttöohjetta" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "Mukauta calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "Kopioi kirjoja liitetystä laitteesta calibren kirjastoon" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "Nouda uusia tai päivitettyjä plugineja calibreen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Ulkoasu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Käyttöliittymä" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" "Mukauta calibren käyttöliittymän ulkoasu ja käyttötuntuma sinulle " "mieleiseksi." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "Toiminta" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "Muuta calibren käyttäytymistä." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Lisää omia sarakkeita" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "Lisää/poista sarakkeita calibren kirjaluetteloon" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Työkalupalkki" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "Valitse työkalupalkeissa ja pikavalikoissa näkyvät toiminnot" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "Haku käynnissä" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "Tuontiasetukset" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Muuntaminen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "Valitse jokaisen syötemuodon muunnosasetukset" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Yleiset asetukset" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "Aseta kaikille tiedostomuodoille yhteiset muunnosasetukset" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "Vientiasetukset" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "Valitse jokaisen vientimuodon muunnosasetukset" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "Kirjojen lisääminen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "Tuonti ja vienti" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Säädä miten calibre lukee metatiedot tiedostoista kirjoja lisättäessä" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "Tallentaa kirjoja levylle" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" "Säädä miten calibre vie tiedostoja tietokannastaan valitaan Tallenna levylle" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "Kirjojen lähettäminen laitteisiin" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "Säädä miten calibre siirtää tiedostoja e-kirjojen lukijaasi" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "Muuta metatietokenttiä ennen tallentamista/lähettämistä" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "Mallitoiminnot" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "Lisäasetukset" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "Kirjojen jakaminen sähköpostitse" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "Jakaminen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -616,11 +616,11 @@ msgstr "" "Ota käyttöön kirjojen jakaminen sähköpostitse. Toimintoa voidaan käyttää " "lähettämään ladatut uutiset automaattisesti laitteellesi" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "Jakaminen verkon kautta" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -628,56 +628,56 @@ msgstr "" "Ota käyttöön calibren sisältöpalvelin. Sen avulla pääset käsiksi kirjastoosi " "verkon kautta missä tahansa ja millä tahansa laitteella" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "Metatietojen lataus" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Lisäosat" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Lisää/poista/mukauta calibren toimintoja" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "Hienosäätö" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "Hienosäädä calibren käyttäytymistä eri yhteyksissä" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "Näppäimistö" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Sekalaiset" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "Sekalaiset kehittyneet asetukset" @@ -984,8 +984,8 @@ msgstr "Salli nimetty lisäosa" msgid "Disable the named plugin" msgstr "Poista nimetty lisäosa käytöstä" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -995,11 +995,22 @@ msgstr "Poista nimetty lisäosa käytöstä" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -1011,26 +1022,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1043,11 +1054,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Uutiset" @@ -1055,14 +1066,14 @@ msgstr "Uutiset" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1070,7 +1081,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1078,45 +1089,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1144,23 +1180,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "Kommunikoi Android-puhelinten kanssa." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "Kommunikoi S60-puhelimien kanssa." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1288,8 +1324,8 @@ msgstr "" "Valitse 'Näytä yksityiskohdat' nähdäksesi listan." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "Luettelo" @@ -1338,10 +1374,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1382,6 +1418,7 @@ msgstr "Lisätään kirjoja laitteen metatietolistaan..." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1702,17 +1739,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1720,12 +1757,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1733,7 +1770,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1745,7 +1782,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1758,10 +1795,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1818,66 +1857,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1885,7 +1924,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1894,11 +1933,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1918,55 +1957,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "Kommunikoi Pandigital Novelin kanssa" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2091,7 +2130,7 @@ msgstr "Nook" msgid "Communicate with the Nook eBook reader." msgstr "Kommunikoi Nook-lukijan kanssa." -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2574,7 +2613,7 @@ msgid "There is insufficient free space on the storage card" msgstr "Muistikortilla ei ole riittävästi vapaata tilaa" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "%s renderöity" @@ -2929,23 +2968,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3233,15 +3272,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4208,7 +4251,7 @@ msgstr "" msgid "Set book ID" msgstr "Määritä kirjan ID" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4232,27 +4275,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "Tekijä(t)" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4288,13 +4331,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4303,9 +4347,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4315,7 +4360,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4327,8 +4372,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4440,60 +4485,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4501,13 +4546,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4517,6 +4580,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4576,12 +4680,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4608,72 +4712,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4682,14 +4786,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4714,12 +4818,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4752,7 +4856,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4877,9 +4981,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4895,11 +4999,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4942,6 +5046,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5096,7 +5204,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5219,12 +5327,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5301,8 +5409,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5423,7 +5531,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5471,7 +5579,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5485,7 +5593,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5497,12 +5605,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5642,7 +5750,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5670,7 +5778,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5711,7 +5819,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5724,96 +5832,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5832,6 +5953,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5904,75 +6026,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -6048,12 +6172,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6137,8 +6261,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6174,7 +6298,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6244,15 +6368,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6357,17 +6481,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6376,185 +6511,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6671,7 +6817,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6776,7 +6922,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6788,30 +6934,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6821,11 +6967,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "Tietoja Hanki kirjoja -toiminnosta" @@ -7089,7 +7235,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7299,7 +7445,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7309,7 +7455,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7343,16 +7489,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7420,7 +7575,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7606,7 +7761,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7946,8 +8101,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8863,59 +9018,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8927,13 +9086,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9171,6 +9346,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9737,7 +9916,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9783,81 +9962,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -10019,7 +10198,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10530,13 +10709,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10570,8 +10749,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10590,13 +10769,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10695,7 +10874,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10743,12 +10922,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10843,40 +11022,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11744,6 +11923,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11779,12 +11959,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12358,12 +12538,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12415,6 +12595,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "Julkaisijat" @@ -12429,6 +12610,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13305,7 +13487,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13349,7 +13531,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13359,66 +13541,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13431,32 +13617,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "Koko (Mt)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13465,30 +13651,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13593,7 +13779,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -14091,7 +14277,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14236,15 +14422,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14252,27 +14438,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14280,38 +14466,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14452,7 +14644,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14495,34 +14688,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14571,12 +14764,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15489,10 +15682,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15510,7 +15699,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16478,20 +16667,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16524,18 +16713,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16910,83 +17099,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "Haku (Enemmän hakuvaihtoehtoja: napsauta kuvaketta vasemmalla)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "Tallennetut haut" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "Tallennettujen hakujen hallinta" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17262,32 +17601,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "Muokkaa Hanki kirjoja -hakua" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17401,46 +17740,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17462,13 +17801,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "Tallennettujen hakujen hallinta" @@ -17561,7 +17900,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "Järjestä" @@ -17600,138 +17939,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17742,56 +18081,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17833,73 +18172,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17907,134 +18257,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18113,31 +18508,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "&Tue calibren toimintaa lahjoituksella" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18145,11 +18540,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18165,16 +18560,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18197,34 +18592,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18765,29 +19160,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -20046,44 +20441,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -20092,59 +20487,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20155,28 +20550,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20186,11 +20591,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20200,15 +20605,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20223,7 +20628,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20233,40 +20638,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20277,28 +20682,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20309,13 +20714,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20335,11 +20740,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20350,30 +20755,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20385,17 +20790,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20404,27 +20809,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20434,15 +20839,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20455,40 +20860,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20502,13 +20907,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20516,34 +20921,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20558,18 +20963,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20577,33 +20982,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20626,31 +21031,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20892,20 +21288,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20928,7 +21324,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20937,98 +21333,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -21041,21 +21437,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -22058,10 +22456,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22160,6 +22554,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22208,107 +22627,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "Lataus valmistui" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22575,7 +22994,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/fo.po b/src/calibre/translations/fo.po index 5498246faf..ba965e11eb 100644 --- a/src/calibre/translations/fo.po +++ b/src/calibre/translations/fo.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2011-08-05 17:17+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: Faroese \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:11+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:27+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -325,345 +325,345 @@ msgstr "" msgid "Set metadata from %s files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -941,8 +941,8 @@ msgstr "" msgid "Disable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -952,11 +952,22 @@ msgstr "" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -968,26 +979,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1000,11 +1011,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" @@ -1012,14 +1023,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1027,7 +1038,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1035,45 +1046,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1101,23 +1137,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1240,8 +1276,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "" @@ -1289,10 +1325,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1333,6 +1369,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1651,17 +1688,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1669,12 +1706,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1682,7 +1719,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1694,7 +1731,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1707,10 +1744,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1767,66 +1806,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1834,7 +1873,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1843,11 +1882,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1867,55 +1906,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2040,7 +2079,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2521,7 +2560,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2830,23 +2869,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3134,15 +3173,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4093,7 +4136,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4117,27 +4160,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4173,13 +4216,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4188,9 +4232,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4200,7 +4245,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4212,8 +4257,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4325,60 +4370,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4386,13 +4431,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4402,6 +4465,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4461,12 +4565,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4493,72 +4597,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4567,14 +4671,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4599,12 +4703,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4637,7 +4741,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4762,9 +4866,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4780,11 +4884,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4827,6 +4931,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4981,7 +5089,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5103,12 +5211,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5185,8 +5293,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5307,7 +5415,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5355,7 +5463,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5369,7 +5477,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5381,12 +5489,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5526,7 +5634,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5554,7 +5662,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5595,7 +5703,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5608,96 +5716,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5716,6 +5837,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5788,75 +5910,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5932,12 +6056,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6021,8 +6145,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6058,7 +6182,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6128,15 +6252,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6241,17 +6365,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6260,185 +6395,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6555,7 +6701,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6660,7 +6806,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6672,30 +6818,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6705,11 +6851,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -6973,7 +7119,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7183,7 +7329,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7193,7 +7339,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7227,16 +7373,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7304,7 +7459,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7490,7 +7645,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7830,8 +7985,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8747,59 +8902,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8811,13 +8970,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9055,6 +9230,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9621,7 +9800,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9667,81 +9846,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9903,7 +10082,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10414,13 +10593,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10454,8 +10633,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10474,13 +10653,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10579,7 +10758,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10627,12 +10806,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10727,40 +10906,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11628,6 +11807,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11663,12 +11843,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12242,12 +12422,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12299,6 +12479,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12313,6 +12494,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13189,7 +13371,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13233,7 +13415,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13243,66 +13425,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13315,32 +13501,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13349,30 +13535,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13477,7 +13663,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13975,7 +14161,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14120,15 +14306,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14136,27 +14322,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14164,38 +14350,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14336,7 +14528,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14379,34 +14572,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14455,12 +14648,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15373,10 +15566,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15394,7 +15583,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16362,20 +16551,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16408,18 +16597,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16794,83 +16983,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17146,32 +17485,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17285,46 +17624,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17346,13 +17685,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17445,7 +17784,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17484,138 +17823,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17626,56 +17965,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17717,73 +18056,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17791,134 +18141,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -17997,31 +18392,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18029,11 +18424,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18049,16 +18444,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18081,34 +18476,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18649,29 +19044,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19919,44 +20314,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19965,59 +20360,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20028,28 +20423,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20059,11 +20464,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20073,15 +20478,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20096,7 +20501,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20106,40 +20511,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20150,28 +20555,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20182,13 +20587,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20208,11 +20613,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20223,30 +20628,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20258,17 +20663,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20277,27 +20682,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20307,15 +20712,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20328,40 +20733,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20375,13 +20780,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20389,34 +20794,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20431,18 +20836,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20450,33 +20855,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20499,31 +20904,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20765,20 +21161,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20801,7 +21197,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20810,98 +21206,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20914,21 +21310,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21931,10 +22329,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22033,6 +22427,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22081,107 +22500,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22444,7 +22863,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/fr.po b/src/calibre/translations/fr.po index 0f8ccfb23b..b155f0f89e 100644 --- a/src/calibre/translations/fr.po +++ b/src/calibre/translations/fr.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: calibre 0.4.22\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" -"PO-Revision-Date: 2013-03-23 10:04+0000\n" -"Last-Translator: FxB \n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" +"PO-Revision-Date: 2013-04-28 23:36+0000\n" +"Last-Translator: Arnaud V. \n" "Language-Team: PCGen\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:11+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-30 05:15+0000\n" +"X-Generator: Launchpad (build 16580)\n" "Language: fr\n" "X-Poedit-Bookmarks: 1177,1104,-1,-1,-1,-1,-1,-1,-1,-1\n" "Generated-By: pygettext.py 1.5\n" @@ -26,16 +26,16 @@ msgid "Does absolutely nothing" msgstr "Ne fait strictement rien" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -90,8 +90,8 @@ msgstr "Ne fait strictement rien" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -102,9 +102,9 @@ msgstr "Ne fait strictement rien" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -113,7 +113,7 @@ msgstr "Ne fait strictement rien" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -126,7 +126,7 @@ msgstr "Ne fait strictement rien" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -148,13 +148,13 @@ msgstr "Ne fait strictement rien" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -163,33 +163,33 @@ msgstr "Ne fait strictement rien" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -336,79 +336,79 @@ msgstr "Définir les métadonnées des fichiers %s" msgid "Set metadata from %s files" msgstr "Définir les métadonnées à partir des fichiers %s" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "Ajouter des livres à calibre ou à l’appareil connecté" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "Récupérer les annotations depuis un Kindle connecté (expérimental)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "" "Générer un catalogue des livres présents dans votre librairie calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "Convertir des livres vers divers formats de livres numériques" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "Affiner le réglage de vos Livres" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "Éditer le sommaire de vos libres" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" "Supprimer des livres de votre librairie calibre ou d'un périphérique connecté" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "Modifier les métadonnées des livres dans votre librairie calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "Lire des livres dans votre librairie calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "" "Télécharger les informations depuis Internet sous forme de livre numérique" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Afficher rapidement une liste des livres connexes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" "Exporter des livres à partir d’une librairie calibre vers le disque dur" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "Afficher les détails du livre dans une infobulle séparée" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "Redémarrer calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" "Ouvrir le répertoire contenant les fichiers du livre dans votre librairie " "calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "Envoyer les livres vers l’appareil connecté" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" @@ -417,48 +417,48 @@ msgstr "" "iTunes ou bien à des répertoires sur votre ordinateur comme s'ils étaient " "des appareils." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "Parcourir le manuel utilisateur de calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "Personnaliser calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" "Trouver facilement des livres similaires à celui sélectionné actuellement" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" "Basculer entre les différentes librairies calibre et effectuer de la " "maintenance dessus" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "Copier des livres de votre appareil vers votre librairie calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" "Modifier les collections dans lesquelles les livres seront placés sur votre " "appareil" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "Copier un livre depuis une librairie calibre vers une autre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" "Effectuer de petites personnalisations sur les fichiers EPUB ou htmlz de " "votre bibliothèque calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" @@ -466,59 +466,59 @@ msgstr "" "Trouver la correspondance précédente ou suivante lors des recherches dans " "votre librairie calibre en mode surligné" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "Choisir un livre au hasard à partir de votre librairie calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "Rechercher des livres à partir de différents revendeurs de livres" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" "Obtenir les nouveaux modules d’extension Calibre ou mettre à jour ceux " "existant" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Apparence" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Interface" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" "Ajuster l’aspect et l’ergonomie de l’interface de calibre à votre convenance" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "Comportement" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "Changer le comportement de calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Ajouter vos colonnes personnalisées" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "Ajouter/retirer vos colonnes personnalisées de la liste des livres" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Barre d’outils" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -526,69 +526,69 @@ msgstr "" "Personnaliser les barres d’outils et les menus contextuels, en changeant les " "actions disponibles dans ceux-ci" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "Recherche en cours" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" "Personnaliser la façon dont la recherche de livres fonctionne dans calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "Options de saisie" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Conversion" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" "Définissez les options de conversion spécifiques pour chaque format d’entrée" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Options communes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" "Définir les options de conversion communes à tous les formats d’entrée" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "Options de sortie" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "Définir des options de conversion pour chaque format de sortie" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "Ajout de livres en cours" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "Importer/Exporter" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Définir comment les métadonnées sont lues par calibre lors de l’ajout de " "livres" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "Enregistrement des livres sur le disque en cours" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -596,52 +596,52 @@ msgstr "" "Contrôler la manière dont calibre exporte les fichiers de sa base de données " "vers le disque lors de l'enregistrement vers le disque" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "Envoi des livres vers appareils en cours" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" "Contrôler la manière dont calibre exporte les fichiers vers votre lecteur de " "livres numériques" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "Tableau de connexions de métadonnées" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "Modifier les champs de métadonnées avant enregistrement ou envoi" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "Modèles de fonctions" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "Avancé" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "Créer votre propre modèle de fonction" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "Partager des livres par courriel" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "Partage en cours" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -650,11 +650,11 @@ msgstr "" "envoyer automatiquement les dernières informations téléchargées à vos " "appareils" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "Partage sur internet en cours" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -662,22 +662,22 @@ msgstr "" "Installer le serveur de contenu de calibre qui vous permet d’accéder à votre " "bibliothèque calibre n’importe où, sur tous vos appareils, via Internet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "Télécharger les métadonnées" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" "Contrôler comment calibre télécharge les métadonnées du livre numérique à " "partir d'internet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "Périphériques ignorés" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." @@ -685,38 +685,38 @@ msgstr "" "Gérer les périphériques qui seront ignorés par Calibre lorsqu'ils seront " "connectés" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Extensions" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Ajouter/Retirer/Personnaliser diverses fonctionnalités de calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "Ajustements" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" "Affiner la manière dont calibre se comporte dans différents contextes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "Clavier" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "Personnaliser les raccourcis claviers utilisés par calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Divers" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "Diverses configurations avancées" @@ -1031,8 +1031,8 @@ msgstr "Activer le module d’extension nommé" msgid "Disable the named plugin" msgstr "Désactive le module d’extension nommé" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -1043,11 +1043,22 @@ msgid "Path to library too long. Must be less than %d characters." msgstr "" "Chemin de la librairie trop long. Doit être inférieur à %d caractères." -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "préférences restaurées " + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "crée des colonnes personnalisées " + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -1059,26 +1070,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "%(tt)sLa notation moyenne est de %(rating)3.1f" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "Principal" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "Carte A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "Carte B" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1091,11 +1102,11 @@ msgstr "Carte B" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Informations" @@ -1103,14 +1114,14 @@ msgstr "Informations" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "Vérifié" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "Oui" @@ -1118,7 +1129,7 @@ msgstr "Oui" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "Non" @@ -1126,45 +1137,70 @@ msgstr "Non" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "Non vérifié" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "Aujourd’hui" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "Hier" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "Ce mois-ci" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "il y a quelques jours" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "Erreur de conversion de nombre : {0}" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "Erreur de conversion de date : {0}" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "Valeur non numérique dans la requête : {0}" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "Vide" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "vierge" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "Requête booléenne invalide \"{0}\"" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1199,7 +1235,7 @@ msgstr "Aucune extension nommée %s trouvée" msgid "Communicate with Android phones." msgstr "Communiquer avec les téléphones Android" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" @@ -1208,7 +1244,7 @@ msgstr "" "livres numériques vers la mémoire principale de l’appareil. Le " "premier existant sera utilisé." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" @@ -1217,11 +1253,11 @@ msgstr "" "livres numériques vers les cartes mémoire de l’appareil. Le premier " "existant sera utilisé." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "Communiquer avec les téléphones S60" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "Communique avec une tablette WebOS" @@ -1380,8 +1416,8 @@ msgstr "" "Cliquer sur « Afficher Détails » pour une liste." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "Catalogue" @@ -1437,10 +1473,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1481,6 +1517,7 @@ msgstr "Ajoute les livres à liste des métadonnées de l’appareil…" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1822,17 +1859,17 @@ msgstr "" "couverture." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "Télécharger les couvertures en noir et blanc" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "Montrer les livres expirés" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1844,12 +1881,12 @@ msgstr "" "nouvelle logique de suppression." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "Afficher les aperçus" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1860,7 +1897,7 @@ msgstr "" "raison de les voir. Activer si vous souhaitez les voir/les effacer." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "Afficher les recommandations" @@ -1875,7 +1912,7 @@ msgstr "" "vers des sites où acheter. Autoriser, si vous voulez les voir/supprimer." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "Tentative de support d'un firmware plus récent" @@ -1888,16 +1925,18 @@ msgid "" msgstr "" "Kobo met à jour régulièrement le firmware et la version de la base de " "données. Avec cette option, Calibre tentera fonctionner en lecture-écriture -" -" Attention, danger!! N'activez que si vous êtes confortable avec l'idée de " +" Attention, danger !! N'activez que si vous êtes confortable avec l'idée de " "restaurer les paramètres d'usine de votre Kobo, et de tester des logiciels." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" "La version de base de donnée du Kobo n'est pas supportée - Regarder les " "détails" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1979,19 +2018,19 @@ msgstr "" "/>Progression dans le chapitre : %(chapter_progress)s%%
Point " "culminant : %(text)s
Notes : %(annotation)s

" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "Le Kobo Touch à partir du micrologiciel v2.00 supporte les étagères" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "Spécifier une colonne de type étiquettes pour la gestion automatique" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "Créer les étagères" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." @@ -1999,11 +2038,11 @@ msgstr "" "Créer de nouvelles étagères sur le Kobo Touch si elles n'existent pas. Ceci " "n'est valable que pour le micrologiciel v2.00 ou plus récent." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "Supprimer les étagères vides" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." @@ -2011,11 +2050,11 @@ msgstr "" "Supprimer toutes les étagères vides du Kobo Touch lorsque la synchronisation " "est finie. Ceci n'est valable que pour le micrologiciel v2.00 ou plus récent." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "Télécharger les couvertures des livres" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." @@ -2023,11 +2062,11 @@ msgstr "" "Charger les couvertures depuis la bibliothèque Calibre lors de l'envoi de " "livres vers le périphérique." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "Conserve le ratio d'aspect de la couverture" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." @@ -2035,7 +2074,7 @@ msgstr "" "Ne change pas, lors du chargement de couvertures, la proportion des images " "pour le périphérique. Concerne les version de firmware 2.3.1 et ultérieures." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " @@ -2046,11 +2085,11 @@ msgstr "" "redirections vers des sites d'achat. Activer, si vous voulez les " "voir/supprimer." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "Définir les informations de Séries" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -2063,7 +2102,7 @@ msgstr "" "peuvent être ajoutées à l'appareil que lorsque le livre a été traité par " "l'appareil. Activer si vous souhaitez définir les informations des séries." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -2073,16 +2112,16 @@ msgid "" msgstr "" "Kobo met à jour de manière régulière le micrologiciel et la version de la " "base de données. Avec cette option Calibre tentera d'effectuer une lecture-" -"écriture complète - Ici se trouvent les dragons!! Activer seulement si vous " +"écriture complète - Ici se trouvent les dragons !! Activer seulement si vous " "êtes à l'aise avec la restauration de votre Kobo aux paramètres par défauts " "et le test de logiciel. Ce pilote supporte le micrologiciel v2.0.x et la DB " "jusqu'à la version " -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "Titre à tester lors du débogage" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -2106,55 +2145,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "Communique avec le Sweex/Kogan/Q600/Wink" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "Communique avec le Pandigital Novel" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "Communique avec le VelocityMicro" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "Communique avec le GM2000" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "Communique avec l’Acer Lumiread" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "Communique avec le Aluratek Color" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "Communique avec le Trekstor" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "Communiquer avec le lecteur EEE" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "Communique avec la tablette adam" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "Communique avec la liseuse Nextbook" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "Communique avec la liseuse Moovybook" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "Communique avec le COBY" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "Communique avec le Ex124G" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2282,7 +2321,7 @@ msgstr "Le Nook" msgid "Communicate with the Nook eBook reader." msgstr "Communique avec la liseuse électronique Nook." -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "Communique avec les liseuses numériques Nook Color, TSR et Tablet." @@ -2859,7 +2898,7 @@ msgid "There is insufficient free space on the storage card" msgstr "Espace libre insuffisant sur la carte mémoire" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "Rendu de %s" @@ -3282,11 +3321,11 @@ msgstr "" "seulement si vous savez ce que vous faites, car il peut en résulter des " "effets de bords dérangeant pour le reste du processus de conversion." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "Fichier CSS utilisé pour la sortie au lieu du fichier par défaut" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" @@ -3294,7 +3333,7 @@ msgstr "" "Modèle utilisé pour la génération du fichier d’index html au lieu du fichier " "par défaut" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" @@ -3302,7 +3341,7 @@ msgstr "" "Modèle utilisé pour la génération du contenu html du livre au lieu du " "fichier par défaut" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3590,8 +3629,8 @@ msgid "" "This does not override the unit for margins!" msgstr "" "L'unité de mesure pour la taille des pages. L'unité par défaut est le pouce " -"(inch). Les choix possibles sont %s Note : Ce choix ne surcharge pas celui " -"fait pour les marges !" +"(inch). Les choix possibles sont %s Note : Ce choix ne surcharge pas celui " +"fait pour les marges !" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:63 #, python-format @@ -3672,20 +3711,23 @@ msgstr "" "préalablement à cette option." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." msgstr "" -"Rajoute un modèle HTML pour générer un pied de page sur chaque page. La " -"chaîne de caractères _PAGENUM_ sera remplacée par le numéro de page courant." +"Un modèle HTML utilisé pour générer %s sur chaque page. Les chaînes " +"_PAGENUM_, _TITLE_, _AUTHOR_ et _SECTION_ seront remplacées par leur valeur " +"courante." + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" +msgstr "Pieds de pages" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." -msgstr "" -"Un modèle HTML utilisé pour générer une en-tête sur chaque page. La chaîne " -"de caractères _PAGENUM_ sera remplacée par le numéro de page courant." +msgid "headers" +msgstr "En-têtes" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 msgid "" @@ -4967,7 +5009,7 @@ msgstr "" msgid "Set book ID" msgstr "Définit l’ID du livre" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4994,27 +5036,27 @@ msgstr "Non" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "Titre" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "Auteur(s)" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "Éditeur" @@ -5050,13 +5092,14 @@ msgstr "Commentaires" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "Etiquettes" @@ -5065,9 +5108,10 @@ msgstr "Etiquettes" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -5077,7 +5121,7 @@ msgstr[0] "Série" msgstr[1] "Séries" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -5089,8 +5133,8 @@ msgstr "Horodatage" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "Publié" @@ -5233,62 +5277,62 @@ msgstr "" "Récupère les métadonnées sociales/la couverture du livre identifié par ISBN " "à partir de LibraryThing.com\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "Couverture" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "Télécharge les métadonnées et les couvertures à partir d’Amazon" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "US" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "France" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "Allemagne" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "RU" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "Italie" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "Japon" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "Espagne" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "Brésil" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "Site Amazon à utiliser:" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" "Les métadonnées d’Amazon seront récupérées en utilisant ce site web Amazon " "du pays.." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "Amazon : délai de connexion dépassé. Veuillez réessayer plus tard." @@ -5296,6 +5340,26 @@ msgstr "Amazon : délai de connexion dépassé. Veuillez réessayer plus tard." msgid "Metadata source" msgstr "Source de métadonnées" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" +"Télécharge plusieurs jaquettes de livres depuis Amazon. Utile pour trouver " +"des jaquettes alternatives." + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "Nombre maximal de jaquettes à obtenir" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " @@ -5304,7 +5368,7 @@ msgstr "" "Télécharge les métadonnées et les couvertures à partir de Douban.com. Utile " "seulement pour les livres en langue chinoise." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -5317,6 +5381,47 @@ msgid "Downloads metadata and covers from Google Books" msgstr "" "Télécharge les métadonnées et les couvertures à partir de Google Books" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "Taille de la jaquette" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "Large" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "Plus grand que %s" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "Télécharge les métadonnées à partir d’isbndb.com" @@ -5392,12 +5497,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "C’est un livre Amazon Topaz. Il ne peut pas être traité." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "Ceci n'est pas un fichier MOBI. C'est un fichier Topaz." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "Ceci n'est pas un fichier MOBI." @@ -5424,79 +5529,79 @@ msgid "" msgstr "" "Ce fichier mobile contient des données aux formats KF8 et MOBI 6. Le " "modifier effacera les données MOBI 6, ce qui signifie que le fichier ne sera " -"pas utilisable sur les anciens Kindles. Êtes-vous sûr ?" +"pas utilisable sur les anciens Kindles. Êtes-vous sûr ?" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer2/indexer.py:464 msgid "No details available" msgstr "Pas de détail disponible" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "Table des matières" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "Page de titre" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "Index" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "Glossaire" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "Remerciements" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "Bibliographie" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "Marque de l’imprimeur" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "Copyright" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "Dédicace" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "Epigraphe" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "Avant-propos" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "Liste d’illustrations" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "Liste des tables" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "Notes" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "Préface" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "Texte principal" @@ -5505,7 +5610,7 @@ msgstr "Texte principal" msgid "%s format books are not supported" msgstr "Les livres au format %s ne sont pas pris en charge" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " @@ -5516,7 +5621,7 @@ msgstr "" "des livres au format KF8. Les fichiers MOBI plus anciens, sans KF8, ne sont " "pas éditables." -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -5544,12 +5649,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -5582,11 +5687,8 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" -"

Insère une page \"jaquette\" au début du livre, qui contient toutes les " -"métadonnées du livre telles que le titre, les étiquettes, les auteurs, les " -"séries, les commentaires, etc.

" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 msgid "

Remove a previous inserted book jacket page.

\n" @@ -5715,9 +5817,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "(Sans titre)" @@ -5733,11 +5835,11 @@ msgid "HTML TOC generation options." msgstr "Options pour la génération des tables de matières HTML." #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "Note" @@ -5786,6 +5888,10 @@ msgstr "" "Impossible de trouver le programme pdftohtml, vérifiez qu’il est bien dans " "votre PATH" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5963,7 +6069,7 @@ msgid "Show this confirmation again" msgstr "Afficher cette confirmation à nouveau" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "Redémarrage nécessaire" @@ -6091,12 +6197,12 @@ msgstr "Contrôler l'ajout de livres" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -6118,7 +6224,7 @@ msgid "" "Are you sure you want to add the same files to all %d books? If the format " "already exists for a book, it will be replaced." msgstr "" -"Êtes vous sûr de vouloir ajouter les mêmes fichiers à ces %d livres? Si ce " +"Êtes-vous sûr de vouloir ajouter les mêmes fichiers à ces %d livres ? Si ce " "format existe déjà pour un livre, il sera remplacé." #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:107 @@ -6178,8 +6284,8 @@ msgstr "Ajouter à la bibliothèqye" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -6312,7 +6418,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "Sélectionner la destination pour %(title)s.%(fmt)s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -6325,8 +6431,8 @@ msgstr "Permission refusée" #, python-format msgid "Could not open %s. Is it being used by another program?" msgstr "" -"Impossible d’ouvrir %s. Est-il en cours d’utilisation par un autre programme " -"?" +"Impossible d’ouvrir %s. Est-il en cours d’utilisation par un autre " +"programme ?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:99 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:142 @@ -6365,7 +6471,7 @@ msgid "No existing calibre library found at %s" msgstr "Aucune librairie existante trouvée à %s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "Choisir la librairie" @@ -6379,7 +6485,7 @@ msgstr "Créer/Changer de bibliothèque …" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -6391,12 +6497,12 @@ msgid "Pick a random book" msgstr "Choisir un livre au hasard" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "Bascule rapide" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "Renommer la bibliothèque" @@ -6553,7 +6659,7 @@ msgstr "" "bibliothèque correspondent bien aux informations de la base de données?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -6586,7 +6692,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -6631,7 +6737,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "Créer un catalogue des livres de votre bibliothèque calibre" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "Conversion impossible" @@ -6646,89 +6752,102 @@ msgstr "" "Fichier de sortie vide, le processus de conversion a probablement cessé de " "fonctionné" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "%(title)s par %(author)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "Choisissez la bibliothèque" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "&Chemin de la bibliothèque[nnbsp]:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "Rechercher une bibliothèque" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" -msgstr "&Supprimer après la copie" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "Copier vers la bibliothèque" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "Copier les livres sélectionnés vers la bibliothèque spécifiée" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "(supprimer après copie)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "Choisir la bibliothèque par chemin..." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "Impossible de copier" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "Impossible de copier vers la bibliothèque actuelle." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "Pas de bibliothèque" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "Aucune bibliothèque n’a été trouvée à %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "%(num)d livres copiés vers %(loc)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "Impossible de copier les livres : " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "Auto fusionné" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " @@ -6739,7 +6858,7 @@ msgstr "" "voir lesquels. Cette action est contrôlée par l'option de fusion automatique " "dans Préférences-> Ajout de livres." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -6760,6 +6879,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "Êtes-vous sûr(e) ?" @@ -6772,7 +6892,7 @@ msgid "" "the files will be permanently deleted." msgstr "" "Vous voulez supprimer %d livres. L’envoi d’un nombre important de fichiers " -"dans la poubelle peut être lent. calibre doit-il éviter la poubelle? " +"dans la poubelle peut être lent. calibre doit-il éviter la poubelle ? " "Si vous cliquer sur Oui les fichiers seront définitivement supprimés." #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:43 @@ -6840,11 +6960,11 @@ msgstr "" "Le format %(fmt)s sera supprimé de manière permanente de %(title)s. " "Êtes-vous sur(e)?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "Choisir les formats à supprimer" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." @@ -6852,7 +6972,7 @@ msgstr "" "Choisir les formats à ne pas supprimer.

Noter que ceci ne " "supprimera jamais tous les formats d’un livre." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" @@ -6861,44 +6981,44 @@ msgstr "" "êtresupprimés de votre librairie.
Les métadonnées du livre seront " "conservés. Êtes-vous sûr?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "Impossible d’effacer les livres" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "Aucun appareil n’est connecté" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "Mémoire principale" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "Carte mémoire A" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "Carte mémoire B" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "Aucun livre à effacer" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "Aucun des livres sélectionnés n’est sur l’appareil" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "Suppression des livres dans l’appareil" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" @@ -6906,22 +7026,19 @@ msgstr "" "Certains des livres sélectionnés sont présents sur l’appareil connecté. A " "partir d’où voulez-vous supprimer les fichiers?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -"Les livres sélectionnés seront supprimés définitivement et les " -"fichiers associés seront retirés de votre bibliothèque calibre. Êtes-vous " -"certain?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" -"Les livres sélectionnés seront effacés de manière permanente de votre " -"appareil. Êtes-vous sûr de votre choix ?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 msgid "Start wireless device connection" @@ -6998,12 +7115,12 @@ msgstr "" "des périphériques spéciaux, etc." #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "Arrêt en cours" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" "Arrêt en cours du serveur, cela peut prendre plus d’une minute, veuillez " @@ -7019,7 +7136,7 @@ msgid "" "calibre starts?" msgstr "" "Voulez-vous que les connexions de périphériques sans-fil démarrent " -"automatiquement lorsque Calibre est lancé?" +"automatiquement lorsque Calibre est lancé ?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:264 msgid "Still looking for IP addresses" @@ -7093,8 +7210,8 @@ msgstr "Echec du téléchargement des métadonnées" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "Le téléchargement a échoué." @@ -7138,7 +7255,7 @@ msgid "Download complete" msgstr "Téléchargement terminé" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "Journal de Téléchargement" @@ -7178,7 +7295,7 @@ msgid "" "proceed?" msgstr "" "Vous allez fusionner plus de 5 livres. Êtes-vous sûr de vouloir " -"lancer le traitement ?" +"lancer le traitement ?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:343 #, python-format @@ -7235,15 +7352,15 @@ msgstr "" "permanente de votre bibliothèque calibre.

Êtes vous sûr de " "vouloir continuer?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "Valide les modifications de métadonnées" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "Des échecs" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -7352,17 +7469,28 @@ msgstr "Polire %d livres" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -7377,7 +7505,7 @@ msgstr "" "Calibre.

Il y a une option séparée pour mettre à jour la " "couverture.

" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " @@ -7387,178 +7515,189 @@ msgstr "" "la couverture actuelle dans la bibliothèque Calibre. Si le fichier du livre " "n'a pas de couverture identifiable, une nouvelle couverture est insérée." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "

Jaquette de livre

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "&Sous-ensemble de toutes les polices incorporées" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "&Ponctuation arrangée" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "À propos" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "&Tout sélectionner" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "Tout &désélectionner" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -7682,7 +7821,7 @@ msgid "Click the show details button to see which ones." msgstr "Cliquer le bouton afficher les détails pour voir lesquels." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "Afficher les détails du livre" @@ -7789,7 +7928,7 @@ msgid "this book" msgstr "ce livre" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "Rechercher %s" @@ -7801,17 +7940,17 @@ msgstr "Boutiques" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "Choisir les boutiques" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "Impossible de rechercher" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." @@ -7820,7 +7959,7 @@ msgstr "" "recherchant pour vous dans les sites de diverses sources commerciales et du " "domaine public." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " @@ -7830,7 +7969,7 @@ msgstr "" "magasin possède le livre que vous cherchez, au meilleur prix. Vous obtenez " "aussi le statut DRM et d’autres informations utiles." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -7847,11 +7986,11 @@ msgstr "" "si le livre a des GDN " "(DRM)." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "Afficher ce message à nouveau" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "A propos d’ Obtenir des Livres" @@ -8119,7 +8258,7 @@ msgstr "" "Vous essayer d’ouvrir %d livres. Ouvrir trop de livres en même temps peut " "provoquer des ralentissements et avoir des effets négatifs sur les temps de " "réponses de l’ordinateur. Une fois démarré le processus ne peut pas être " -"arrêté avant la fin. Voulez-vous continuer ?" +"arrêté avant la fin. Voulez-vous continuer ?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:182 msgid "Cannot open folder" @@ -8155,7 +8294,7 @@ msgid "The specified directory could not be processed." msgstr "Le chemin spécifié ne peut pas être traité." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "Aucun livre" @@ -8384,7 +8523,7 @@ msgid "Click to open" msgstr "Cliquer pour ouvrir" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "Ids" @@ -8394,7 +8533,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "Livre %(sidx)s de %(series)s" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "Collections" @@ -8428,16 +8567,25 @@ msgstr "Chemin" msgid "Cover size: %(width)d x %(height)d" msgstr "Taille de la couverture:%(width)d x %(height)d" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "Supprimer le format %s" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "Sauvegarder le format %s sur le disque" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "Options de BibTeX" @@ -8505,7 +8653,7 @@ msgstr "sortie" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -8672,12 +8820,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:981 #, python-format msgid "Are you sure you want to delete '%s'?" -msgstr "Êtes-vous sûr de vouloir supprimer '%s' ?" +msgstr "Êtes-vous sûr de vouloir supprimer « %s » ?" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:983 #, python-format msgid "Are you sure you want to delete rules #%(first)d-%(last)d?" -msgstr "Etes-vous sûr de vouloir supprimer les règles #%(first)d-%(last)d ?" +msgstr "Êtes-vous sûr de vouloir supprimer les règles #%(first)d-%(last)d ?" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:984 msgid "Delete Rule" @@ -8698,7 +8846,7 @@ msgstr "Vrai" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "Nom" @@ -9050,8 +9198,8 @@ msgid "Style the selected text block" msgstr "Appliquer le style au bloc de texte sélectionné" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "Normale" @@ -10039,7 +10187,7 @@ msgstr "Pas d’&Images" msgid "PDF Output" msgstr "Sortie PDF" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " @@ -10049,52 +10197,56 @@ msgstr "" "que si vous cochez la case \"Supplanter\" ci-dessous. Dans le cas contraire, " "la taille du profil de sortie sera utilisée." -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "&Supplanter la taille du papier définie dans le profile de sortie" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "Taille du &Papier :" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "&Taille personnalisée" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "&Unité :" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "Conserver les &proportions de la couverture" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "Rajoute le &numéro de page à chaque fin de page" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "Famille Se&rif :" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "Famille &Sans :" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "Famille &Monospace :" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "Police s&tandard :" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "Taille de la police par défaut" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -10106,14 +10258,30 @@ msgstr "Taille de la police par défaut" msgid " px" msgstr " px" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "Taille de la &police Monospace :" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" -msgstr "Rajoute le &numéro de page à chaque fin de page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 msgid "PMLZ Output" @@ -10379,6 +10547,10 @@ msgstr "" "cliquer sur le bouton Ajouter pour l'ajouter à la liste des expressions " "régulières." +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "Convertir" @@ -10820,7 +10992,7 @@ msgid "" "discard or apply these changes. Apply changes?" msgstr "" "Vous avez modifié les valeurs. Pour utiliser cet éditeur, vous devez soit " -"annuler soit appliquer ces changements. Appliquer les changements ?" +"annuler soit appliquer ces changements. Appliquer les changements ?" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:374 msgid " index:" @@ -10972,7 +11144,7 @@ msgstr "Erreur pendant la communication avec le lecteur électronique" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:860 #, python-format msgid "Manage the %s?" -msgstr "Gérer le %s ?" +msgstr "Gérer le %s ?" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:861 #, python-format @@ -10980,7 +11152,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "Le %s a été détecté. Voulez-vous qu'il soit géré par Calibre?" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "Pas de format convenable" @@ -11030,68 +11202,68 @@ msgstr "Appareil : " msgid " detected." msgstr " detecté." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "sélectionné pour l’envoi" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "Aucun appareil" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "Aucun périphérique connecté" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "%(num)i sur %(total)i Livres" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "Livre 0 de %i" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "Choisir le format à envoyer au lecteur" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "Impossible d’envoyer : Aucun appareil n’est connecté" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "Aucune carte" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "Impossible d’envoyer : L’appareil n’a pas de carte mémoire" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" "Convertir automatiquement les livres suivants avant de les télécharger dans " -"l’appareil ?" +"l’appareil ?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "Envoie les catalogues vers l’appareil." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "Envoie les informations vers l’appareil." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "Envoie les livres dans l’appareil." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." @@ -11100,18 +11272,18 @@ msgstr "" "convenable n’a été trouvé. Convertissez avant le(s) livre(s) vers un format " "pris en charge par votre appareil." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "Le lecteur électronique n’a plus d’espace mémoire disponible" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" "

Impossible d’envoyer les livres sur le lecteur : il n’y a plus assez " "d’espace mémoire disponible " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "Destination incorrecte" @@ -11298,7 +11470,7 @@ msgstr "Afficher les informations sur le périphérique" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -11747,7 +11919,7 @@ msgid "" "sure?" msgstr "" "Les fichiers et répertoires marqués seront définitivement supprimés. " -"Êtes-vous sûr(e) ?" +"Êtes-vous sûr(e) ?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_device_ui.py:49 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:45 @@ -11938,13 +12110,13 @@ msgid "Where do you want to delete from?" msgstr "A partir d’où voulez vous supprimer?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "Bibliothèque" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "Appareil" @@ -11980,8 +12152,8 @@ msgid "Location" msgstr "Emplacement" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -12000,13 +12172,13 @@ msgstr "%(curr)s (précédemment %(initial)s)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "L’article est vide" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" "Un article ne peut être défini à une valeur nulle. Supprimez le à la place." @@ -12089,7 +12261,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:23 msgid "Duplicates found!" -msgstr "Des doublons ont été détectés !" +msgstr "Des doublons ont été détectés !" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:29 msgid "" @@ -12118,7 +12290,7 @@ msgstr "Lien" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "Aucun résultat" @@ -12166,12 +12338,12 @@ msgid "Copy to author" msgstr "Copier vers auteur" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "Nom de l’auteur erroné" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "Les noms d’auteurs ne peuvent pas contenir le caractère &" @@ -12272,40 +12444,40 @@ msgstr "&Cacher toutes les tâches" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "&Copier dans le presse-papier" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "Afficher &détails" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "Cacher détails" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "Afficher l’information détaillée à propos de cette erreur" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "Copié" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "Afficher le journal" @@ -13279,6 +13451,7 @@ msgstr "Abandon…" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -13319,12 +13492,12 @@ msgstr "Articles" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "Trouver" @@ -13404,7 +13577,7 @@ msgid "" "The current saved search will be permanently deleted. Are you sure?" msgstr "" "La recherche sauvegardée actuelle sera définitivement supprimée. Êtes-" -"vous sûr(e) ?" +"vous sûr(e) ?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:94 msgid "Saved Search Editor" @@ -13995,12 +14168,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "Le port doit être un nombre compris entre 8000 et 32000" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "Problème lors du démarrage du périphérique sans fil" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "Le pilote du périphérique sans fil n'a pas démarré. Il dit \"%s\"" @@ -14060,6 +14233,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "&Autoriser automatiquement les connexions au démarrage de Calibre" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "Editeurs" @@ -14074,6 +14248,7 @@ msgstr "Nom de recherche de la catégorie : " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "Nom invalide" @@ -14160,7 +14335,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor.py:83 msgid "Are your sure?" -msgstr "Êtes-vous sûr(e) ?" +msgstr "Êtes-vous sûr(e) ?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor.py:84 msgid "" @@ -14168,7 +14343,7 @@ msgid "" "to delete them?" msgstr "" "Les étiquettes suivantes sont utilisées par un livre ou plus. Êtes-vous " -"certain de vouloir les supprimer ?" +"certain de vouloir les supprimer ?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:128 msgid "Tag Editor" @@ -14423,7 +14598,7 @@ msgstr "Remplacer la recette?" #, python-format msgid "A custom recipe named %s already exists. Do you want to replace it?" msgstr "" -"Une recette personnalisée nommée %s existe déjà. Voulez-vous la remplacer ?" +"Une recette personnalisée nommée %s existe déjà. Voulez-vous la remplacer ?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:288 msgid "Choose builtin recipe" @@ -14636,7 +14811,7 @@ msgstr "Envoi d’un courriel à" msgid "Auto convert the following books before sending via email?" msgstr "" "Convertir automatiquement les livres suivants avant de les envoyer par " -"courriel ?" +"courriel ?" #: /home/kovid/work/calibre/src/calibre/gui2/email.py:263 msgid "" @@ -14976,8 +15151,8 @@ msgstr "Pas de travail sélectionné" #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:598 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" -msgstr[0] "Voulez-vous vraiment arrêter le travail sélectionné ?" -msgstr[1] "Voulez-vous vraiment arrêter les travaux sélectionnés ?" +msgstr[0] "Voulez-vous vraiment arrêter le travail sélectionné ?" +msgstr[1] "Voulez-vous vraiment arrêter les travaux sélectionnés ?" #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:608 msgid "Do you really want to stop all non-device jobs?" @@ -15002,7 +15177,7 @@ msgid "&Shortcut:" msgstr "&Raccourci clavier :" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "Terminé" @@ -15048,7 +15223,7 @@ msgstr "Rechercher un raccourci par nom" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "Pas de résultats" @@ -15058,48 +15233,52 @@ msgstr "Pas de résultats" msgid "Could not find any shortcuts matching %s" msgstr "Impossible de trouver un raccourci correspondant à %s" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "Ejecter cet appareil" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "Configurer cet appareil" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "Afficher les livres dans la bibliothèque calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "Afficher les livres dans mémoire principale de l’appareil" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "Afficher les livres dans la carte mémoire A" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "Afficher les livres dans la carte mémoire B" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "Effacer la bibliothèque" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "disponible" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "Recherche avancée" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "Maj+Ctrl+F" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" @@ -15108,19 +15287,19 @@ msgstr "" "commentaires, etc.

Les mots séparés par des espaces sont traités avec " "des AND (et)" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "&Go!" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "Lancer une recherche rapide (vous pouvez aussi appuyer sur Enter)" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "Réinitialisation de la recherche rapide" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" "Copier le texte de recherche courant (au lieu du nom de la recherche)" @@ -15134,32 +15313,32 @@ msgstr "étoiles" msgid "Y" msgstr "Y" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "Dans l’appareil" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "Taille (Mo)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "Modifié" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "Le nom recherché/consulté est \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "L'UUID de ce livre est \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -15170,32 +15349,32 @@ msgstr "" "Impossible de changer l’emplacement du livre sur le disque. Est-il ouvert " "dans un autre programme?" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "Échec de la mise en place des données" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" "Échec de la mise en place des données, cliquer sur Afficher les détails pour " "voir pourquoi." -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "Dans la bibliothèque" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "Taille" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "Marqué pour suppression" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "Double clic pour m’ éditer

" @@ -15302,7 +15481,7 @@ msgid "Previous Page" msgstr "Page précédente" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -15424,7 +15603,7 @@ msgid "" "successful. If you say No, a new empty calibre library will be created." msgstr "" "La base de données de votre bibliothèque %s semble être corrompue. Voulez " -"vous que calibre tente de la reconstruire automatiquement? Cette " +"vous que calibre tente de la reconstruire automatiquement ? Cette " "reconstruction peut partiellement échouer. Si vous cliquer sur Non, une " "nouvelle base de données de votre bibliothèque calibre sera crée." @@ -15855,7 +16034,7 @@ msgid "Edit Metadata" msgstr "Éditer les métadonnées" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -16012,15 +16191,15 @@ msgstr "&Commentaires" msgid "Basic metadata" msgstr "Métadonnées basiques" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "Possède une couverture" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "Possède un résumé" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -16034,29 +16213,29 @@ msgstr "" "une couverture dans l’étape de téléchargement\n" "de couverture, et vice versa." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "Voir à" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "calibre télécharge les métadonnées à partir de : " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "Veuillez patienter" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "Requête : " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" "Le téléchargement des métadonnées a échoué. Cliquer Afficher Détails pour " "voir les détails" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -16068,42 +16247,46 @@ msgstr "" "le nom de famille de l'auteur et un unique mot distinctif du titre.

Pour " "voir le journal en entier, cliquer Afficher Détails." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "Couverture actuelle" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "Recherche en cours…" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "Téléchargement des couvertures pour %s, veuillez patienter…" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" "Impossible de télécharger toutes les couvertures, cliquer \"Afficher " "détails\" pour les détails" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "Impossible de trouver toutes les couvertures de %s" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -"%(num)d couvertures trouvées pour %(title)s. Choisir celle que vous " -"préférez le mieux." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "Télécharge les métadonnées…" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "Télécharge la couverture…" @@ -16284,10 +16467,9 @@ msgid "The Add &Process" msgstr "Le processus d’&Ajout" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" -"Ignore les fichiers avec les extensions suivantes lors d'un ajout " -"automatique " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 msgid "" @@ -16339,34 +16521,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "&Ajout automatique" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "Haute" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "Basse" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "Très faible" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "Compacter les Métadonnées" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "Par défaut" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "Tous dans un seul onglet" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "Tous les dialogues de confirmation ont été réinitialisés" @@ -16423,19 +16605,15 @@ msgid "Job &priority:" msgstr "&Priorité du travail :" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" -"Restrictions à appliquer quand la bibliothèque actuelle est ouverte :" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" -"Applique cette restriction au démarrage de calibre si la bibliothèque " -"actuelle est utilisée. S’applique également au changement de bibliothèque. " -"Notez que ce réglage est dépendant de la bibliothèque. " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170 msgid "Edit metadata (single) layout:" @@ -17475,10 +17653,6 @@ msgstr "Désactivé" msgid "Small" msgstr "Petit" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "Large" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "Moyen" @@ -17496,7 +17670,7 @@ msgid "Never" msgstr "Jamais" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "Par la première lettre" @@ -17812,7 +17986,7 @@ msgid "" msgstr "" "Ce module d’extension est utile seulement pour les livres en langue " "Chinoise. Il peut renvoyer des résultats incorrects pour des livres " -"en Anglais. Êtes-vous sûr de vouloir l’activer ?" +"en Anglais. Êtes-vous sûr de vouloir l’activer ?" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:158 msgid "Published date" @@ -18046,7 +18220,7 @@ msgstr "Ce format et cet appareil ont déjà un tableau de connexions" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:205 msgid "Possibly override plugboard?" -msgstr "Passer peut-être outre le tableau de connexions ?" +msgstr "Passer peut-être outre le tableau de connexions ?" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:206 msgid "" @@ -18055,7 +18229,7 @@ msgid "" msgstr "" "Un tableau de connexions plus général existe déjà pour ce format et cet " "appareil. Êtes-vous certains que vous voulez ajouter le nouveau tableau de " -"connexions ?" +"connexions ?" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:218 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:240 @@ -18069,11 +18243,11 @@ msgid "" msgstr "" "Des tableaux de connexions plus spécifiques à cet appareil existent déjà " "pour ce format. Êtes-vous certains de vouloir ajouter ce tableau de " -"connexions ?" +"connexions ?" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:230 msgid "Really add plugboard?" -msgstr "Réellement ajouter ce tableau de connexions ?" +msgstr "Réellement ajouter ce tableau de connexions ?" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:231 msgid "" @@ -18082,7 +18256,7 @@ msgid "" msgstr "" "Un tableau de connexions différent correspond déjà à ce format et cet " "appareil. Êtes-vous certains de vouloir ajouter ce nouveau tableau de " -"connexions ?" +"connexions ?" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:241 msgid "" @@ -18091,7 +18265,7 @@ msgid "" msgstr "" "Des tableaux de connexions plus spécifiques à ce format et cet appareil " "existent déjà, Êtes-vous certains de vouloir ajouter ce nouveau tableau de " -"connexions ?" +"connexions ?" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:252 msgid "The {0} device does not support the {1} format." @@ -18246,7 +18420,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:368 #, python-format msgid "Are you sure you want to remove the plugin: %s?" -msgstr "Êtes-vous sûr de vouloir supprimer le plugin: %s ?" +msgstr "Êtes-vous sûr de vouloir supprimer le plugin : %s  ?" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:373 msgid "Plugin {0} successfully removed" @@ -18684,20 +18858,20 @@ msgstr "" "d’extension de l’interface de l’appareil dans Préférences ▸ Avancé ▸ Modules " "d’extension" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "A échoué lors du démarrage du serveur de contenu" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "Journal d’erreur :" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "Journal des accès :" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "Vous devez redémarrer le serveur pour appliquer les changements" @@ -18738,23 +18912,19 @@ msgid "Max. &OPDS items per query:" msgstr "Nombre d’articles &OPDS max. par requête :" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" -msgstr "Nombre max. d’articles OPDS &non groupés :" +msgid "Max. &ungrouped items:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" -msgstr "Restrictions (recherche sauvegardée) à appliquer :" +msgid "Virtual library to apply:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" -"Cette restriction (basée sur une recherche sauvegardée) restreindra les " -"livres disponibles sur le serveur de contenu à ceux correspondant au " -"résultat de cette recherche. Ce réglage est dépendant de la bibliothèque " -"(c.a.d. que vous pouvez utiliser une restriction différente par bibliothèque)" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 msgid "" @@ -19239,44 +19409,54 @@ msgstr "Restaurer la valeur par &défaut" msgid "Apply any changes you made to this tweak" msgstr "Appliquer les changements que vous avez effectués à ce réglage" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" +msgstr "Créer la recherche sauvegardée" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 msgid "Delete current search" msgstr "Supprimer la recherche actuelle" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 msgid "No search is selected" msgstr "Aucune recherche n’est sélectionnée" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" "La recherche sélectionnée sera définitivement effacée. Êtes-vous sûr " -"de vouloir continuer?" +"de vouloir continuer ?" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" "Recherche (pour une recherche avancée cliquer sur le bouton à gauche)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "Lancer la recherche" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "Activer ou désactiver le surlignage de la recherche." -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "Recherches sauvegardées" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" "Choisir la recherche sauvegardée ou entrer un nom pour une nouvelle " "recherche à enregistrer" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." @@ -19284,47 +19464,185 @@ msgstr "" "Enregistrer la recherche actuelle avec le nom affiché dans la boîte. Appuyer " "et maintenir pour un menu contextuel d’options." -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "Créer la recherche sauvegardée" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "Supprimer la recherche sauvegardée" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "Gérer les recherches sauvegardées" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" -msgstr "*Recherche courante" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" -msgstr "Limiter à" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "(tous les livres)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -"L’affichage des livres sera limité à ceux correspondant à la recherche " -"sélectionnée sauvegardée" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " -msgstr " ou la recherche " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "({0} de {1})" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "({0} de tout)" @@ -19627,33 +19945,33 @@ msgstr "Téléchargement…" msgid "Goto in store..." msgstr "Accéder à la boutique" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" "En achetant dans cette boutique, vous aidez le développeur calibre: %s

" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "Pas de requête" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "Vous devez entrer un titre, un auteur ou un mot-clé à rechercher." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "Personnaliser la recherche pour obtenir des livres" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "Configurer la recherche" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "Impossible de trouver des livres correspondant à votre requête." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "Choisir le format à télécharger dans votre librairie." @@ -19778,52 +20096,52 @@ msgstr "Recharger" msgid "%p%" msgstr "%p%" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "Le nom du terme de recherche groupée est \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" "Changer les auteurs pour plusieurs livres peut prendre un certain temps. " "Êtes-vous sûr?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" "Changer les métadonnées pourautant de livres peut prendre un certain temps. " "Êtes-vous sûr?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "Recherches" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "Renommer la catégorie utilisateur" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" "Vous ne pouvez pas utiliser des points dans les noms pour renommer les " "catégories d’utilisateur" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "Le nom %s est déjà utilisé" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "Nom de recherche en double" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "Le nom de la recherche sauvegardé %s est déjà utilisé" @@ -19845,13 +20163,13 @@ msgid "Manage Tags" msgstr "Gérer Étiquettes" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "Gérer les Catégories définies par l’Utilisateur" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "Gérer les Recherches Sauvegardées" @@ -19957,7 +20275,7 @@ msgid "Alter Tag Browser" msgstr "Modifier le navigateur d'étiquettes" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "Classement par" @@ -20000,138 +20318,138 @@ msgstr "" "Tous ces category_managers sont disponible en faisant un click droit sur les " "items du navigateur d’étiquettes ci-dessus" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "Modifier l'icône pour : %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "Renommer %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "Supprimer %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "Editer le tri pour %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "Éditer le lien pour %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "Ajouter %s à la catégorie utilisateur" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "Enfants de %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "Supprimer la recherche %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "Supprimer %(item)s de la catégorie %(cat)s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "Rechercher tout sauf %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "Ajouter la sous-catégorie à %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "Supprimer la catégorie utilisateur %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "Cacher la catégorie %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "Afficher la catégorie" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "Rechercher les livres dans la catégorie %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "Rechercher les livres qui ne sont pas dans la catégorie %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "Gérer %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "Modifier l'icône de catégorie" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "Restaurer l'icône par défaut" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "Afficher toutes les catégories" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "Modifier le schéma des sous-catégories" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "Désactiver" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "Partition" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "La première lettre peut être utilisée seulement lors du tri par nom" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -20142,56 +20460,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -20233,73 +20551,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -20307,134 +20636,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -20522,33 +20896,33 @@ msgid "" "reconvert them?" msgstr "" "Les fichiers suivants ont déjà été convertis au format %s. Souhaitez-vous " -"les reconvertir ?" +"les reconvertir ?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "&Donner pour soutenir calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "&Restaurer" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "&Ejecter l’appareil connecté" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "Quitter calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "Vider la recherche courante" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "Mode de débogage" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -20559,11 +20933,11 @@ msgstr "" "calibre, le journal de débogage sera disponible dans le fichier : %s

Le " "journal sera affiché automatiquement." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "Erreur lors du démarage du serveur de contenu" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -20582,19 +20956,19 @@ msgid "" "successful." msgstr "" "La base de données de votre bibliothèque %s semble être corrompue. Voulez " -"vous que calibre tente de la reconstruire automatiquement? Cette " +"vous que calibre tente de la reconstruire automatiquement ? Cette " "reconstruction peut partiellement échouer." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "Erreur lors de la conversion" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "

Échec de la conversion de : %s" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -20636,38 +21010,38 @@ msgstr "" "votre liseuse.\n" " " -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "La conversion a échouée" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "Recette désactivée" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "Échoué" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" -msgstr "Il y a des travaux actifs. Voulez-vous vraiment quitter?" +msgstr "Il y a des travaux actifs. Voulez-vous vraiment quitter ?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -" communique avec l’appareil!
\n" +" communique avec l’appareil !
\n" " Quitter peut provoquer des corruptions dans " "l’appareil.
\n" -" Êtes-vous sûr de vouloir quitter ?" +" Êtes-vous sûr de vouloir quitter ?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "Travaux actifs" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -21248,29 +21622,29 @@ msgstr "Taille de police par défaut" msgid "S&earch Google for '%s'" msgstr "Ch&ercher sur Google %s" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "Zoom &avant" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "Zoom a&rrière" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "Enregi&strer sous" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "&Rotation" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "Choisissez un fichier dans lequel enregistrer" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "Voir l'Image : %s" @@ -21872,7 +22246,7 @@ msgid "" "This will display your email password on the screen. Is it OK to proceed?" msgstr "" "Ceci affichera votre mot de passe de courriel à l’écran. Voulez-vous " -"continuer ?" +"continuer ?" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:199 msgid "" @@ -22700,8 +23074,8 @@ msgid "" "changed. Use with care, as it can lead to database corruption!" msgstr "" "Désactive la notification dans l'interface utilisateur (si active) " -"concernant une modification de la base de données. A utiliser avec " -"précaution car cela peut provoquer une corruption de la base !" +"concernant une modification de la base de données. À utiliser avec " +"précaution car cela peut provoquer une corruption de la base !" #: /home/kovid/work/calibre/src/calibre/library/cli.py:149 msgid "" @@ -22754,8 +23128,8 @@ msgstr "" "la requête de recherche, veuillez consulter la section recherche dans le " "manuel utilisateur. Par défaut n’effectue aucun filtrage" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." @@ -22763,11 +23137,11 @@ msgstr "" "Largeur maximum pour une seule ligne en sortie. Par défaut détecte la taille " "de l’écran." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "La chaîne utilisée pour séparer des champs. Par défaut : un espace" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." @@ -22775,15 +23149,15 @@ msgstr "" "Préfixe de tous les répertoires. Par défaut : chemin absolu du dossier de la " "bibliothèque." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "Champs incorrects. Champs disponibles :" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "Champ de tri incorrect. Champs disponibles :" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" @@ -22791,13 +23165,13 @@ msgstr "" "Les livres suivants ne seront pas ajoutés car ils existent déjà dans la base " "de données (voir l’option --duplicates) :" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "Ajouter les ids de livre : %s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -22811,7 +23185,7 @@ msgstr "" "Vous pouvez aussi spécifier des répertoires, voir les options décrivant les " "répertoires ci-dessous.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" @@ -22819,11 +23193,11 @@ msgstr "" "Supposer que chaque répertoire dispose d’un livre logique et que tous les " "fichiers dans celui-ci sont des formats différents de ce même livre." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "Traite les répertoires récursivement" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." @@ -22831,43 +23205,43 @@ msgstr "" "Ajouter les livres dans la base de données même s’ils existent déjà. La " "comparaison est basée sur les titres des livres numériques." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "Ajouter un livre vide (un livre sans format)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "Définir le titre du(es) livre(s) ajouté(s)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "Définissez les auteurs du(es) livre(s) ajouté(s)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "Définir l'ISBN du(es) livre(s) ajouté(s)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "Définir les étiquettes du(es) livre(s) ajouté(s)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "Définir les séries du(es) livre(s) ajouté(s)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "Assigne le numéro de la série de(s) livre(s) ajoutés" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "Chemin à utiliser pour la couverture du livre ajouté" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "Vous devez spécifier au moins un fichier à ajouter" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -22885,33 +23259,38 @@ msgstr "" "Par exemple, 23,34,57-85 (quand un intervalle est précisé, le dernier nombre " "dans l’intervalle n’est pas inclus).\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "Vous devez spécifier au moins un fichier à supprimer" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" -"%prog add_format [options] id fichier_livre\n" -"\n" -"Ajouter le livre dans fichier_livre aux formats disponibles pour le livre " -"logique identifié par id. Vous pouvez obtenir l’identifiant à l’aide de la " -"commande list. Si le format existe déjà, il sera remplacé.\n" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "Veuillez indiquer un identifiant et un fichier de livre numérique" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "Les fichiers de livre numérique doivent avoir une extension" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -22928,11 +23307,11 @@ msgstr "" "extension de fichier comme LRF, TXT ou EPUB. Si le fichier logique n’a pas " "de format fmt disponible, n’effectue aucune action.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "Vous devez spécifier un identifiant et un format" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -22948,15 +23327,15 @@ msgstr "" "livre identifié par id.\n" "id est un identifiant obtenu à l’aide de la commande list.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "Imprimer les métadonnées dans un formulaire OPF (XML)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "Vous devez spécifier un identifiant" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -22983,7 +23362,7 @@ msgstr "" "individuels\n" "avec l'option --field.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -23001,41 +23380,41 @@ msgstr "" "syntaxe est {0} {2}. Pour les champs booléens (oui/non), utilisez \"true\" " "(vrai) ou \"false\" (faux) ou \"yes\" (oui) et \"no\" (non)." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" "Lister les champs de métadonnées pouvant être utilisés avec l'option --field" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "Nom du champ" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "Vous devez spécifier une id d'enregistrement comme premier argument" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "Vous devez spécifier soit un champ, soit un fichier opf" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "Le fichier OPF %s n'existe pas" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "%s n'est pas un champ connu" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -23054,29 +23433,29 @@ msgstr "" "un fichier opf). Vous pouvez obtenir les numéros id à partir de la commande " "list.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" "Exporter tous les livres dans la base, ignorer la liste des identifiants" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "Exporter les livres vers le répertoire spécifié. Par défaut" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "Exporter les livres vers un seul répertoire" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "Spécifier cette bascule desactivera ce comportement." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "Vous devez spécifier des identifiants ou l’option %s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -23094,7 +23473,7 @@ msgstr "" "colonne pour l’utilisateur.\n" "datatype est à choisir parmi : {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." @@ -23103,7 +23482,7 @@ msgstr "" "valeurs multiples séparées par des virgules). Appliqué seulement si le type " "de donnée est du texte." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -23141,11 +23520,11 @@ msgstr "" "fichier OPF ait été créé depuis l'ajout de la colonne). Vous verrez le JSON " "pour l'\"affichage\" de la nouvelle colonne dans l'OPF." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "Vous devez spécifier un libellé, un nom et un type de donnée" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -23164,7 +23543,7 @@ msgstr "" "la sortie catalogue générée.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" @@ -23175,7 +23554,7 @@ msgstr "" "Si déclaré, --search est ignoré.\n" "Par défaut : all" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" @@ -23186,16 +23565,16 @@ msgstr "" "Utilisateur.\n" "Par défaut: Pas de filtre" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "Affiche des informations détaillées. Utile pour le débogage" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "Erreur : Vous devez spécifier un fichier de sortie pour le catalogue" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -23216,7 +23595,7 @@ msgstr "" "utilisant la commande custom_columns.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." @@ -23224,11 +23603,11 @@ msgstr "" "Si la colonne stocke des valeurs multiples, ajouter les valeurs spécifiées à " "celles existantes, au lieu de les remplacer." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "Erreur : Vous devez spécifier un nom, identifiant et valeur de champ" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -23243,27 +23622,27 @@ msgstr "" "colonne et les identifiants.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "Afficher les détails pour chaque colonne." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "y" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -23280,15 +23659,15 @@ msgstr "" " les colonnes disponibles avec la commande custom_columns.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "Ne pas demander de confirmation" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "Erreur : Vous devez spécifier un libellé de colonne" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -23310,43 +23689,43 @@ msgstr "" " remplacée.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" "Erreur : vous devez préciser l’action à effectuer (ajouter|supprimer|lister)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "Nom :" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "Chaîne de recherche :" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "Erreur : vous devez fournir un nom et une chaîne de recherche" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "ajouté(e)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "Erreur : vous devez fournir un nom" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "supprimé(e)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" "Erreur : l’action %s n’est pas reconnue, celle-ci doit faire partie de : " "(ajouter|supprimer|lister)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -23373,7 +23752,7 @@ msgstr "" "sont mis à jour\n" "automatiquement, chaque fois que les métadonnées sont changées.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." @@ -23381,7 +23760,7 @@ msgstr "" "Normalement, cette commande opère seulement sur les livres qui ont des " "fichiers OPF périmés. Cette option la fait opérer sur tous les livres." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -23393,12 +23772,12 @@ msgstr "" "Réalise des vérifications sur le système de fichiers représentant une " "bibliothèque. Les rapports sont {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "Sortie en CSV" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" @@ -23406,7 +23785,7 @@ msgstr "" "Liste de rapports séparés par des virgules.\n" "Par défaut : tous" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" @@ -23414,7 +23793,7 @@ msgstr "" "Liste d’extensions à ignorer séparées par des virgules.\n" "Par défaut : toutes" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" @@ -23422,11 +23801,11 @@ msgstr "" "Liste de noms à ignorer séparés par des virgules.\n" "Par défaut : tous" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "Rapport de vérification inconnu" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -23456,7 +23835,7 @@ msgstr "" "les fichiers OPF.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." @@ -23464,13 +23843,13 @@ msgstr "" "Effectuer réellement la récupération. La commande ne sera pas exécuté si " "cette option n’est pas spécifiée." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" "Vous devez fournir l’option %s pour pouvoir effectuer une restauration" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -23484,7 +23863,7 @@ msgstr "" "Les informations sont les équivalents de ce qui est affiché dans le panneau " "des étiquettes.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" @@ -23492,7 +23871,7 @@ msgstr "" "Sort seulement le nombre d’articles dans une catégorie au lieu du nombre " "d’occurences par article à l’intérieur de la catégorie" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." @@ -23500,7 +23879,7 @@ msgstr "" "Le caractère à mettre autour de la valeur de la catégorie dans le mode CSV. " "Des guillemets (\") constituent le défaut." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" @@ -23508,17 +23887,17 @@ msgstr "" "Liste de catégories de noms de recherche séparées par des virgules.\n" "Par défaut: tous" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" "La chaîne utilisée pour séparer les champs en mode CSV. Par défaut une " "virgule." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "CATEGORIES D’ARTICLES" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -23552,31 +23931,22 @@ msgstr "" "L’étiquette ne doit contenir que des minuscules, des chiffres et des " "underscores (tirets bas), et commencer par une lettre" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "préférences restaurées " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "crée des colonnes personnalisées " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr " (%s livres)" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "

Migre l’ancienne base vers la bibliothèque dans %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "Copie %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "Compacte la base" @@ -23870,20 +24240,20 @@ msgstr "" "sur ce serveur à partir d’Apache/nginx/etc." #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "Tous les livres" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "Le plus récent" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "Chargement, veuillez patienter..." @@ -23906,7 +24276,7 @@ msgid "Browsing %d books" msgstr "Naviguer dans %d livres" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "Note moyenne" @@ -23915,98 +24285,98 @@ msgstr "Note moyenne" msgid "%(prefix)s: %(rating).1f stars" msgstr "%(prefix)s: %(rating).1f étoiles" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "%d étoile(s)" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "Popularité" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "bibliothèque" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "accueil" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "Livre au hasard" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "Naviguer dans les livres par:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "Choisissez une catégorie pour naviguer par :" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "Navigation par" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "Haut" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "dans" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "Livres en" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "Autres formats" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "Lire %(title)s au format %(fmt)s" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "Obtenir" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "Détails" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "Lien permanent" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "Un lien permanent vers ce livre" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "Ce livre a été supprimé" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "dans la recherche" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "Livres correspondants" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -24031,25 +24401,25 @@ msgstr "" "\n" "L’interface OPDS est affichée automatiquement via BonJour.\n" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" "Chemin vers le dossier de la bibliothèque à utiliser avec le serveur de " "contenu" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "Ecrire le PID du processus dans le fichier spécifié" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -"Précisez une restriction à appliquer pour cet appel. Cette option prend le " -"pas sur n’importe quel réglage de la bibliothèque spécifié dans l’UI" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -25350,10 +25720,6 @@ msgstr "matin" msgid "pm" msgstr "après midi" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -25455,6 +25821,31 @@ msgstr "Le code est en cours d’exécution" msgid "Restart console" msgstr "Redémarre la console" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "L’URL doit correspondre à un schéma sftp" @@ -25504,103 +25895,103 @@ msgid "The \"%s\" recipe needs a username and password." msgstr "" "La recette \"%s\" a besoin d’un nom d’utilisateur et d’un mot de passe." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "Téléchargement terminé" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "Impossible de télécharger les articles suivants;" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" "Impossible de télécharger certaines parties pour les articles suivants :" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr " de " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "\tLiens qui ont échoués :" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "Impossible de récupérer l’article." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" "Les informations de débogage sont disponibles précédement dans ce journal" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "Lancer avec -vv pour voir la raison" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "Récupération des flux…" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "Obtient les flux à partir de la page d’index" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "Essaie de télécharger la couverture…" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "Génération du masthead…" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "Commence le téléchargement [processus %d]…" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "Flux téléchargés de %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "Impossible de télécharger la couverture : %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "Télécharge la couverture de %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "L’image du titre a été téléchargée" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "Articles dans ce numéro: " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "Article sans titre" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "Article téléchargé : %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "Impossible de télécharger l’article : %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "Récupération du flux" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 msgid "" "Failed to log in, check your username and password for the calibre " "Periodicals service." @@ -25608,7 +25999,7 @@ msgstr "" "La connexion a échouée, vérifier votre nom d’utilisateur et votre mot de " "passe pour le service Périodique calibre." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -25968,17 +26359,9 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" -"Par défaut, calibre éclate une chaîne contenant plusieurs noms d’auteurs en " -"utilisant\n" -"les esperluettes et les mots « and » et « with ». Vous pouvez personnaliser " -"la séparation\n" -"en changeant l’expression rationnelle ci-dessous. Les chaînes sont éclatées " -"sur les \n" -"correspondances de l’expression rationnelle utilisée.\n" -"Par défaut : r'(?i),?\\s+(and|with)\\s+'" #: /home/kovid/work/calibre/resources/default_tweaks.py:85 msgid "Use author sort in Tag Browser" diff --git a/src/calibre/translations/fr_CA.po b/src/calibre/translations/fr_CA.po index eb6f07e92a..53455e518e 100644 --- a/src/calibre/translations/fr_CA.po +++ b/src/calibre/translations/fr_CA.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2012-03-30 13:27+0000\n" "Last-Translator: Richard Boudreau \n" "Language-Team: French (Canada) \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:25+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:42+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "Ne fait strictement rien" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "Ne fait strictement rien" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "Ne fait strictement rien" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "Ne fait strictement rien" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "Ne fait strictement rien" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "Ne fait strictement rien" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "Ne fait strictement rien" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -333,79 +333,79 @@ msgstr "Définir les métadonnées des fichiers %s" msgid "Set metadata from %s files" msgstr "Définir les métadonnées à partir des fichiers %s" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "Ajouter des livres à calibre ou à l'appareil connecté" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "Récupérer les annotations depuis un Kindle connecté (expérimental)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "" "Générer un catalogue des livres présents dans votre librairie calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "Convertir des livres vers divers formats d'ebook" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" "Supprimer des livres dans votre librairie calibre ou un périphérique " "connecté" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "Editer les métadonnées des livres dans votre librairie calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "Lire des livres dans votre librairie calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "Télécharger les nouvelles au format ebook" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Afficher rapidement une liste des livres connexes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" "Exporter des livres à partir d'une librairie calibre vers le disque dur" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "Afficher les détails du livre dans une info-bulle séparée" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "Redémarrer calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" "Ouvrir le répertoire contenant les fichiers du livre dans votre librairie " "calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "Envoyer les livres vers l'appareil connecté" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" @@ -413,48 +413,48 @@ msgstr "" "Envoyer les livres par email ou par le web aussi connecté à iTunes ou par " "des répertoires sur votre ordinateur vus comme des appareils." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "Parcourir le manuel utilisateur de Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "Personnaliser calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" "Trouver facilement des livres similaires à celui sélectionné actuellement" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" "Basculer entre les différentes librairies calibre et en effectuer la " "maintenance" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "Copier des livres de votre appareil vers votre librairie calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" "Éditer les collections dans lesquelles les livres seront placés dans votre " "appareil" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "Copier un livre depuis une librairie calibre vers une autre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" "Effectuez de petites personnalisations sur les fichiers epub ou htmlz de " "votre bibliothèque Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" @@ -462,57 +462,57 @@ msgstr "" "Trouver la correspondance précédente ou suivante lors des recherches dans " "votre librairie calibre en mode surligné" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "Choisir un livre au hasard à partir de votre librairie calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "Rechercher des livres à partir de différents revendeurs de livres" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "Obtenir les nouveaux plugins calibres ou mettre à jour ceux existant" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Apparence et ergonomie" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Interface utilisateur" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" "Ajuster l'aspect et l'ergonomie de l'interface de Calibre à votre convenance" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "Comportement des zones de texte" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "Changer le comportement de calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Ajouter vos colonnes personnalisées" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "Ajouter/retirer vos propres colonnes dans la liste des livres" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Barre d’outils" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -520,69 +520,69 @@ msgstr "" "Personnaliser les barres d'outils et les menus contextuels, en changeant les " "actions disponibles dans ceux-ci" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "Recherche en cours" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" "Personnaliser la façon dont la recherche de livres fonctionne dans calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "Options de saisie" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Conversion" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" "Définir les options de conversion spécfiques pour chaque format d'entrée" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Options générales" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" "Définisser les options de conversion communes à tous les formats d'entrée" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "Options de sortie" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "Définir des options de conversion pour chaque format de sortie" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "Ajout des livres" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "Importer/Exporter" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Définir comment les métadonnées sont lues par Calibre lors de l'ajout de " "livres" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "Enregistrer les livres sur le disque" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -590,52 +590,52 @@ msgstr "" "Contrôler la manière dont Calibre exporte les fichiers de sa base de données " "sur le disque lors des sauvegardes sur disque" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "Envoi des livres aux appareils en cours" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" "Contrôler la manière dont Calibre exporte les fichiers vers votre lecteur " "d'eBook" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "Tableau de connexions de métadonnées" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "Modifier les champs de métadonnées avant de sauvegarder/envoyer" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "Modèles de fonctions" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "Mode expert" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "Créer votre propre modèle de fonction" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "Partager des livres par courriel" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "Autopartage" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -644,11 +644,11 @@ msgstr "" "envoyer automatiquement les dernières informations téléchargées à vos " "appareils" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "Partager à travers le réseau" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -656,59 +656,59 @@ msgstr "" "Installer le serveur de contenu de calibre qui vous permet d’accéder à votre " "bibliothèque calibre n’importe où, sur tous vos appareils, via Internet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "Télécharger les métadonnées" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" "Contrôler comment calibre télécharge les métadonnées du livre numérique à " "partir du réseau" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Modules d’extension" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Ajouter/Retirer/Modifier diverses fonctionnalités de calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "Réglages" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" "Affiner la manière dont calibre se comporte dans différents contextes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "Clavier" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "Personnaliser les raccourcis claviers utilisés par calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Autres" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "Configurations avancées" @@ -993,8 +993,8 @@ msgstr "" msgid "Disable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -1004,11 +1004,22 @@ msgstr "" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -1020,26 +1031,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1052,11 +1063,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" @@ -1064,14 +1075,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1079,7 +1090,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1087,45 +1098,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1153,23 +1189,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1292,8 +1328,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "" @@ -1341,10 +1377,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1385,6 +1421,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1703,17 +1740,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1721,12 +1758,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1734,7 +1771,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1746,7 +1783,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1759,10 +1796,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1819,66 +1858,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1886,7 +1925,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1895,11 +1934,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1919,55 +1958,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2092,7 +2131,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2573,7 +2612,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2882,23 +2921,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3186,15 +3225,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4145,7 +4188,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4169,27 +4212,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4225,13 +4268,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4240,9 +4284,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4252,7 +4297,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4264,8 +4309,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4377,60 +4422,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4438,13 +4483,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4454,6 +4517,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4513,12 +4617,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4545,72 +4649,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4619,14 +4723,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4651,12 +4755,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4689,7 +4793,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4814,9 +4918,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4832,11 +4936,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4879,6 +4983,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5033,7 +5141,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5155,12 +5263,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5237,8 +5345,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5359,7 +5467,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5407,7 +5515,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5421,7 +5529,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5433,12 +5541,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5578,7 +5686,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5606,7 +5714,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5647,7 +5755,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5660,96 +5768,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5768,6 +5889,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5840,75 +5962,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5984,12 +6108,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6073,8 +6197,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6110,7 +6234,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6180,15 +6304,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6293,17 +6417,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6312,185 +6447,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6607,7 +6753,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6712,7 +6858,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6724,30 +6870,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6757,11 +6903,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -7025,7 +7171,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7235,7 +7381,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7245,7 +7391,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7279,16 +7425,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7356,7 +7511,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7542,7 +7697,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7882,8 +8037,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8799,59 +8954,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8863,13 +9022,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9107,6 +9282,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9673,7 +9852,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9719,81 +9898,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9955,7 +10134,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10466,13 +10645,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10506,8 +10685,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10526,13 +10705,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10631,7 +10810,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10679,12 +10858,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10779,40 +10958,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11680,6 +11859,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11715,12 +11895,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12294,12 +12474,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12351,6 +12531,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12365,6 +12546,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13241,7 +13423,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13285,7 +13467,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13295,66 +13477,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13367,32 +13553,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13401,30 +13587,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13529,7 +13715,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -14027,7 +14213,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14172,15 +14358,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14188,27 +14374,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14216,38 +14402,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14388,7 +14580,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14431,34 +14624,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14507,12 +14700,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15425,10 +15618,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15446,7 +15635,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16414,20 +16603,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16460,18 +16649,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16846,83 +17035,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17198,32 +17537,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17337,46 +17676,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17398,13 +17737,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17497,7 +17836,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17536,138 +17875,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17678,56 +18017,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17769,73 +18108,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17843,134 +18193,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18049,31 +18444,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18081,11 +18476,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18101,16 +18496,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18133,34 +18528,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18701,29 +19096,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19971,44 +20366,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -20017,59 +20412,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20080,28 +20475,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20111,11 +20516,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20125,15 +20530,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20148,7 +20553,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20158,40 +20563,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20202,28 +20607,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20234,13 +20639,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20260,11 +20665,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20275,30 +20680,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20310,17 +20715,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20329,27 +20734,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20359,15 +20764,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20380,40 +20785,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20427,13 +20832,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20441,34 +20846,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20483,18 +20888,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20502,33 +20907,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20551,31 +20956,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20817,20 +21213,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20853,7 +21249,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20862,98 +21258,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20966,21 +21362,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21983,10 +22381,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22085,6 +22479,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22133,107 +22552,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22496,7 +22915,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/fur.po b/src/calibre/translations/fur.po index 5a4d5c22e4..93ddd79318 100644 --- a/src/calibre/translations/fur.po +++ b/src/calibre/translations/fur.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2012-10-14 15:48+0000\n" "Last-Translator: Mauro Ermacora \n" "Language-Team: Friulian \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:12+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:27+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -328,345 +328,345 @@ msgstr "" msgid "Set metadata from %s files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -944,8 +944,8 @@ msgstr "" msgid "Disable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -955,11 +955,22 @@ msgstr "" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -971,26 +982,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1003,11 +1014,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" @@ -1015,14 +1026,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1030,7 +1041,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1038,45 +1049,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1104,23 +1140,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1243,8 +1279,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "" @@ -1292,10 +1328,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1336,6 +1372,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1654,17 +1691,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1672,12 +1709,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1685,7 +1722,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1697,7 +1734,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1710,10 +1747,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1770,66 +1809,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1837,7 +1876,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1846,11 +1885,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1870,55 +1909,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2043,7 +2082,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2524,7 +2563,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2833,23 +2872,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3137,15 +3176,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4096,7 +4139,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4120,27 +4163,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4176,13 +4219,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4191,9 +4235,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4203,7 +4248,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4215,8 +4260,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4328,60 +4373,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4389,13 +4434,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4405,6 +4468,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4464,12 +4568,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4496,72 +4600,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4570,14 +4674,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4602,12 +4706,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4640,7 +4744,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4765,9 +4869,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4783,11 +4887,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4830,6 +4934,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4984,7 +5092,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5106,12 +5214,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5188,8 +5296,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5310,7 +5418,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5358,7 +5466,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5372,7 +5480,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5384,12 +5492,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5529,7 +5637,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5557,7 +5665,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5598,7 +5706,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5611,96 +5719,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5719,6 +5840,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5791,75 +5913,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5935,12 +6059,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6024,8 +6148,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6061,7 +6185,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6131,15 +6255,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6244,17 +6368,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6263,185 +6398,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6558,7 +6704,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6663,7 +6809,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6675,30 +6821,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6708,11 +6854,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -6976,7 +7122,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7186,7 +7332,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7196,7 +7342,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7230,16 +7376,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7307,7 +7462,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7493,7 +7648,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7833,8 +7988,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8750,59 +8905,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8814,13 +8973,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9058,6 +9233,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9624,7 +9803,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9670,81 +9849,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9906,7 +10085,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10417,13 +10596,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10457,8 +10636,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10477,13 +10656,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10582,7 +10761,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10630,12 +10809,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10730,40 +10909,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11631,6 +11810,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11666,12 +11846,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12245,12 +12425,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12302,6 +12482,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12316,6 +12497,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13192,7 +13374,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13236,7 +13418,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13246,66 +13428,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13318,32 +13504,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13352,30 +13538,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13480,7 +13666,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13978,7 +14164,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14123,15 +14309,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14139,27 +14325,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14167,38 +14353,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14339,7 +14531,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14382,34 +14575,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14458,12 +14651,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15376,10 +15569,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15397,7 +15586,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16365,20 +16554,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16411,18 +16600,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16797,83 +16986,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17149,32 +17488,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17288,46 +17627,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17349,13 +17688,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17448,7 +17787,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17487,138 +17826,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17629,56 +17968,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17720,73 +18059,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17794,134 +18144,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18000,31 +18395,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18032,11 +18427,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18052,16 +18447,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18084,34 +18479,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18652,29 +19047,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19922,44 +20317,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19968,59 +20363,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20031,28 +20426,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20062,11 +20467,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20076,15 +20481,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20099,7 +20504,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20109,40 +20514,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20153,28 +20558,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20185,13 +20590,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20211,11 +20616,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20226,30 +20631,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20261,17 +20666,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20280,27 +20685,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20310,15 +20715,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20331,40 +20736,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20378,13 +20783,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20392,34 +20797,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20434,18 +20839,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20453,33 +20858,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20502,31 +20907,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20768,20 +21164,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20804,7 +21200,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20813,98 +21209,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20917,21 +21313,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21934,10 +22332,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22036,6 +22430,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22084,107 +22503,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22447,7 +22866,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/gl.po b/src/calibre/translations/gl.po index eeed0b9b5e..3dc4cced25 100644 --- a/src/calibre/translations/gl.po +++ b/src/calibre/translations/gl.po @@ -3,37 +3,38 @@ # This file is distributed under the same license as the calibre package. # FIRST AUTHOR , 2008. # Antón Méixome , 2010. +# Xosé , 2013. msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" -"PO-Revision-Date: 2013-01-03 19:33+0000\n" -"Last-Translator: Kovid Goyal \n" -"Language-Team: dev@gl.openoffice.org\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" +"PO-Revision-Date: 2013-04-21 00:31+0000\n" +"Last-Translator: Xosé \n" +"Language-Team: Galician \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:12+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:28+0000\n" +"X-Generator: Launchpad (build 16580)\n" "Language: gl\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" -msgstr "Non facer nada" +msgstr "Non fai absolutamente nada" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -88,8 +89,8 @@ msgstr "Non facer nada" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -100,9 +101,9 @@ msgstr "Non facer nada" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -111,7 +112,7 @@ msgstr "Non facer nada" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -124,7 +125,7 @@ msgstr "Non facer nada" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -146,13 +147,13 @@ msgstr "Non facer nada" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -161,33 +162,33 @@ msgstr "Non facer nada" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -227,11 +228,11 @@ msgstr "Lector de metadatos" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:407 msgid "Metadata writer" -msgstr "Metadata writer" +msgstr "Escritor de metadatos" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:437 msgid "Catalog generator" -msgstr "Catalog generator" +msgstr "Xerador de catálogos" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:560 msgid "User Interface Action" @@ -254,7 +255,7 @@ msgstr "Tenda" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:650 msgid "An ebook store." -msgstr "Tenda ebook" +msgstr "Unha tenda de libros electrónicos." #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:21 msgid "" @@ -263,7 +264,7 @@ msgid "" "file to the library." msgstr "" "Crear un ficheiro PMLZ que contén o ficheiro PML e todas as imaxes no " -"cartafol pmlname_img ou imaxes. Este complemento execútase cada vez que " +"cartafol pmlname_img ou imaxes. Este engadido execútase cada vez que se " "engade un ficheiro PML á biblioteca." #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:51 @@ -332,118 +333,119 @@ msgstr "Definir os metadatos nos dos ficheiros %s" msgid "Set metadata from %s files" msgstr "Definir os metadatos a partir dos ficheiros %s" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "Engadir libros a Calibre ou ao dispositivo conectado" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "Obter as anotacións dun Kindle conectado (experimental)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "Xerar un catalogo dos libros na túa biblioteca Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "Converter libros a varios formatos de ebook" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" -msgstr "" +msgstr "Afinar a configuración dos libros electrónicos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" -msgstr "" +msgstr "Editar os índices dos libros" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" -msgstr "" -"Eliminar libros da túa biblioteca Calibre ou do dispositivo conectado" +msgstr "Eliminar libros da biblioteca do Calibre ou do dispositivo conectado" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" -msgstr "Editar os metadatos dos libros na túa biblioteca Calibre" +msgstr "Editar os metadatos dos libros da biblioteca do Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" -msgstr "Ler libros na túa biblioteca Calibre" +msgstr "Ler libros da biblioteca do Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" -msgstr "Descarga as noticias de Internet en formato ebook" +msgstr "Descargar noticias desde a Internet en formato ebook" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Amosar unha lista rápida de libros relacionados" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" -msgstr "Exportar os libros da súa biblioteca Calibre ao disco duro" +msgstr "Exportar os libros da biblioteca do Calibre ao disco duro" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" -msgstr "Amosar os detalles do libro nunha nova xanela" +msgstr "Amosar os detalles do libro nunha xanela separada" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" -msgstr "Reiniciar Calibre" +msgstr "Reiniciar o Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" -msgstr "Abrir o cartafol que contén os ebooks da túa biblioteca Calibre" +msgstr "" +"Abrir o cartafol que contén os libros electrónicos da biblioteca do Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "Enviar os libros ao dispositivo conectado" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -"Enviar libros por correo electrónico ou por web e conectar a iTunes o " +"Enviar libros por correo electrónico ou por web e conectar a iTunes ou a " "cartafoles locais como se fosen dispositivos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "Navegar polo manual de usuario do Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" -msgstr "Personalizar calibre" +msgstr "Personalizar o Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" -msgstr "Atopar facilmente libros semellantes ao seleccionado actualmente" +msgstr "Atopar facilmente libros semellantes ao que está seleccionado" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -"Trocar entre diferentes bibliotecas Calibre e xestionar o seu mantemento" +"Trocar entre diferentes bibliotecas do Calibre e xestionar o seu mantemento" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" -msgstr "Copiar libros do dispositivo á túa biblioteca Calibre" +msgstr "Copiar libros do dispositivo á túa biblioteca do Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" -msgstr "Modificar as coleccións onde se almacenan os libros no dispositivo" +msgstr "" +"Modificar as coleccións nas que se almacenan os libros no dispositivo" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" -msgstr "Copia un libro de unha biblioteca Calibre para outra" +msgstr "Copiar un libro desde unha biblioteca do Calibre para outra" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -"Facer pequenos amaños aos ficheiros epub ou htmlz da biblioteca de Calibre" +"Facer pequenos amaños nos ficheiros epub ou htmlz da biblioteca do Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" @@ -451,58 +453,58 @@ msgstr "" "Atopar as coincidencias anteriores ou posteriores ao buscar na túa " "biblioteca Calibre en modo destaque" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" -msgstr "Escoller ao chou un libro da túa biblioteca Calibre" +msgstr "Escoller ao chou un libro da túa biblioteca do Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "Buscar libros en diversos vendedores" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" -msgstr "Obter novos complementos de Calibre ou actualizar os existentes" +msgstr "Obter novos engadidos do Calibre ou actualizar os existentes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Aparencia e comportamento" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Interface" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -"Axuste a aparencia e o comportamento da interface do Calibre para que se " +"Axustar a aparencia e o comportamento da interface do Calibre para que se " "adapte aos seus gustos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "Comportamento" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "Cambiar o modo en que se comporta o Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Engadir as súas propias columnas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "Engadir/retirar as columnas propias da lista de libros do Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Barra de ferramentas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -510,119 +512,119 @@ msgstr "" "Personalizar as barras de ferramentas e os menús contextuais, cambiando as " "accións que estarán dispoñíbeis en cada un" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "Busca" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" -msgstr "Personalizar o modo no que funcionan as buscas de libros en calibre" +msgstr "Personalizar o modo no que funcionan as buscas de libros no Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "Opcións de entrada" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Conversión" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" "Estabelecer as opcións de conversión específicas para cada formato de entrada" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Opcións comúns" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "Estabelecer as opcións de conversión comúns para todos os formatos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "Opcións de saída" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -"Estabelece as opcións específicas de conversión para cada formato de saída" +"Estabelecer as opcións específicas de conversión para cada formato de saída" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "Adición de libros" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" -msgstr "Importar/exportar" +msgstr "Importación / exportación" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -"Controla o modo como Calibre le os metadatos dos ficheiros ao engadir libros" +"Controlar o modo como Calibre le os metadatos dos ficheiros ao engadir libros" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "Gardado de libros no disco" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -"Controla o modo como Calibre exporta ficheiros da súa base de datos no disco " -"ao Gardar no disco" +"Controla o modo no que o Calibre exporta ficheiros da súa base de datos no " +"disco ao gardar no disco" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "Envío de libros a dispositivos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -"Controla cando Calibre transfire os ficheiros ao seu lector de libros" +"Controlar cando Calibre transfire os ficheiros ao seu lector de libros" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "Panel de control de metadatos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" -msgstr "Cambiar campos de metadatos antes do gardado/envío" - -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 -msgid "Template Functions" -msgstr "Función de modelo" +msgstr "Cambiar os campos de metadatos antes do gardado/envío" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +msgid "Template Functions" +msgstr "Funcións de modelo" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "Avanzado" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "Crear as súas propias funcións de modelo" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 -msgid "Sharing books by email" -msgstr "Compartición de libros por correo" - #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +msgid "Sharing books by email" +msgstr "Compartir libros por correo" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "Compartir" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -630,11 +632,11 @@ msgstr "" "Configura a compartición de libros por correo. Pódese usar para enviar " "automaticamente as noticias descargadas aos seus dispositivos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" -msgstr "Compartición na rede" +msgstr "Compartir na rede" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -643,59 +645,60 @@ msgstr "" "biblioteca do Calibre en calquera lugar, con calquera dispositivo, a través " "da Internet." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "Descarga de metadatos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -"Controlar o xeito en que Calibre descarga da rede os metadatos dos ebooks" +"Controlar o xeito en que Calibre descarga da rede os metadatos dos libros " +"electrónicos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "Dispositivos ignorados" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -"Controlar que dispositivos ignorará calibre cando estean conectados ó " +"Controlar que dispositivos ignorará o Calibre cando estean conectados ao " "ordenador." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Engadidos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Engadir/retirar/personalizar diversas funcións do Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "Axustes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "Axuste fino de como se comporta o Calibre en diversos contextos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "Teclado" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" -msgstr "Personalizar os atallos de teclado usados por Calibre" +msgstr "Personalizar os atallos de teclado usados polo Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Miscelánea" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "Configuración miscelánea avanzada" @@ -719,9 +722,9 @@ msgid "" "encoding declarations." msgstr "" "Especificar a codificación de caracteres do documento de entrada. Se se " -"establece esta opción sobreporase a calquera codificación declarada no " -"propio documento. En particular é útil para documentos sen codificación " -"declarada ou con erros na declaración de codificación." +"establece esta opción, substituirá calquera codificación declarada no propio " +"documento. En particular é útil para documentos sen codificación declarada " +"ou con erros na declaración da codificación." #: /home/kovid/work/calibre/src/calibre/customize/conversion.py:280 msgid "Conversion Output" @@ -733,13 +736,12 @@ msgid "" "readable as possible. May not have any effect for some output plugins." msgstr "" "Se está especificado, o complemento de saída tratará de crear unha saída o " -"máis lexíbel posíbel. Pode non funcionar no caso dalgúns complementos de " -"saída." +"máis lexíbel posíbel. Pode non funcionar no caso dalgúns engadidos de saída." #: /home/kovid/work/calibre/src/calibre/customize/conversion.py:310 #, python-format msgid "Convert ebooks to the %s format" -msgstr "Converter ebooks ao formato %s" +msgstr "Converter libros electrónicos ao formato %s" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:47 msgid "Input profile" @@ -772,7 +774,7 @@ msgstr "Este perfil é o propio para o SONY PRS-900." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:88 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:551 msgid "This profile is intended for the Microsoft Reader." -msgstr "Este perfil é o propio para o Microsoft Reader." +msgstr "Este perfil é o propio para o Reader da Microsoft." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:99 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:562 @@ -782,12 +784,12 @@ msgstr "Este perfil é o propio para os libros Mobipocket." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:112 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:575 msgid "This profile is intended for the Hanlin V3 and its clones." -msgstr "Este perfil é o propio para o Hanlin V3 e os seus clones." +msgstr "Este perfil é o propio para o Hanlin V3 e os seus clons." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:124 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:587 msgid "This profile is intended for the Hanlin V5 and its clones." -msgstr "Este perfil é o propio para o Hanlin V5 e os seus clones." +msgstr "Este perfil é o propio para o Hanlin V5 e os seus clons." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:134 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:595 @@ -802,27 +804,27 @@ msgstr "Este perfil é o propio para o Cybook Opus." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:159 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:622 msgid "This profile is intended for the Amazon Kindle." -msgstr "Este perfil é o propio para o Kindle de Amazon." +msgstr "Este perfil é o propio para o Kindle da Amazon." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:171 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:695 msgid "This profile is intended for the Irex Illiad." -msgstr "Este perfil é o propio para o rex Illiad." +msgstr "Este perfil é o propio para o Irex Illiad." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:183 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:708 msgid "This profile is intended for the IRex Digital Reader 1000." -msgstr "Este peril é o propio para o IRex Digital Reader 1000." +msgstr "Este perfil é o propio para o IRex Digital Reader 1000." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:196 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:722 msgid "This profile is intended for the IRex Digital Reader 800." -msgstr "Este perfil é o propio para o IRex Digital Reader 800." +msgstr "Este perfil é o propio para o IRex Digital Reader 800." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:208 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:736 msgid "This profile is intended for the B&N Nook." -msgstr "Este perfil é o propio para o B&N Nook." +msgstr "Este perfil é o propio para o Nook da B&N." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:230 msgid "Output profile" @@ -842,7 +844,7 @@ msgstr "" msgid "" "Intended for the iPad and similar devices with a resolution of 768x1024" msgstr "" -"Sangrado para o iPad ou dispositivos semellantes cunha resolución de 768x1024" +"Pensado para o iPad ou dispositivos semellantes cunha resolución de 768x1024" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:437 msgid "" @@ -853,14 +855,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:443 msgid "Intended for generic tablet devices, does no resizing of images" msgstr "" -"Orientado a dispositivos de tableta xenéricos, sen redimensionado de imaxes" +"Pensado para dispositivos de tableta xenéricos, sen redimensionado de imaxes" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:451 msgid "" "Intended for the Samsung Galaxy and similar tablet devices with a resolution " "of 600x1280" msgstr "" -"Preparado para o Samsung Galaxy e dispositivos tablet semellantes cunha " +"Pensado para o Samsung Galaxy e dispositivos tablet semellantes cunha " "resolución de 600x1280" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:458 @@ -868,10 +870,12 @@ msgid "" "Intended for the Nook HD+ and similar tablet devices with a resolution of " "1280x1920" msgstr "" +"Pensado para o Nook HD+ e dispositivos tablet semellantes cunha resolución " +"de 1920x1280" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:484 msgid "This profile is intended for the Kobo Reader." -msgstr "Este perfil é o propio para o Kobo Reader." +msgstr "Este perfil é o propio para o Reader da Kobo." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:497 msgid "This profile is intended for the SONY PRS-300." @@ -879,12 +883,12 @@ msgstr "Este perfil é o propio para o SONY PRS-300." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:515 msgid "Suitable for use with any e-ink device" -msgstr "Axeitado para calquer dispositivo de tinta electrónica" +msgstr "Axeitado para calquera dispositivo de tinta electrónica" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:522 msgid "Suitable for use with any large screen e-ink device" msgstr "" -"Axeitado para calquer dispositivo de tinta electrónica e pantalla grande" +"Axeitado para calquera dispositivo de tinta electrónica e pantalla grande" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:531 msgid "This profile is intended for the 5-inch JetBook." @@ -896,23 +900,23 @@ msgid "" "landscape mode. Mainly useful for comics." msgstr "" "Este perfil é o propio para os da liña SONY PRS. Os 00/505/700, etc. en modo " -"apaisado. Usados sobre todo para cómics." +"apaisado. Útil sobre todo para cómics." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:646 msgid "This profile is intended for the Amazon Kindle DX." -msgstr "Este perfil é o propio o Amazon Kindle DX." +msgstr "Este perfil é o propio do Kindle DX da Amazon." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:668 msgid "This profile is intended for the Amazon Kindle PaperWhite" -msgstr "Este perfil está pensado pra o Kindle PaperWhite de Amazon" +msgstr "Este perfil está pensado para o Kindle PaperWhite da Amazon" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:679 msgid "This profile is intended for the Amazon Kindle Fire." -msgstr "Este perfil está disposto para o Amazon Kindle Fire." +msgstr "Este perfil está pensado para o Kindle Fire da Amazon." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:748 msgid "This profile is intended for the B&N Nook Color." -msgstr "Este perfil está orientado a B&N Nook Color." +msgstr "Este perfil está pensado para o Nook Color da B&N." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:759 msgid "This profile is intended for the Sanda Bambook." @@ -928,6 +932,7 @@ msgstr "" msgid "" "This profile is intended for the PocketBook Pro 912 series of devices." msgstr "" +"Este perfil está pensado para os dispositivos da serie PocketBook Pro 912." #: /home/kovid/work/calibre/src/calibre/customize/ui.py:30 msgid "Installed plugins" @@ -935,7 +940,7 @@ msgstr "Engadidos instalados" #: /home/kovid/work/calibre/src/calibre/customize/ui.py:31 msgid "Mapping for filetype plugins" -msgstr "Mapeando por engadidos de ficheiro" +msgstr "Asignacións para os engadidos de ficheiro" #: /home/kovid/work/calibre/src/calibre/customize/ui.py:32 msgid "Local plugin customization" @@ -977,20 +982,23 @@ msgid "" "plugin. This command will automatically zip up the plugin and update it in " "calibre." msgstr "" +"Para os desenvolvedores de engadidos: Ruta ao directorio no que está a " +"desenvolver o engadido. Esta orde comprime automaticamente o engadido e " +"actualízao no Calibre." #: /home/kovid/work/calibre/src/calibre/customize/ui.py:616 msgid "Remove a custom plugin by name. Has no effect on builtin plugins" msgstr "" "Retirar un engadido persoal polo nome. Non afecta aos engadidos incorporados " -"no programa." +"ao programa." #: /home/kovid/work/calibre/src/calibre/customize/ui.py:618 msgid "" "Customize plugin. Specify name of plugin and customization string separated " "by a comma." msgstr "" -"Personalizar engadido. Especifica o nome do engadido e o texto de " -"personalización separados por unha coma." +"Personalizar un engadido. Indique o nome do engadido e o texto de " +"personalización separados por unha vírgula." #: /home/kovid/work/calibre/src/calibre/customize/ui.py:620 msgid "List all installed plugins" @@ -1004,8 +1012,8 @@ msgstr "Activar o engadido sinalado" msgid "Disable the named plugin" msgstr "Desactivar o engadido sinalado" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -1014,13 +1022,24 @@ msgstr "Desactivar o engadido sinalado" #, python-format msgid "Path to library too long. Must be less than %d characters." msgstr "" -"Percorrido da biblioteca demasiado longo. Debe conter menos de %d caracteres." +"RA ruta á biblioteca é demasiado longa. Debe conter menos de %d caracteres." -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "creando columna personalizada " + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -1032,26 +1051,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "Principal" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "Tarxeta A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "Tarxeta B" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1064,11 +1083,11 @@ msgstr "Tarxeta B" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Noticias" @@ -1076,14 +1095,14 @@ msgstr "Noticias" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "seleccionado" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "si" @@ -1091,7 +1110,7 @@ msgstr "si" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "non" @@ -1099,43 +1118,68 @@ msgstr "non" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "non seleccionado" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "hoxe" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "onte" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "este mes" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "hai dias" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "baleiro" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "en branco" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" +msgstr "Consulta lóxica incorrecta \"{0}\"" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" msgstr "" #: /home/kovid/work/calibre/src/calibre/debug.py:75 @@ -1144,6 +1188,9 @@ msgid "" "Cause a running calibre instance, if any, to be shutdown. Note that if there " "are running jobs, they will be silently aborted, so use with care." msgstr "" +"Apagar unha instancia do Calibre en execución, de existir. Teña en conta " +"que, se existen traballos en execución, estes cancelaranse en silencio, así " +"que hai que utilizala con coidado." #: /home/kovid/work/calibre/src/calibre/debug.py:81 msgid "" @@ -1151,6 +1198,10 @@ msgid "" "calibre-debug -r \"Add Books\" -- file1 --option1\n" "Everything after the -- will be passed to the plugin as arguments." msgstr "" +"Executar un engadido que fornece unha interface para a liña de ordes. Por " +"exemplo:\n" +"calibre-debug -r \"Engadir libros\" -- file1 --option1\n" +"Todo o que vaia despois de -- pásaselle ao engadido como argumentos." #: /home/kovid/work/calibre/src/calibre/debug.py:180 msgid "Debug log" @@ -1159,29 +1210,32 @@ msgstr "Rexistro de depuración" #: /home/kovid/work/calibre/src/calibre/debug.py:272 #, python-format msgid "No plugin named %s found" -msgstr "" +msgstr "Non se atopou ningún engadido chamado %s" #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:19 msgid "Communicate with Android phones." msgstr "Comunicar con teléfonos Android." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" +"Lista separada por vírgulas dos directorios aos que enviar os libros " +"electrónicos na memoria principal do dispositivo. Emprégase o " +"primeiro que exista" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "Comunicar con teléfonos S60" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "Comunicarse coas tablets WebOs." @@ -1334,8 +1388,8 @@ msgstr "" "Prema «Amosar detalles» para relacionalas." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "Catálogo" @@ -1389,10 +1443,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1433,6 +1487,7 @@ msgstr "Engadindo libros á lista de metatados do dispositivo..." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1765,17 +1820,17 @@ msgstr "" "independente ó lector, útil se modificáche-la portada." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "Subir Portadas en Branco e Negro" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1783,12 +1838,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "Mostrar vistas previas" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1796,7 +1851,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "Mostrar recomendacións" @@ -1808,7 +1863,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1821,10 +1876,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1883,66 +1940,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "Crear estantes" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "Eliminar estantes baldeiros" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "Subir portadas pra os libros" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1950,7 +2007,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1959,11 +2016,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1983,55 +2040,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "Comunicar co lector Sweex/Kogan/Q600/Wink" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "Comunicar co Pandigital Novel" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "Comunicar con VelocityMono" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "Comunicar co GM2000" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "Comunicar co Acer Lumiread" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "Comunicar co lector Aluratek Color" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "Comunicar co lector Trekstor" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "Comunicarse co EEE Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "Comunicarse co Nextbook Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2108,7 +2165,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:482 #, python-format msgid "Removed %s" -msgstr "" +msgstr "Retirouse %s" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:484 msgid "All books removed" @@ -2156,7 +2213,7 @@ msgstr "O Nook" msgid "Communicate with the Nook eBook reader." msgstr "Comunicar co lector de libro electrónico Nook." -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2343,7 +2400,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:286 msgid "Port number: " -msgstr "" +msgstr "Número do porto: " #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:287 msgid "" @@ -2367,7 +2424,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:293 msgid "Possibilities include: series, tags, authors, etc" -msgstr "" +msgstr "As posibilidades inclúen: coleccións, etiquetas, autores, etc" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:301 msgid "Enable the no-activity timeout" @@ -2664,7 +2721,7 @@ msgid "There is insufficient free space on the storage card" msgstr "O espazo libre na tarxeta de memoria é insuficiente" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "Renderizado %s" @@ -3059,11 +3116,11 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "CSS utilizado para a saída en vez do ficheiro predeterminado" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" @@ -3071,7 +3128,7 @@ msgstr "" "Modelo usado para a xeración do ficheiro de html index en lugar do ficheiro " "predeterminado" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" @@ -3079,7 +3136,7 @@ msgstr "" "Modelo usado para a xeración dos contidos de html do libro en lugar do " "predeterminado" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3396,16 +3453,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." -msgstr "" +msgid "headers" +msgstr "cabeceiras" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 msgid "" @@ -4118,12 +4179,12 @@ msgstr "Definir o/a editor/a do libro." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:542 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:60 msgid "Set the series this ebook belongs to." -msgstr "Estabelecer a serie á que pertence o libro." +msgstr "Estabelecer a colección á que pertence o libro." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:546 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:62 msgid "Set the index of the book in this series." -msgstr "Estabelecer a posición que ocupa o libro na súa serie." +msgstr "Estabelecer a posición que ocupa o libro nesta colección." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:550 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:64 @@ -4288,7 +4349,7 @@ msgstr "No se puido atopar un libro dentro do ficheiro ficheiro" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:834 msgid "Values of series index and rating must be numbers. Ignoring" -msgstr "O índice na serie e a valoración deben ser números. Ignóranse" +msgstr "O índice da colección e a valoración deben ser números. Ignóranse" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:841 msgid "Failed to parse date/time" @@ -4305,7 +4366,7 @@ msgstr "Aplicando transformacións ao libro electrónico..." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:1153 #, python-format msgid "Running %s plugin" -msgstr "" +msgstr "A executar o engadido %s" #: /home/kovid/work/calibre/src/calibre/ebooks/html/to_zip.py:18 msgid "" @@ -4322,6 +4383,8 @@ msgid "" "Character encoding for the input HTML files. Common choices include: cp1252, " "cp1251, latin1 and utf-8." msgstr "" +"Codificación de caracteres dos ficheiros HTML de entrada. As escollas máis " +"frecuentes inclúen: cp1252, cp1251, latin1 e utf-8." #: /home/kovid/work/calibre/src/calibre/ebooks/html/to_zip.py:91 msgid "Add linked files in breadth first order" @@ -4368,7 +4431,7 @@ msgstr "\tConvertendo a BBeB..." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:551 #, python-format msgid "Could not parse file: %s" -msgstr "Non foi posíbel analizarr o ficheiro: %s" +msgstr "Non foi posíbel analizar o ficheiro: %s" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:543 #, python-format @@ -4383,7 +4446,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:609 #, python-format msgid "Cannot add link %s to TOC" -msgstr "Non foi posíbel engadir a ligazón %s a TOC" +msgstr "Non foi posíbel engadir a ligazón %s ao índice" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:959 #, python-format @@ -4459,7 +4522,7 @@ msgstr "LRS gardado en " #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:267 msgid "Could not read from thumbnail file:" -msgstr "Non se puido ler o ficheiro da miniatura:" +msgstr "Non foi posíbel ler o ficheiro da miniatura:" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:287 msgid "" @@ -4561,7 +4624,7 @@ msgstr "" msgid "Set book ID" msgstr "Definir o ID do libro" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4587,27 +4650,27 @@ msgstr "Non" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "Título" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "Autores/as" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "Editor/a" @@ -4643,13 +4706,14 @@ msgstr "Comentarios" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "Etiquetas" @@ -4658,23 +4722,24 @@ msgstr "Etiquetas" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 msgid "Series" msgid_plural "Series" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Serie" +msgstr[1] "Series" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" -msgstr "" +msgstr "Linguas" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:780 msgid "Timestamp" @@ -4682,8 +4747,8 @@ msgstr "Marca de tempo" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "Publicado" @@ -4812,60 +4877,60 @@ msgstr "" "Obtén metadatos sociais ou imaxes para o libro identificado polo ISBN a " "través de LibraryThing.com\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "Cuberta" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "EE. UU." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "Francia" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "Alemania" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "GB" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" -msgstr "" +msgstr "Italia" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" -msgstr "" +msgstr "Xapón" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 -msgid "Brazil" -msgstr "" +msgstr "España" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +msgid "Brazil" +msgstr "Brasil" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "O tempo de espera de Amazon expirou. Volva a tentalo máis tarde" @@ -4873,13 +4938,31 @@ msgstr "O tempo de espera de Amazon expirou. Volva a tentalo máis tarde" msgid "Metadata source" msgstr "Orixe de metadatos" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4889,6 +4972,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "Grande" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "Descara os metadatos de isbndb.com" @@ -4948,12 +5072,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "Este é un libro Topaz de Amazon. Polo tanto, non se pode procesar." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4980,72 +5104,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "Índice de contidos" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "Páxina de título" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "Índice" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "Glosario" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "Agradecementos" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "Bibliografia" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "Colofón" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "Dereitos de autor" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "Dedicatoria" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "Epígrafe" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "Prólogo" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "Lista de ilustracións" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "Lista de táboas" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "Notas" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "Prefacio" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "Texto principal" @@ -5054,14 +5178,14 @@ msgstr "Texto principal" msgid "%s format books are not supported" msgstr "O formato de libros %s non está admitido" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -5086,12 +5210,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -5124,7 +5248,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -5249,11 +5373,11 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" -msgstr "" +msgstr "(Sen título)" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:187 @@ -5267,11 +5391,11 @@ msgid "HTML TOC generation options." msgstr "Opcións da xeración HTM TOC" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "Cualificación" @@ -5316,6 +5440,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "Non se puido atopar pdfahtml. Comprobe se está na súa ruta" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "Sen título" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5341,7 +5469,7 @@ msgstr "Notificar se hai versións novas dispoñíbeis" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:133 msgid "Use Roman numerals for series number" -msgstr "Usar números romanos para as series de números" +msgstr "Usar números romanos para os números da colección" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:135 msgid "Sort tags list by name, popularity, or rating" @@ -5471,11 +5599,11 @@ msgstr "Categorías do navegador de etiquetas que non se mostrarán" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:283 msgid "WARNING:" -msgstr "" +msgstr "AVISO:" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:293 msgid "ERROR:" -msgstr "" +msgstr "ERRO:" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:305 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:258 @@ -5483,7 +5611,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "Requírese reiniciar" @@ -5607,18 +5735,18 @@ msgstr "Maiús+A" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:74 msgid "Control the adding of books" -msgstr "" +msgstr "Controlar como se engaden os libros" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5695,8 +5823,8 @@ msgstr "Engadir á biblioteca" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5753,7 +5881,7 @@ msgstr "Obter anotacións (experimental)" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:107 msgid "Not supported" -msgstr "" +msgstr "Non admitido" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:108 msgid "Fetching annotations is not supported for this device" @@ -5819,7 +5947,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5867,7 +5995,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5881,7 +6009,7 @@ msgstr "Cambiar/crear biblioteca..." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5890,15 +6018,15 @@ msgstr "%d libros" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:174 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" -msgstr "Escolla un libro aleatoriamente" +msgstr "Escoller un libro aleatoriamente" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "Cambio rápido" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "Renomear biblioteca" @@ -5960,7 +6088,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:328 msgid "Not found" -msgstr "" +msgstr "Non atopado" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:329 #, python-format @@ -6045,7 +6173,7 @@ msgstr "" "base de datos?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -6076,7 +6204,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -6116,10 +6244,10 @@ msgstr "Converter en grupos" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:62 msgid "Create a catalog of the books in your calibre library" -msgstr "Crear un catálogo dos libros na biblioteca de calibre" +msgstr "Crear un catálogo dos libros da súa biblioteca do Calibre" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "Non é posíbel converter" @@ -6134,96 +6262,109 @@ msgstr "" "O ficheiro de saída está baleiro, probablemente o proceso de conversión " "fallou" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "Escoller a biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "Copiar á biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "Copiar os libros seleccionados á biblioteca especificada" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "(eliminar tras copiar)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "Non é posíbel copiar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "Non hai biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "No se encontrou unha biblioteca en %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "Non foi posíbel copiar estes libros: " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -6244,6 +6385,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "Está seguro?" @@ -6318,60 +6460,60 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "Elixir formatos para eliminar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "Non é posíbel eliminar libros" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "Non hai ningún dispositivo conectado" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "Memoria principal" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "Tarxeta de almacenaxe A" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "Tarxeta de almacenaxe B" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "Ningún libro para eliminar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "Ningún dos libros seleccionados se atopan no dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "Eliminando libros do dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" @@ -6379,21 +6521,19 @@ msgstr "" "Algúns dos libros seleccionados están no dispositivo conectado. De " "onde quere borrar os libros seleccionados?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -"O libros seleccionados serán eliminados permanentemente e os " -"ficheiros retirados da súa biblioteca do Calibre. Está seguro?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" -"Os libros seleccionados eliminaranse permanentemente do dispositivo. " -"Ten a certeza de continuar?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 msgid "Start wireless device connection" @@ -6468,12 +6608,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "Dentendo" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "Detendo o servidor, isto pode levar ata un minuto, agarde..." @@ -6559,8 +6699,8 @@ msgstr "Produciuse un fallo ao descargar os metadatos" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "Produciuse un fallo na descarga" @@ -6593,10 +6733,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 msgid "Download complete" -msgstr "" +msgstr "Completouse a descarga" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6679,15 +6819,15 @@ msgstr "" "permanentemento da biblioteca do Calibre.

Esta seguro de que " "quere proceder?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6792,17 +6932,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6811,185 +6962,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "Corrixir a &puntuación" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" -msgstr "" +msgstr "Sobre" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" -msgstr "" +msgstr "&Gardar a configuración" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" -msgstr "" +msgstr "&Escoller todo" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" -msgstr "" +msgstr "&Non escoller nada" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " -msgstr "" +msgstr " e " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" -msgstr "" +msgstr "P" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -7009,7 +7171,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:29 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:208 msgid "Run welcome wizard" -msgstr "Lanzar o asistente de benvida" +msgstr "Executar o asistente de benvida" #: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:31 msgid "Get plugins to enhance calibre" @@ -7034,7 +7196,7 @@ msgstr "Ctrl+R" #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart" -msgstr "" +msgstr "Reiniciar" #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:20 msgid "Save to disk" @@ -7109,7 +7271,7 @@ msgid "Click the show details button to see which ones." msgstr "Prema o botón de amosar detalles para velos." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "Amosar os detalles do libro" @@ -7131,7 +7293,7 @@ msgstr "Non hai dispoñíbel información detallada dos libros no dispositivo." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_quickview.py:16 msgid "Q" -msgstr "" +msgstr "Q" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_quickview.py:16 msgid "Show quickview" @@ -7163,7 +7325,7 @@ msgstr "Libros coa mesma autoría" #: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:26 msgid "Books in this series" -msgstr "Libros nesta serie" +msgstr "Libros desta colección" #: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:27 msgid "Alt+Shift+S" @@ -7187,7 +7349,7 @@ msgstr "Libros coas mesmas etiquetas" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:20 msgid "G" -msgstr "" +msgstr "G" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:20 msgid "Get books" @@ -7199,7 +7361,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:22 msgid "Search for ebooks" -msgstr "" +msgstr "Buscar libros electrónicos" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:28 msgid "this author" @@ -7214,7 +7376,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "Buscar %s" @@ -7226,30 +7388,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -7259,11 +7421,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -7285,7 +7447,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "K" -msgstr "" +msgstr "K" #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:113 @@ -7533,7 +7695,7 @@ msgid "The specified directory could not be processed." msgstr "Non se puido procesar o directorio especificado." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "Sen libros" @@ -7753,14 +7915,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:304 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:32 msgid "Donate" -msgstr "" +msgstr "Doar" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:156 msgid "Click to open" msgstr "Prema para abrir" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7770,7 +7932,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "Coleccións" @@ -7804,16 +7966,25 @@ msgstr "Ruta" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "Opcións de BibTeX" @@ -7881,7 +8052,7 @@ msgstr "saída" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -8067,7 +8238,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "Nome" @@ -8407,8 +8578,8 @@ msgid "Style the selected text block" msgstr "Asignarlle estilo ao bloque de texto seleccionado" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "Normal" @@ -9350,59 +9521,63 @@ msgstr "Sen &imaxes" msgid "PDF Output" msgstr "Saída PDF" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "Tamaño de &papel" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "Manter a &proporción da cuberta" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "Tipo de letra s&erif:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "Tipo de letra &Sans:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "Tipo de letra &monoespzo:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "Tipo de letra es&tándar:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -9414,13 +9589,29 @@ msgstr "" msgid " px" msgstr " px" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "Tamaño de &letra Monoespazo:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9663,6 +9854,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "Converter" @@ -10248,7 +10443,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "Non hai formatos axeitados" @@ -10294,67 +10489,67 @@ msgstr "Dispositivo: " msgid " detected." msgstr " detectado" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "seleccionado para enviar" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "Sen dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "0 de %i libros" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "Elixa formato para enviar ao dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "Non se pode enviar: non hai ningún dispositivo conectado" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "Sen tarxeta" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "Non se pode enviar: o dispositivo non ten tarxeta de memoria" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" "Desexa converter os libros seguintes antes de os enviar ao dispositivo?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "Enviando catálogos ao dispositivo." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "Enviando novas ao dispositivo." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "Enviando libros ao dispositivo." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." @@ -10363,18 +10558,18 @@ msgstr "" "atoparon formatos compatíbeis. Converta o ou os libros a un formato " "compatíbel co dispositivo." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "Non hai espazo no dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" "

Non é posíbel enviar libros ao dispositivo xa que non ten espazo libre " "dispoñíbel. " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -10542,7 +10737,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -11128,13 +11323,13 @@ msgid "Where do you want to delete from?" msgstr "De onde quere borrar?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "Biblioteca" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "Dispositivo" @@ -11170,8 +11365,8 @@ msgid "Location" msgstr "Localización" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -11190,13 +11385,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "O elemento está en branco" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "Un elemento non se pode deixar en branco. Elimíneo no seu canto." @@ -11302,7 +11497,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "Non se atopou ningunha coincidencia" @@ -11350,12 +11545,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "Nombre de autor incorrecto" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "Os nomes de autores non poden conter caracteres «&»." @@ -11456,40 +11651,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "&Copiar no portapapeis" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "Mostrar &detalles" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "Ocultar &detalles" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "Mostrar información detallada sobre este erro" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "Copiado" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -12430,6 +12625,7 @@ msgstr "Interrumpindo..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -12465,12 +12661,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "Buscar" @@ -13100,12 +13296,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -13157,6 +13353,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "Editores" @@ -13171,6 +13368,7 @@ msgstr "Nome de busca da categoría: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "Nome non válido" @@ -14075,7 +14273,7 @@ msgid "&Shortcut:" msgstr "&Atallo:" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "Feito" @@ -14119,7 +14317,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "Non hai coincidencias" @@ -14129,48 +14327,52 @@ msgstr "Non hai coincidencias" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "Extraer o dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "Amosar os libros na biblioteca do Calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "Amosar os libros na memoria principal do dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "Amosar os libros almacenados na tarxeta A" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "Amosar os libros almacenados na tarxeta B" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "Eliminar biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "dispoñíbel" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "Busca avanzada" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "Maiús+Ctrl+F" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" @@ -14179,19 +14381,19 @@ msgstr "" "comentarios etc.

Búscanse os libros que conteñan todas as palabras " "separadas por espazos" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "&Vai!" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "Realizar unha busca rápida (tamén pode premer a tecla Intro)" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "Restabelecer a busca rápida" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "Copiar o texto de busca actual (no canto do nome da busca)" @@ -14204,32 +14406,32 @@ msgstr "estrelas" msgid "Y" msgstr "S" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "No dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "Tamaño (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "O nome de busca é «{0}»" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "O UUID deste libro é «{0}»" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -14238,30 +14440,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "Na biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "Tamaño" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "Marcado para eliminar" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "Prema dúas veces para editar

" @@ -14368,7 +14570,7 @@ msgid "Previous Page" msgstr "Páxina anterior" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -14891,7 +15093,7 @@ msgid "Edit Metadata" msgstr "Modificar metadatos" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -15039,15 +15241,15 @@ msgstr "&Comentarios" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -15055,27 +15257,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -15083,38 +15285,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "Descargando a cuberta..." @@ -15290,7 +15498,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -15333,34 +15542,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "Alto" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "Baixo" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "Moi baixa" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "Predeterminado" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "Restabelecéronse os diálogos de confirmación" @@ -15413,18 +15622,15 @@ msgid "Job &priority:" msgstr "&Prioridade nos traballos:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" -msgstr "Restrición a aplicar cando a biblioteca actual estea aberta:" +msgid "Virtual library to apply when the current library is opened:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" -"Aplicar esta restrición ao iniciar o Calibre se se está a usar a biblioteca " -"actual. Tamén se aplica cando se cambia a esta biblioteca. Teña en conta que " -"esta configuración é individual para cada biblioteca. " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170 msgid "Edit metadata (single) layout:" @@ -16376,10 +16582,6 @@ msgstr "" msgid "Small" msgstr "Pequeno" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "Grande" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "Medio" @@ -16397,7 +16599,7 @@ msgid "Never" msgstr "Nunca" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "Pola primeira letra" @@ -17474,20 +17676,20 @@ msgstr "" "dispositivos individuais mediante a personalización dos engadidos da " "interface do dispositivo, en Preferencias->Avanzado->Engadidos" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "Fallou ao iniciar o servidor de contido" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "Rexistro de erros:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "Rexistro de acceso:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "Debe reiniciar o servidor para que os cambios teñan efecto" @@ -17522,23 +17724,19 @@ msgid "Max. &OPDS items per query:" msgstr "Número máximo de elementos &OPDS por consulta:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" -msgstr "Número máximo de elementos &OPDS desagrupados:" +msgid "Max. &ungrouped items:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" -msgstr "Restrición (busca gardada) para aplicar:" +msgid "Virtual library to apply:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" -"Esta restrición (baseada nunha busca gardada) fai que o servidor de contido " -"mostre unicamente os libros seleccionados par a busca. Esta configuración é " -"independente para cada biblioteca, é dicir, pode ter unha restrición " -"distinta para cada biblioteca." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 msgid "" @@ -17998,84 +18196,234 @@ msgstr "Restabelecer valor pre&determinado" msgid "Apply any changes you made to this tweak" msgstr "Aplicar os cambios realizados neste axuste" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" "A busca seleccionada será eliminada permanentemente. Está seguro?" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "Busca (para buscas avanzadas faga clic no botón da esquerda)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "Buscas gardadas" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "Elixa unha busca gardada ou asigne un nome para gardar a nova busca" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" -msgstr "Restrinxir a" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "(todos os libros)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "({0} de {1})" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "({0} de todos)" @@ -18351,32 +18699,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -18492,48 +18840,48 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "O nome do termo de busca agrupado é «{0}»" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" "Cambiar os autores de varios libros pode tardar bastante. Está seguro?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" "Cambiar os metadatos de moitos libros pode tardar bastante. Está seguro?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "Buscas" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "Cambiarlle o nome á categoría de usuario" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "Non se poden usar puntos no nome das categorías de usuario" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "O nome %s xa se está a usar" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "Nome de busca duplicado" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "El nome de busca gardado %s xa está en uso." @@ -18555,13 +18903,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "Administrar categorías de usuarios" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "Administrar buscas gardadas" @@ -18663,7 +19011,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "Orde por" @@ -18705,138 +19053,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "Renomear %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "Modificar orde para %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "Engadir %s á categoría de usuario" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "Subcategorías de %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "Borrar a busca %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "Buscar todo menos %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "Engadir unha subcategoría a %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "Eliminar a categoría de usuario %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "Agochar categoría %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "Mostrar categoría" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "Buscar libros na categoría %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "Buscar libros fóra da categoría %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "Administrar %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "Mostrar todas as categorías" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "Cambiar o esquema de subcategorización" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -18847,56 +19195,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -18938,73 +19286,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -19012,134 +19371,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -19219,31 +19623,31 @@ msgid "" msgstr "" "Os seguintes libros xa foron convertidos ao formato %s. Desexa reconvertelos?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "&Doar para axudar ao Calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "&Restabelecer" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "&Expulsar dispositivo conectado" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "Modo de depuración" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -19254,11 +19658,11 @@ msgstr "" "de depuración estará dispoñíbel no ficheiro: %s

O rexistro mostrarase " "automaticamente." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -19274,16 +19678,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "Produciuse un erro de conversión" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -19306,23 +19710,23 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "Receita desactivada" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "Fallou" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "Hai traballos en activo. Está seguro de querer saír?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" @@ -19333,11 +19737,11 @@ msgstr "" "no dispositivo.
\n" " Está seguro de que desexa saír?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "Tareas activas" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -19894,29 +20298,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -21255,8 +21659,8 @@ msgstr "" "busca, véxase a documentación relacionada no Manual de Usuario. O " "predeterminado e non filtrar." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." @@ -21264,11 +21668,11 @@ msgstr "" "A lonxitude máxima das liñas na saída. De modo predeterminado tómase a " "largura da pantalla." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "O texto usado para separar campos. Por omisión é un espazo." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." @@ -21276,15 +21680,15 @@ msgstr "" "O prefixo para todas as rutas de ficheiros. Por omisión é a ruta absoluta do " "cartafol da biblioteca." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "Campos incorrectos. Campos dispoñíbeis:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "Campo de ordenación incorrecto. Campos dispoñíbeis:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" @@ -21292,13 +21696,13 @@ msgstr "" "Os seguintes libros non foron engadidos xa que xa existen na base de datos " "(vér a opción --duplicates)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -21312,7 +21716,7 @@ msgstr "" "especificar cartafoles, vexa as opcións relacionadas con cartafoles a " "seguir.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" @@ -21320,11 +21724,11 @@ msgstr "" "Asumir que cada cartafol ten un só libro e que todos os ficheiros do " "cartafol son diferentes formatos do mesmo libro" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "Procesar os cartafoles recursivamente" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." @@ -21332,43 +21736,43 @@ msgstr "" "Engadir os libros á base de datos aínda que xa existan. A comparación " "realizase sobre o título dos libros." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "Engadir libro en branco (sen formato)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "Debe especificar polo menos un ficheiro para engadir" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -21379,33 +21783,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "Debe especificar polo menos un libro para retirar" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" -"%prog add_format [opcións] id ebook_file\n" -"\n" -"Engade o libro a ebook_file aos formatos dispoñíbeis para o libro lóxico " -"identificado polo id. Pode obter o id usando a orde de listar. Se o formato " -"xa existe, substituirase.\n" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "Debe especificar un ID e un ficheiro de libro electrónico" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "O ficheiro de libro electrónico debe ter unha extensión" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -21421,11 +21830,11 @@ msgstr "" "usando a orde de listar. fmt debería ser un ficheiros coa extensión LRF ou " "TXT ou EPUB. Se o libro lóxico non ten un fmt dispoñíbel, non facer nada.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "Debe especificar un ID e un formato" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -21441,15 +21850,15 @@ msgstr "" "identificado polo id.\n" "O id é un número id da lista de ordes.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "Imprimir os metadatos en formato OPF (XML)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "Debe especificar un id" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -21464,7 +21873,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -21474,40 +21883,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -21525,31 +21934,31 @@ msgstr "" "\n" "ficheiro OPF. Pode obter os números id da lista de ordes.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" "Exportar todos os libros da base de datos, facendo caso omiso da lista de " "identificacións." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" "Exportar os libros ao cartafol especificado. O valor predeterminado é" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "Exportar todos os libros nun só cartafol" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "Se se especifica esta opción desactivase este comportamento" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "Debe especificar algún ID ou a opción %s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -21566,7 +21975,7 @@ msgstr "" "conter espazos nin vírgulas. O 'nome' é o nome do campo que se amosará.\n" "O 'tipo-de-dato' pode ser un dos seguintes: {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." @@ -21574,7 +21983,7 @@ msgstr "" "Esta columna almacena datos de etiquetas (valores separados por comas). Só " "se aplica se el tipo de dato é texto." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -21594,11 +22003,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "Debe especificar unha etiqueta, nome e tipo de dato" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -21617,7 +22026,7 @@ msgstr "" "saída.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" @@ -21627,7 +22036,7 @@ msgstr "" "Cando se declare, ignorarase --search.\n" "Valor predeterminado: todas" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" @@ -21637,16 +22046,16 @@ msgstr "" "documentación relativa a buscas no Manual de usuario.\n" "Valor predeterminado: sen filtrado" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "Mostrar información de saída detallada. Útil para a depuración" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "Erro: Debe especificar un ficheiro de saída para o catálogo" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -21667,7 +22076,7 @@ msgstr "" "custom_columns.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." @@ -21675,11 +22084,11 @@ msgstr "" "Se a columna almacena valores múltiplos, engadir os valores especificados " "aos existentes no canto de substituílos." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "Erro: Debe especificar un nome de campo, identificador e valor" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -21694,27 +22103,27 @@ msgstr "" "columna e os seus id.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "Mostrar detalles das columnas" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -21730,15 +22139,15 @@ msgstr "" " as columnas dispoñíbeis usando a orde custom_columns.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "Non pedir confirmación" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "Erro: Debe especificar unha etiqueta para a columna" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -21760,41 +22169,41 @@ msgstr "" " substituída.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "Erro: Debe especificar unha acción (add|remove|list)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "Nome:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "Cadea de busca" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "Erro: Debe especificar un nome e a cadea de busca" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "engadido" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "Erro: Debe especificar un nome" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "retirado" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" "Erro: Non se recoñece a acción %s, debe ser unha de: (add|remove|list)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -21808,13 +22217,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -21826,12 +22235,12 @@ msgstr "" "Realiza algunhas comprobacións no sistema de ficheiros que contén a " "biblioteca. O resultado é {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "Saída en CSV" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" @@ -21839,7 +22248,7 @@ msgstr "" "Lista de resultados separados por comas\n" "Valor predeterminado: all" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" @@ -21847,7 +22256,7 @@ msgstr "" "Lista de extensións para ignorar separadas por vírgulas.\n" "Valor predeterminado: todas" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" @@ -21855,11 +22264,11 @@ msgstr "" "Lista de nomes para ignorar separados por vírgulas.\n" "Valor predeterminado: todas" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "Comprobación de resultado descoñecida" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -21886,7 +22295,7 @@ msgstr "" "recuperados serán tan precisos como o sexan os ficheiros OPF.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." @@ -21894,12 +22303,12 @@ msgstr "" "Facer a recuperación. Esta orde no se executará a menos que se especifique " "esta opción." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "Debe proporcionar a opción %s para facer unha recuperación" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -21911,7 +22320,7 @@ msgstr "" "Xera un informe da información da categoría na base de datos. A\n" "información é o equivalente ao que se amosa no panel de etiquetas.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" @@ -21919,7 +22328,7 @@ msgstr "" "Xerar na saída só o número de elementos nunha categoría en vez de cantas " "veces aparece por elemento na categoría" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." @@ -21927,7 +22336,7 @@ msgstr "" "O carácter que se porá arredor do valor da categoría en modo CSV. O " "predeterminado son as dobres comiñas inglesas ('')." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" @@ -21935,17 +22344,17 @@ msgstr "" "Lista separada por comas dos nomes das categorías a buscar.\n" "Valor predeterminado: all" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" "A cadea que se usará para separar os campos no modo CSV. O predeterminado é " "unha coma (,)." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "ELEMENTOS DE CATEGORÍAS" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -21979,33 +22388,24 @@ msgstr "" "A etiqueta só debe conter letras minúsculas, díxitos e guión baixo, e " "comezar por unha letra" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "creando columna personalizada " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" "

Migrando a base de datos antiga á biblioteca de libros electrónicos en " "%s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "Copiando %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "Compactando a base de datos" @@ -22275,20 +22675,20 @@ msgstr "" "servidor Apache/nginx/etc." #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "Todos os libros" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "O máis recente" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "Cargando. Agarde" @@ -22311,7 +22711,7 @@ msgid "Browsing %d books" msgstr "Explorando %d libros" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "Valoración media" @@ -22320,98 +22720,98 @@ msgstr "Valoración media" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "%d estrelas" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "Popularidade" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "biblioteca" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "inicio" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "Explorar libros por" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "Elixa unha categoría" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "Explorando por" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "Arriba" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "en" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "Libros en" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "Outros formatos" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "Ler %(title)s no formato %(fmt)s" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "Obter" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "Detalles" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "Ligazón permanente" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "Unha ligazón permanente a este libro" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "Este libro foi eliminado" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "en busca" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "Libros atopados" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -22434,24 +22834,24 @@ msgstr "" "\n" "A interface OPDS detéctase automaticamente vía BonJour.\n" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" "Ruta ao cartafol da biblioteca para servir xunto co servidor de contido" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "Escribir o PID de proceso no ficheiro especificado" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -"Especifica unha restrición que se usará para esta invocación. Esta opción " -"sobreescribe calquera configuración por biblioteca especificada na IGU" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -23534,10 +23934,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -23636,6 +24032,31 @@ msgstr "O código está a executarse" msgid "Restart console" msgstr "Reiniciar a consola" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "O URL debe tener o esquema sftp" @@ -23684,102 +24105,102 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "A receita «%s» necesita un nome de usuario e un contrasinal." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "Rematou a descarga" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "Produciuse un fallo na descarga dos seguintes artigos:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "Produciuse un fallo na descarga de partes do seguintes artigos:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr " desde " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "\tLigazóns erradas:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "Non se puido obter o artigo." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" "O resultado do rastreo de depuración aparece máis arriba neste rexistro" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "Execute co parámetro -vv para ver o motivo" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "A obter os fluxos..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "Obtivéronse fontes de noticias da páxina principal" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "Tratando de descargar a cuberta..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "Xerando o tope..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "Comezando a descarga [%d fío(s)]..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "Fluxos descargados en %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "Non se puido descargar a cuberta: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "Descargando a cuberta desde %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "Tope da imaxe descargada" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "Artigo sen título" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "Artigo descargado: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "Erro ao descargar o artigo: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "Obtendo o fluxo" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 msgid "" "Failed to log in, check your username and password for the calibre " "Periodicals service." @@ -23787,7 +24208,7 @@ msgstr "" "No se pudo iniciar a sesión, comprobe o seu nome de usuario ou contrasinal " "do servizo de boletín do Calibre." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -24069,7 +24490,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/gu.po b/src/calibre/translations/gu.po index b7799c0414..2516cc30eb 100644 --- a/src/calibre/translations/gu.po +++ b/src/calibre/translations/gu.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2011-08-20 06:46+0000\n" "Last-Translator: Hasit Bhatt \n" "Language-Team: Gujarati \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:13+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:29+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "કઈ પણ કરતું નથી" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "કઈ પણ કરતું નથી" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "કઈ પણ કરતું નથી" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "કઈ પણ કરતું નથી" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "કઈ પણ કરતું નથી" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "કઈ પણ કરતું નથી" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "કઈ પણ કરતું નથી" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -325,345 +325,345 @@ msgstr "" msgid "Set metadata from %s files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "ઈ-બૂકને જુદા જુદા સ્વરૂપોમાં ફેરવો" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "તમારી calibre લાઈબ્રેરીમાં પુસ્તકો વાંચો" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "ઈ-બૂક ફોર્મમાં ઈન્ટરનેટ પરથી સમાચાર ડાઉનલોડ કરો." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "સંલગ્ન પુસ્તકોની યાદી ત્વરિત બતાવો" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "calibre ફરીથી શરુ કરો" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "જોડાયેલ સાધનને પુસ્તકો મોકલો" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "પુસ્તકને એક calibre લાઈબ્રેરીમાંથી બીજી લાઈબ્રેરી કોપી કરો" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "જુદા જુદા પુસ્તક વિક્રેતાઓના પુસ્તકો શોધો" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "દેખાવ અને વર્તણૂક" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "ઇન્ટરફેસ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "વર્તણુક" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "ટુલબાર" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "શોધી રહ્યા છીએ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "ઇનપુટ વિકલ્પો" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "અદ્યતન" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "વહેંચી રહ્યા છીએ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "પ્લગ-ઇન" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "કીબોર્ડ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "વિવિધ જાતનું" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -941,8 +941,8 @@ msgstr "" msgid "Disable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -952,11 +952,22 @@ msgstr "" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -968,26 +979,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1000,11 +1011,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" @@ -1012,14 +1023,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1027,7 +1038,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1035,45 +1046,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1101,23 +1137,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1240,8 +1276,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "" @@ -1289,10 +1325,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1333,6 +1369,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1651,17 +1688,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1669,12 +1706,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1682,7 +1719,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1694,7 +1731,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1707,10 +1744,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1767,66 +1806,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1834,7 +1873,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1843,11 +1882,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1867,55 +1906,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2040,7 +2079,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2521,7 +2560,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2830,23 +2869,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3134,15 +3173,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4093,7 +4136,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4117,27 +4160,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4173,13 +4216,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4188,9 +4232,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4200,7 +4245,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4212,8 +4257,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4325,60 +4370,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4386,13 +4431,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4402,6 +4465,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4461,12 +4565,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4493,72 +4597,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4567,14 +4671,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4599,12 +4703,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4637,7 +4741,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4762,9 +4866,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4780,11 +4884,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4827,6 +4931,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4981,7 +5089,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5103,12 +5211,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5185,8 +5293,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5307,7 +5415,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5355,7 +5463,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5369,7 +5477,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5381,12 +5489,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5526,7 +5634,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5554,7 +5662,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5595,7 +5703,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5608,96 +5716,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5716,6 +5837,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5788,75 +5910,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5932,12 +6056,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6021,8 +6145,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6058,7 +6182,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6128,15 +6252,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6241,17 +6365,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6260,185 +6395,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6555,7 +6701,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6660,7 +6806,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6672,30 +6818,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6705,11 +6851,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -6973,7 +7119,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7183,7 +7329,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7193,7 +7339,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7227,16 +7373,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7304,7 +7459,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7490,7 +7645,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7830,8 +7985,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8747,59 +8902,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8811,13 +8970,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9055,6 +9230,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9621,7 +9800,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9667,81 +9846,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9903,7 +10082,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10414,13 +10593,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10454,8 +10633,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10474,13 +10653,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10579,7 +10758,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10627,12 +10806,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10727,40 +10906,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11628,6 +11807,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11663,12 +11843,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12242,12 +12422,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12299,6 +12479,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12313,6 +12494,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13189,7 +13371,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13233,7 +13415,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13243,66 +13425,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13315,32 +13501,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13349,30 +13535,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13477,7 +13663,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13975,7 +14161,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14120,15 +14306,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14136,27 +14322,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14164,38 +14350,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14336,7 +14528,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14379,34 +14572,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14455,12 +14648,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15373,10 +15566,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15394,7 +15583,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16362,20 +16551,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16408,18 +16597,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16794,83 +16983,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17146,32 +17485,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17285,46 +17624,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17346,13 +17685,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17445,7 +17784,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17484,138 +17823,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17626,56 +17965,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17717,73 +18056,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17791,134 +18141,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -17997,31 +18392,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18029,11 +18424,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18049,16 +18444,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18081,34 +18476,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18649,29 +19044,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19919,44 +20314,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19965,59 +20360,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20028,28 +20423,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20059,11 +20464,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20073,15 +20478,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20096,7 +20501,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20106,40 +20511,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20150,28 +20555,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20182,13 +20587,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20208,11 +20613,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20223,30 +20628,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20258,17 +20663,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20277,27 +20682,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20307,15 +20712,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20328,40 +20733,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20375,13 +20780,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20389,34 +20794,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20431,18 +20836,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20450,33 +20855,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20499,31 +20904,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20765,20 +21161,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20801,7 +21197,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20810,98 +21206,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20914,21 +21310,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21931,10 +22329,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22033,6 +22427,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22081,107 +22500,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22444,7 +22863,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/he.po b/src/calibre/translations/he.po index 8409e80e08..3d283de873 100644 --- a/src/calibre/translations/he.po +++ b/src/calibre/translations/he.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2012-12-21 09:15+0000\n" "Last-Translator: Hisbro \n" "Language-Team: Hebrew \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:13+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:29+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "לא עושה דבר" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "לא עושה דבר" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "לא עושה דבר" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "לא עושה דבר" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "לא עושה דבר" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "לא עושה דבר" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "לא עושה דבר" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -329,73 +329,73 @@ msgstr "כתוב תגיות מטא מ- %s קבצים" msgid "Set metadata from %s files" msgstr "כתוב תגיות מטא מ- %s קבצים" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "הוסף ספרים ל-calibre או למכשיר המחובר" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "יבא הערות ממכשיר קינדל מחובר (ניסיוני)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "אתחל קטלוג של הספרים שבספריית ה-calibre שלך" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "להמיר ספרים לתצורות שונות" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "למחוק ספרים מספריית ה-calibre או מהמכשיר שלך" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "לערוך את הנתונים של הספרים בספריית ה-calibre שלך" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "לקרוא ספרים בספריית ה-calibre שלך" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "להוריד חדשות מהאנטרנט בתצורת ספר אלקטרוני." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "הצג במהירות רשימה של ספרים קשורים" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "יצא ספרים מספריית הקליבר שלך לכונן הקשיח" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "הצג פרטי הספר בחלון נפרד" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "אתחל את calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "פתח את התיקיה המכילה את קבצי הספר בספריית הקליבר שלך" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "להעתיק ספרים למכשיר המחובר" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" @@ -403,160 +403,160 @@ msgstr "" "שלח ספרים דרך דוא\"ל או דרך האינטרנת בנוסף חיבור ה-ITunes או סיפריות על " "המחשב כאלו הם מכשירים" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "עיין במדריך של calibre למשתמש" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "התאם את calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "מצא בקלות ספרים הדומים לספר הנבחר" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "החלף בין ספריות קליבר שונות וביצוע תחזוקה עליהם" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "העתק ספרים ממכשירך לספריית קליבר" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "ערוך את האוספים בהם ממוקמים הספרים במכשירך" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "העתק ספר מספריית קליבר אחת לאחרת" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "בצע שינוי קטנים על קבצי epub או htmlz בספריית הקליבר" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" "מצא את ההתאמה הקודמות או ההבאה בעת חיפוש בספריית ה-calibre שלך במצב הדגשה." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "בחר ספר אקראי מספריית הקליבר שלך" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "חפש ספרים ממוכרים שונים" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "קבל רכיבי calibre חדשים או עדכן רכיבים קיימים." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "מראה ותחושה" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "ממשק" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "התאם את המראה והמרגש של ממשק קליבר לטעם האישי שלך" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "אופן הפעולה" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "שנה את אופן הפעולה של קליבר" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "הוסף טורים אישיים" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "הוסף/הסר טורים אישיים לרשימת הספרים של קליבר" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "סרגל כלים" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "התאם אישית סרגלי כלים ותפריטי מידע, שנה את הפעולות האפשריות בכל אחד." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "מחפש" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "התאם את הדרך בה קליבר מחפש ספרים" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "אפשרויות קלט" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "המרה" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "קבע אפשרויות המרה ספציפיות לפי סוג הקלט" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "אפשרויות נפוצות" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "קבע אפשרויות המרה המשותפות לכל סוגי הקבצים" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "אפשריות פלט" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "קבע אפשרויות המרה ספציפיות לפי סוג הפלט" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "הוספת ספרים" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "ייבוא/ייצוא" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "שלוט בצורה שקליבר קורא מידע מטא מקבצים בזמן הוספת ספרים" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "שמירת ספרים לדיסק" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -564,61 +564,61 @@ msgstr "" "קבע איך calibre מייצא קבצים ממסד הנתונים לדיסק הקשיח בבחירת \"שמירה לדיסק " "הקשיח\"" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "שליחת ספרים להתקנים" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "שלוט כיצד calibre מעביר את הקבצים לקורא הספרים הדיגיטליים שלך" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "שנה שדות נתוני מטא לפני שמירה/שליחה" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "פונקציות תבנית" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "הגדרות מתקדמות" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "צור פונקציות תבנית משלך" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "שיתוף ספרים במייל" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "שיתוף" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" "הגדר שיתוף ספרים דרך מייל. יכול לשמש לשליחה אוטומטית של חדשות להתקנים" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "שיתוף ברשת" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -626,56 +626,56 @@ msgstr "" "הגדר את שרת התוכן של calibre, שייתן לך נגישות לספריית ה-calibre שלך מכל מקום " "ומכל מכשיר המחובר לאינטרנט." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "הורדת מטא-נתונים" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "שלוט באופן בו calibre מוריד מטא-נתונים של ספרים אלקטרונים מהרשת" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "התקנים שמתעלמים מהם" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "קבע מאילו התקנים calibre יתעלם כאשר הם מחוברים למחשב." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "תוספים" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "הוסף/הסר/הגדר חלקים שונים של תפקודיות calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "שיפורים" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "כוונן את התנהגות קליבר בהקשרים שונים" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "מקלדת" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "התאם את קיצורי המקלדת בהם calibre משתמש" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "שונות" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "הגדרות מתקדמות שונות" @@ -969,8 +969,8 @@ msgstr "אפשר את הרכיב המצויין" msgid "Disable the named plugin" msgstr "הפסק את הרכיב המצויין" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -980,11 +980,22 @@ msgstr "הפסק את הרכיב המצויין" msgid "Path to library too long. Must be less than %d characters." msgstr "נתיב הסיפריה ארוך מידי. אורכו חייב להיות פחות מ-%d תווים." -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -996,26 +1007,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "ראשי" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "כרטיס A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "כרטיס B" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1028,11 +1039,11 @@ msgstr "כרטיס B" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "חדשות" @@ -1040,14 +1051,14 @@ msgstr "חדשות" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1055,7 +1066,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1063,45 +1074,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1131,23 +1167,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "מתקשר עם טלפון Android." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "תקשר עם סלולרי S60" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "תקשר עם מחשבי לוח מסוג WebOS." @@ -1277,8 +1313,8 @@ msgstr "" "לחץ על 'הצג פרטים' לקבלת רשימה." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "קטלוג" @@ -1330,10 +1366,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1374,6 +1410,7 @@ msgstr "מוסיף ספרים לרשימת הספרים במכשיר" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1694,17 +1731,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1712,12 +1749,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "הצג תצוגה מקדימה" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1725,7 +1762,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "הראה המלצות" @@ -1737,7 +1774,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1750,10 +1787,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1810,66 +1849,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1877,7 +1916,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1886,11 +1925,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1910,55 +1949,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "תקשר עם פאן דיגיטאל נובל" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "תקשר עם ה-VelocityMicro" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "תקשר עם GM2000" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2083,7 +2122,7 @@ msgstr "מכשיר ה-Nook" msgid "Communicate with the Nook eBook reader." msgstr "מתקשר עם Nook eBook reader." -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2567,7 +2606,7 @@ msgid "There is insufficient free space on the storage card" msgstr "אין מספיק מקום פנוי על כרטיס הזכרון." #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "חובר %s" @@ -2881,23 +2920,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3185,15 +3224,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4152,7 +4195,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4176,27 +4219,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "כותרת" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "מחבר/ים" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4232,13 +4275,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "תוויות" @@ -4247,9 +4291,10 @@ msgstr "תוויות" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4258,7 +4303,7 @@ msgid_plural "Series" msgstr[0] "סדרות" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4270,8 +4315,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "פורסם" @@ -4383,60 +4428,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4444,13 +4489,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4460,6 +4523,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4519,12 +4623,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4551,72 +4655,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4625,14 +4729,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4657,12 +4761,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4695,7 +4799,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4820,9 +4924,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4838,11 +4942,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "דירוג" @@ -4885,6 +4989,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5039,7 +5147,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5161,12 +5269,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5243,8 +5351,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5365,7 +5473,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5413,7 +5521,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5427,7 +5535,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5439,12 +5547,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5584,7 +5692,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5612,7 +5720,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5653,7 +5761,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5666,96 +5774,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5774,6 +5895,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5846,75 +5968,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "אין מכשיר מחובר" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5990,12 +6114,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6079,8 +6203,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6116,7 +6240,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6186,15 +6310,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6299,17 +6423,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6318,185 +6453,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6613,7 +6759,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6718,7 +6864,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6730,30 +6876,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6763,11 +6909,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -7031,7 +7177,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7241,7 +7387,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7251,7 +7397,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7285,16 +7431,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7362,7 +7517,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7548,7 +7703,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7888,8 +8043,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8805,59 +8960,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8869,13 +9028,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9113,6 +9288,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9679,7 +9858,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9725,81 +9904,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9961,7 +10140,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10472,13 +10651,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10512,8 +10691,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10532,13 +10711,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10637,7 +10816,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10685,12 +10864,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10785,40 +10964,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11686,6 +11865,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11721,12 +11901,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12300,12 +12480,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12357,6 +12537,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "מוציאים לאור" @@ -12371,6 +12552,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13247,7 +13429,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13291,7 +13473,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13301,66 +13483,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13373,32 +13559,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "גודל (מ\"ב)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13407,30 +13593,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13535,7 +13721,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -14033,7 +14219,7 @@ msgid "Edit Metadata" msgstr "ערוך מטא-נתונים" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14178,15 +14364,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14194,27 +14380,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14222,38 +14408,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14394,7 +14586,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14437,34 +14630,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14513,12 +14706,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15431,10 +15624,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15452,7 +15641,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16420,20 +16609,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16466,18 +16655,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16852,83 +17041,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "חיפוש (בשביל חיפוש מתקדם לחץ על הכפתור משמאל)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" -msgstr "הגבל ל" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "(כל הספרים)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17204,32 +17543,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17343,46 +17682,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "חיפושים" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17404,13 +17743,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17503,7 +17842,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17542,138 +17881,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17684,56 +18023,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17775,73 +18114,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17849,134 +18199,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18055,31 +18450,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "&תרום כדי לתמוך ב-calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18087,11 +18482,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18107,16 +18502,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18139,34 +18534,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18707,29 +19102,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19977,44 +20372,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -20023,59 +20418,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20086,28 +20481,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20117,11 +20522,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20131,15 +20536,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20154,7 +20559,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20164,40 +20569,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20208,28 +20613,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20240,13 +20645,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20266,11 +20671,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20281,30 +20686,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20316,17 +20721,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20335,27 +20740,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20365,15 +20770,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20386,40 +20791,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20433,13 +20838,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20447,34 +20852,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20489,18 +20894,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20508,33 +20913,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20557,31 +20962,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20823,20 +21219,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "טוען, נא להמתין" @@ -20859,7 +21255,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20868,98 +21264,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20972,21 +21368,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21989,10 +22387,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22091,6 +22485,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22139,107 +22558,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "ההורדה הסתיימה" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "הורדת הכתבות הבאות כשלה:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "מנסה להוריד עמוד שער/כריכה..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "לא הצליח להוריד כריכה: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "מוריד כריכה מ-%s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "כתבה ללא שם" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "כתבה הורדה: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "הורדת הכתבה כשלה: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22507,7 +22926,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/hi.po b/src/calibre/translations/hi.po index 923d4b1576..ab253841c5 100644 --- a/src/calibre/translations/hi.po +++ b/src/calibre/translations/hi.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2012-03-18 12:52+0000\n" "Last-Translator: Vibhav Pant \n" "Language-Team: Hindi \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:14+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:30+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "कुछ भी नहीं करता" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "कुछ भी नहीं करता" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "कुछ भी नहीं करता" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "कुछ भी नहीं करता" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "कुछ भी नहीं करता" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "कुछ भी नहीं करता" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "कुछ भी नहीं करता" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -325,345 +325,345 @@ msgstr "" msgid "Set metadata from %s files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -943,8 +943,8 @@ msgstr "" msgid "Disable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -954,11 +954,22 @@ msgstr "" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -970,26 +981,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1002,11 +1013,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" @@ -1014,14 +1025,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1029,7 +1040,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1037,45 +1048,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1103,23 +1139,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1242,8 +1278,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "" @@ -1291,10 +1327,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1335,6 +1371,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1653,17 +1690,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1671,12 +1708,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1684,7 +1721,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1696,7 +1733,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1709,10 +1746,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1769,66 +1808,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1836,7 +1875,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1845,11 +1884,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1869,55 +1908,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2042,7 +2081,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2523,7 +2562,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2832,23 +2871,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3136,15 +3175,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4098,7 +4141,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4122,27 +4165,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4178,13 +4221,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4193,9 +4237,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4205,7 +4250,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4217,8 +4262,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4330,60 +4375,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4391,13 +4436,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4407,6 +4470,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4466,12 +4570,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4498,72 +4602,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4572,14 +4676,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4604,12 +4708,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4642,7 +4746,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4767,9 +4871,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4785,11 +4889,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4832,6 +4936,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4986,7 +5094,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5108,12 +5216,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5190,8 +5298,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5312,7 +5420,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5360,7 +5468,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5374,7 +5482,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5386,12 +5494,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5531,7 +5639,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5559,7 +5667,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5600,7 +5708,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5613,96 +5721,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5721,6 +5842,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5793,75 +5915,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5937,12 +6061,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6026,8 +6150,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6063,7 +6187,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6133,15 +6257,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6246,17 +6370,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6265,185 +6400,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6560,7 +6706,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6665,7 +6811,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6677,30 +6823,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6710,11 +6856,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -6978,7 +7124,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7188,7 +7334,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7198,7 +7344,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7232,16 +7378,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7309,7 +7464,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7495,7 +7650,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7835,8 +7990,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8752,59 +8907,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8816,13 +8975,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9060,6 +9235,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9626,7 +9805,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9672,81 +9851,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9908,7 +10087,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10419,13 +10598,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10459,8 +10638,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10479,13 +10658,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10584,7 +10763,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10632,12 +10811,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10732,40 +10911,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11633,6 +11812,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11668,12 +11848,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12247,12 +12427,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12304,6 +12484,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12318,6 +12499,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13194,7 +13376,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13238,7 +13420,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13248,66 +13430,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13320,32 +13506,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13354,30 +13540,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13482,7 +13668,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13980,7 +14166,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14125,15 +14311,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14141,27 +14327,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14169,38 +14355,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14341,7 +14533,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14384,34 +14577,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14460,12 +14653,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15378,10 +15571,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15399,7 +15588,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16367,20 +16556,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16413,18 +16602,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16799,83 +16988,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17151,32 +17490,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17290,46 +17629,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17351,13 +17690,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17450,7 +17789,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17489,138 +17828,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17631,56 +17970,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17722,73 +18061,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17796,134 +18146,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18002,31 +18397,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18034,11 +18429,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18054,16 +18449,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18086,34 +18481,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18654,29 +19049,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19924,44 +20319,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19970,59 +20365,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20033,28 +20428,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20064,11 +20469,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20078,15 +20483,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20101,7 +20506,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20111,40 +20516,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20155,28 +20560,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20187,13 +20592,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20213,11 +20618,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20228,30 +20633,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20263,17 +20668,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20282,27 +20687,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20312,15 +20717,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20333,40 +20738,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20380,13 +20785,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20394,34 +20799,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20436,18 +20841,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20455,33 +20860,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20504,31 +20909,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20770,20 +21166,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20806,7 +21202,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20815,98 +21211,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20919,21 +21315,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21936,10 +22334,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22038,6 +22432,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22086,107 +22505,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22449,7 +22868,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/him.po b/src/calibre/translations/him.po index bd92982229..0c788a01d0 100644 --- a/src/calibre/translations/him.po +++ b/src/calibre/translations/him.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2012-07-23 13:49+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Himachali \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:13+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:29+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -325,345 +325,345 @@ msgstr "" msgid "Set metadata from %s files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -941,8 +941,8 @@ msgstr "" msgid "Disable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -952,11 +952,22 @@ msgstr "" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -968,26 +979,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1000,11 +1011,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" @@ -1012,14 +1023,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1027,7 +1038,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1035,45 +1046,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1101,23 +1137,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1240,8 +1276,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "" @@ -1289,10 +1325,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1333,6 +1369,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1651,17 +1688,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1669,12 +1706,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1682,7 +1719,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1694,7 +1731,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1707,10 +1744,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1767,66 +1806,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1834,7 +1873,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1843,11 +1882,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1867,55 +1906,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2040,7 +2079,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2521,7 +2560,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2830,23 +2869,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3134,15 +3173,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4093,7 +4136,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4117,27 +4160,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4173,13 +4216,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4188,9 +4232,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4200,7 +4245,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4212,8 +4257,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4325,60 +4370,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4386,13 +4431,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4402,6 +4465,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4461,12 +4565,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4493,72 +4597,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4567,14 +4671,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4599,12 +4703,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4637,7 +4741,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4762,9 +4866,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4780,11 +4884,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4827,6 +4931,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4981,7 +5089,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5103,12 +5211,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5185,8 +5293,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5307,7 +5415,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5355,7 +5463,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5369,7 +5477,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5381,12 +5489,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5526,7 +5634,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5554,7 +5662,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5595,7 +5703,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5608,96 +5716,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5716,6 +5837,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5788,75 +5910,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5932,12 +6056,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6021,8 +6145,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6058,7 +6182,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6128,15 +6252,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6241,17 +6365,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6260,185 +6395,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6555,7 +6701,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6660,7 +6806,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6672,30 +6818,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6705,11 +6851,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -6973,7 +7119,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7183,7 +7329,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7193,7 +7339,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7227,16 +7373,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7304,7 +7459,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7490,7 +7645,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7830,8 +7985,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8747,59 +8902,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8811,13 +8970,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9055,6 +9230,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9621,7 +9800,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9667,81 +9846,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9903,7 +10082,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10414,13 +10593,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10454,8 +10633,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10474,13 +10653,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10579,7 +10758,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10627,12 +10806,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10727,40 +10906,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11628,6 +11807,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11663,12 +11843,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12242,12 +12422,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12299,6 +12479,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12313,6 +12494,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13189,7 +13371,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13233,7 +13415,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13243,66 +13425,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13315,32 +13501,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13349,30 +13535,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13477,7 +13663,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13975,7 +14161,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14120,15 +14306,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14136,27 +14322,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14164,38 +14350,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14336,7 +14528,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14379,34 +14572,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14455,12 +14648,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15373,10 +15566,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15394,7 +15583,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16362,20 +16551,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16408,18 +16597,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16794,83 +16983,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17146,32 +17485,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17285,46 +17624,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17346,13 +17685,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17445,7 +17784,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17484,138 +17823,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17626,56 +17965,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17717,73 +18056,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17791,134 +18141,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -17997,31 +18392,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18029,11 +18424,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18049,16 +18444,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18081,34 +18476,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18649,29 +19044,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19919,44 +20314,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19965,59 +20360,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20028,28 +20423,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20059,11 +20464,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20073,15 +20478,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20096,7 +20501,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20106,40 +20511,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20150,28 +20555,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20182,13 +20587,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20208,11 +20613,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20223,30 +20628,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20258,17 +20663,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20277,27 +20682,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20307,15 +20712,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20328,40 +20733,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20375,13 +20780,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20389,34 +20794,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20431,18 +20836,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20450,33 +20855,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20499,31 +20904,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20765,20 +21161,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20801,7 +21197,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20810,98 +21206,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20914,21 +21310,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21931,10 +22329,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22033,6 +22427,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22081,107 +22500,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22444,7 +22863,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/hr.po b/src/calibre/translations/hr.po index bb0abca1aa..96070e9713 100644 --- a/src/calibre/translations/hr.po +++ b/src/calibre/translations/hr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2013-01-03 18:49+0000\n" "Last-Translator: Tomislav Pešut \n" "Language-Team: Croatian \n" @@ -16,24 +16,24 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:21+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:37+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "Uopće ne funkcionira" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -88,8 +88,8 @@ msgstr "Uopće ne funkcionira" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -100,9 +100,9 @@ msgstr "Uopće ne funkcionira" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -111,7 +111,7 @@ msgstr "Uopće ne funkcionira" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -124,7 +124,7 @@ msgstr "Uopće ne funkcionira" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -146,13 +146,13 @@ msgstr "Uopće ne funkcionira" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -161,33 +161,33 @@ msgstr "Uopće ne funkcionira" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -326,345 +326,345 @@ msgstr "Postavi metapodatke u %s datotekama" msgid "Set metadata from %s files" msgstr "Postavi metapodatke iz %s datoteka" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "Dodaj knjige u calibre ili priključenom uređaju" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "Preuzmi bilješke od priključenog Kidle (eksperimentalna funkcija)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "Generiraj katalog knjiga u calibre biblioteci" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "Pretvori knjige u razne ebook formate" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "Izbriši knjige iz calibre kolekcije ili priključenog uređaja" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "Editiraj metapodatke knjiga u calbre biblioteci" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Pokaži listu srodnih knjiga brzo" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "Prikaže detalje knjige u odvojenom prozoru" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Izgled" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Sučelje" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "Prilagodi izgled calibre sučelja prema vašem ukusu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "Ponašanje" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "Promijeni način na koji se calibre ponaša" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Dodaj vlastite stupce" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "Dodaj/Makni vlastite stupce u calibre listi knjiga" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Alatna traka" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "Tražim" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "Promijeni način na koji radi calibre pretraga" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "Odrednice unosa" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Konverzija" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "Postavi opcije konverzije specifične za svaki ulazni format" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Opće opcije" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "Postavi opcije konverzije zajedničke za sve formate" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "Izlazne opcije" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "Postavi opcije konverzije specifične za svaki izlazni format" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "Dodavanje knjiga" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "Uvoz/Izvoz" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "Spremanje knjiga na disk" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "Slanje knjiga na uređaj" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "Kontroliraj kako calibre prenosi datoteke na tvoj ebook čitač" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "Napredan" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "Djeljenje knjiga putem email-a" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "Razmjenjivanje" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "Dijeljenje preko mreže" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "Preuzimanje metapodataka" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Priključci" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "Ugađanja" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "Tipkovnica" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Razno" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "Razne napredne postavke" @@ -965,8 +965,8 @@ msgstr "Osposobi imenovani priključak" msgid "Disable the named plugin" msgstr "Onesposobi imenovani priključak" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -976,11 +976,22 @@ msgstr "Onesposobi imenovani priključak" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -992,26 +1003,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "Glavni" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1024,11 +1035,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Vijesti" @@ -1036,14 +1047,14 @@ msgstr "Vijesti" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1051,7 +1062,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1059,45 +1070,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1125,23 +1161,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "Kominiciraj sa Android telefonima." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1264,8 +1300,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "Katalog" @@ -1313,10 +1349,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1357,6 +1393,7 @@ msgstr "Dodavanje knjiga u popis metapodataka uređaja..." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1675,17 +1712,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1693,12 +1730,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1706,7 +1743,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1718,7 +1755,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1731,10 +1768,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1791,66 +1830,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1858,7 +1897,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1867,11 +1906,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1891,55 +1930,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "Komuniciraj sa Sweex/Kogan/Q600/Wink" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "Komuniciraj sa Pandigital Novel" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "Komuniciraj sa VelocityMicro" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "Komuniciraj sa GM2000" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "Komuniciraj sa Acer Lumiread" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "Komuniciraj sa Aluratek Color" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "Komuniciraj sa Trekstor" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "Komuniciraj sa EEE čitačem" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "Komuniciraj sa Adam tebletom" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "Komuniciraj sa Nextbook čitačem" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "Komuniciraj sa Moovybook čitačem" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "Komuniciraj sa COBY" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "Komuniciraj sa Ex124G" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2064,7 +2103,7 @@ msgstr "Nook" msgid "Communicate with the Nook eBook reader." msgstr "Komuniciraj sa Nook eBook čitačem" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2545,7 +2584,7 @@ msgid "There is insufficient free space on the storage card" msgstr "Memorijska kartica nema dovoljno slobodnog prostora" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "Podnešeno %s" @@ -2920,23 +2959,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3237,15 +3276,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4280,7 +4323,7 @@ msgstr "" msgid "Set book ID" msgstr "Postavi ID knjige" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4304,27 +4347,27 @@ msgstr "Ne" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "Naslov" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "Autor(i)" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "Izdavač" @@ -4360,13 +4403,14 @@ msgstr "Komentari" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "Tagovi" @@ -4375,9 +4419,10 @@ msgstr "Tagovi" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4387,7 +4432,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4399,8 +4444,8 @@ msgstr "Vremenska oznaka" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "Objavljeno" @@ -4522,60 +4567,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "Omot" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4583,13 +4628,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4599,6 +4662,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "Velik" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "Preuzima metapodatke iz isbndb.com" @@ -4658,12 +4762,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4690,72 +4794,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "Sadržaj" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "Naslovna Stranica" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "IndeksB" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "Pojmovnik" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "Zahvale" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "Bibliografija" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "Kolofon" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "Autorsko pravo" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "Posveta" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "Epigraf" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "Predgovor" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "Popis Ilustracija" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "Popis Tabela" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "Zabilješke" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "Uvod" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "Glavni Tekst" @@ -4764,14 +4868,14 @@ msgstr "Glavni Tekst" msgid "%s format books are not supported" msgstr "Knjige %s formata nisu podržane" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4796,12 +4900,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4834,7 +4938,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4959,9 +5063,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4977,11 +5081,11 @@ msgid "HTML TOC generation options." msgstr "Opcije generiranja HTML TOC." #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "Rang" @@ -5026,6 +5130,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "Nemoguće pronaći pdftohtml, provjeri da je vašem PUTU" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5184,7 +5292,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5311,12 +5419,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5393,8 +5501,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5515,7 +5623,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5563,7 +5671,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5577,7 +5685,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5589,12 +5697,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5734,7 +5842,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5762,7 +5870,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5803,7 +5911,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "Nemoguće pretvoriti" @@ -5816,96 +5924,109 @@ msgstr "Pokretanje konverzije %d knjige(a)" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5924,6 +6045,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "Jeste li sigurni?" @@ -5996,75 +6118,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "Odaberi formate za obrisati" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "Uklanjanje knjiga sa uređaja." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -6140,12 +6264,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6229,8 +6353,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6266,7 +6390,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6336,15 +6460,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6449,17 +6573,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6468,185 +6603,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6763,7 +6909,7 @@ msgid "Click the show details button to see which ones." msgstr "Klikni gumb za prikaz detalja da vidiš koji." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "Prikaži detalje knjige" @@ -6868,7 +7014,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6880,30 +7026,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6913,11 +7059,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -7185,7 +7331,7 @@ msgid "The specified directory could not be processed." msgstr "Specificirani direktorij nije mogao biti procesiran." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "Nema knjiga" @@ -7397,7 +7543,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7407,7 +7553,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "Kolekcije" @@ -7441,16 +7587,25 @@ msgstr "Put" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7518,7 +7673,7 @@ msgstr "izlaz" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7704,7 +7859,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "Ime" @@ -8044,8 +8199,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "Normalan" @@ -8977,59 +9132,63 @@ msgstr "Nema &Slika" msgid "PDF Output" msgstr "PDF Izlaz" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "Veličina &Papira:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "Se&rif familja:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "&Sans familija:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "&Monospace familija:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "S&tandardno pismo:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -9041,13 +9200,29 @@ msgstr "" msgid " px" msgstr " px" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "Veličina Monospace &pisma:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9285,6 +9460,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "Pretvori" @@ -9857,7 +10036,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "Nema odgovarajućih formata" @@ -9903,66 +10082,66 @@ msgstr "Uređaj: " msgid " detected." msgstr " otkriveno." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "odabrano za slanje" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "Nema uređaja" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "Odaberi format za poslati na uređaj" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "Nemoguće poslati: Nijedan uređaj nije priključen" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "Nema kartice" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "Nemoguće poslati: Uređaj nema memorijsku karticu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "Automatski konvertiraj slijedeće knjige prije otpreme na uređaj?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "Slanje kataloga na uređaj." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "Slanje vijesti na uređaj" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "Slanje knjiga na uređaj" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." @@ -9970,17 +10149,17 @@ msgstr "" "Nije moguće otpremiti slijedeće knjige na uređaj, jer odgovarajući formati " "nisu pronađeni. Prvo pretvorite knjige u format podržan od vašeg uređaja." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "Nema prostora na uređaju" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" "

Nemoguće poslati knjige na uređaj, nema dovoljno slobodnog prostora " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -10142,7 +10321,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10653,13 +10832,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10693,8 +10872,8 @@ msgid "Location" msgstr "Lokacija" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10713,13 +10892,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10818,7 +10997,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "Podudarnosti nisu pronađene" @@ -10866,12 +11045,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10966,40 +11145,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "Kopirano" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11869,6 +12048,7 @@ msgstr "Prekidam..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11904,12 +12084,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "Pretraga" @@ -12488,12 +12668,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12545,6 +12725,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "Izdavači" @@ -12559,6 +12740,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13454,7 +13636,7 @@ msgid "&Shortcut:" msgstr "&Prečica" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13498,7 +13680,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13508,48 +13690,52 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "Napredna pretraga" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" @@ -13557,19 +13743,19 @@ msgstr "" "

Pretražite listu knjiga po naslovu, autoru, izdavaču, oznakama, " "komentarima itd.

Razmaci između riječi označavaju 'i'." -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "Vrati Na Početak Brzog Pretraživanja" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13582,32 +13768,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "Veličina (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13616,30 +13802,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "Duplo klikni za urediti mene

" @@ -13747,7 +13933,7 @@ msgid "Previous Page" msgstr "Prethodna Stranica" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -14245,7 +14431,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14390,15 +14576,15 @@ msgstr "&Komentar" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14406,27 +14592,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14434,38 +14620,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "Skidanje omota..." @@ -14609,7 +14801,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14652,34 +14845,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "Visoko" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "Nisko" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "Zadano" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14730,12 +14923,12 @@ msgid "Job &priority:" msgstr "&Prioritet posla:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15650,10 +15843,6 @@ msgstr "" msgid "Small" msgstr "Malo" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "Velik" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "Srednji" @@ -15671,7 +15860,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16655,20 +16844,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "Neuspješan start sadržajnog poslužitelja" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "Dnevnik grešaka:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "Dnevnik pristupa:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16703,18 +16892,18 @@ msgid "Max. &OPDS items per query:" msgstr "Maksimalno &OPDS stavki po pretrazi:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -17092,83 +17281,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "Pretraga (Za Naprednu Pretragu klikni na lijevi gumb)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17444,32 +17783,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17583,46 +17922,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17644,13 +17983,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17743,7 +18082,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17782,138 +18121,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17924,56 +18263,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -18015,73 +18354,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -18089,134 +18439,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18297,31 +18692,31 @@ msgstr "" "Slijedeće knjige su već pretvorene u %s format. Da li hoćete da ih ponovo " "pretvorite?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "&Darujte da podržite calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "&Obnovi" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18329,11 +18724,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18349,16 +18744,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "Greška u Pretvorbi" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18381,23 +18776,23 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "Recept Onesposobljen" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "Neuspjelo" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "Imate aktivne poslove. Jeste li sigurni da hoćete prekinuti?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" @@ -18407,11 +18802,11 @@ msgstr "" " Prekid može prouzrokovati korupciju uređaja.
\n" " Jeste li sigurni da hoćete da prekinete?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18958,29 +19353,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -20269,8 +20664,8 @@ msgstr "" "molimo pogledajte dokumentaciju vezanu uz pretragu u Korisničkom Priručniku. " "Standardno se ne radi filtriranje." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." @@ -20278,11 +20673,11 @@ msgstr "" "Maksimalna širina svake linije u izlazu. Standardno se svodi na otkrivanje " "veličine zaslona." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "String upotrijebljen za odvajanje polja. Standardno je razmak." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." @@ -20290,15 +20685,15 @@ msgstr "" "Prefiks za puteve svih datoteka. Standardan je apsolutni put do mape " "biblioteke." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "Nevažeća polja. Raspoloživa polja:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "Nevažeće polje svrstavanja. Raspoloživa polja." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" @@ -20306,13 +20701,13 @@ msgstr "" "Slijedeće knjige nisu dodane jer već postoje u bazi podataka (vidi --" "duplicates opciju):" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -20326,7 +20721,7 @@ msgstr "" "specificirati \n" "direktorije, vidi opcije vezane za direktorije ispod.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" @@ -20334,11 +20729,11 @@ msgstr "" "Predpostavi da svaki direktorij ima samo jednu logičnu knjigu i da su sve " "datoteke unutar samo različiti ebook formati iste knjige." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "Preocesiraj direktorije suvratno" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." @@ -20346,43 +20741,43 @@ msgstr "" "Dodaj knjige u bazu podataka iako već postoje. Komparacija je pravljena na " "bazi naslova knjiga." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "Morate specificirati barem jednu datoteku za dodati" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20393,33 +20788,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "Morate specificirati barem jednu knjigu za ukloniti" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" -"%prog add_format [options] id ebook_file\n" -"\n" -"Dodaj ebook u ebook_file raspoloživim formatima za logičnu knjigu " -"identificiranu po id. Možete dobiti id upotrebom list naredbe. Ako format " -"već postoji, onda je zamijenjen.\n" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "Morate specificirati id i ebook datoteku" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "ebook datoteka mora imati sufiks" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20435,11 +20835,11 @@ msgstr "" "id koristeći naredbu list. fmt bi trebao biti sufix datoteke kao LRF ili TXT " "ili EPUB. Ako knjiga nema dostupan fmt, ne treba ništa poduzimati.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "Morate specificirati id i format" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20455,15 +20855,15 @@ msgstr "" "identificiranu sa id.\n" "id je id broj iz naredbe list.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "Metapodaci ispisa u OPF formi (XML)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "Morate specificirati id" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20478,7 +20878,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20488,40 +20888,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20538,28 +20938,28 @@ msgstr "" "Operacija izvoza pohranjuje sve formate knjige, omot i metapodatke (u opf \n" "datoteku). Možete uzeti id brojeve iz list naredbe.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "Izvezi sve knjige u bazi podataka, ignorirajući id listu." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "Izvezi knjige u specificirani direktorij. Standardan je" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "Izvezi sve knjige u jedan direktorij" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "Specificiranje ovog prekidača će isključiti ovu karakteristiku." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "Morate specificirati neku ids ili %s opciju" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20570,13 +20970,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20596,11 +20996,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20611,30 +21011,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "Prikaži detaljne izlazne podatke. Korisno kod otkrivanja grešaka." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "Greška: Morate specificirati izlaznu datoteku kataloga" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20646,17 +21046,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20665,27 +21065,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20695,15 +21095,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20716,40 +21116,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20763,13 +21163,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20777,34 +21177,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20819,18 +21219,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20838,33 +21238,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20895,32 +21295,23 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" "

Preseljavanje stare baze podataka na ebook biblioteku u %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "Kopiranje %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "Sažimanje baze podataka" @@ -21177,20 +21568,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -21213,7 +21604,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -21222,98 +21613,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -21326,21 +21717,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -22345,10 +22738,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22447,6 +22836,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "URL mora imati shematski sftp" @@ -22495,107 +22909,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "\"%s\" recept treba korisničko ime i lozinku." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "Skidanje završeno" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "Neuspjelo skidanje slijedećih artikala:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "Neuspjelo skidanje dijelova slijedećih artikala:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr " od " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "\tNeuspjele veze:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "Hvatanje dotoka..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "Dobijeni dotoci sa indeks stranice" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "Pokušaj skidanja omota..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "Početak skidanja [%d thread(s)]..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "Dotoci skinuti na %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "Nemoguće skinuti omot: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "Skidanje omota sa %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "Artikal bez naslova" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "Skinuti artikli: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "Neuspjelo skidanje artikla: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "Grabljenje dotoka" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22874,7 +23288,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/hu.po b/src/calibre/translations/hu.po index 7aeab0da5d..65466ac906 100644 --- a/src/calibre/translations/hu.po +++ b/src/calibre/translations/hu.po @@ -7,32 +7,32 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" -"PO-Revision-Date: 2013-01-04 20:49+0000\n" -"Last-Translator: Devilinside \n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" +"PO-Revision-Date: 2013-04-11 13:06+0000\n" +"Last-Translator: Kovid Goyal \n" "Language-Team: Hungarian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:14+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:30+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "Semmit sem csinál" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "Semmit sem csinál" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "Semmit sem csinál" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "Semmit sem csinál" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "Semmit sem csinál" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "Semmit sem csinál" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "Semmit sem csinál" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -331,77 +331,77 @@ msgstr "Metaadatok beállítása a következő fájlokban: %s" msgid "Set metadata from %s files" msgstr "Metaadatok beállítása a következő fájlokból: %s" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "" "Könyvek hozzáadása a calibre alkalmazáshoz, vagy a csatlakoztatott eszközhöz" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" "A csatlakoztatott Kindle-ről beolvassa az olvasói megjegyzéseket (kísérleti)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "Katalógust készít a Calibre könyvtárába" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "Könyvek konvertálása különböző e-book formátumokba" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" "Könyvek törlése a calibre, vagy a csatlakoztatott eszköz könyvtárából" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "A könyvek metaadatainak szerkesztése a calibre könyvtárában" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "Könyvek olvasása a calibre könyvtárában" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "Internetes hírek letöltése e-book formátumban" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Kapcsolódó könyvek listájának megjelenítése" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "Könyvek exportálása a calibre könyvtárból a merevlemezre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "" "Felugró ablakban megjeleníti az adott könyvre vonatkozó információkat" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "Calibre újraindítása" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "A könyvfájlokat tartalmazó mappa megnyitása a calbire könyvtárban" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "Könyvek küldése a csatlakoztatott eszközre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" @@ -409,44 +409,44 @@ msgstr "" "Könyveket emailben vagy weben keresztül küldhet, de megnyithatja iTunes-on, " "vagy a számítógépén, mint olvasón is" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "A calibre Felhasználói Kézikönyvének böngészése" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "A calibre testreszabása" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "A most kiválasztotthoz hasonló könyvek keresése egyszerűen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" "Különböző Calibre könyvtárak közötti váltás és karbantartás elvégzése" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "Könyvek bemásolása a eszközről a calibre könyvtárába" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "A eszközre másolt könyvkollekció szerkesztése" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "Könyv másolása egyik calibre könyvtárból a másikba" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" "Apróbb módosítások végrehajtása a calibre könyvtárában lévő EPUB és htmlz " "fájlokon" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" @@ -454,57 +454,57 @@ msgstr "" "A calibre könyvtárban kereséskor az előző és a következő egyező találat " "kiemelése" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "Könyv kiválasztása véletlenszerűen a calibre könyvtárból" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "Keresés a különböző e-könyvárusok könyvei között" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" "Frissíti a jelenlegi calibre kiadásodat és új calibre bővítményeket keres" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Megjelenés" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Kezelőfelület" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "Állítsa be a calibre kezelőfelületét saját ízlésének megfelelően" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "Viselkedés" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "Calibre viselkedésének megváltoztatása" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Saját oszlop hozzáadása" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "Saját oszlop hozzáadása/eltávolítása a calibre könyvlistában" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Eszköztár" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -512,114 +512,114 @@ msgstr "" "Eszköztár és a helyi menük testreszabása, az elérhető funkciók " "megváltoztatása" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "Keresés" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "A calibre könyvek utáni keresésének testreszabása" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "Bemeneti beállítások" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Konvertálás" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "A konvertálás beállítása az egyes bementi formátumokhoz" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Közös beállítások" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "Az összes formátum közös konvertálási beállításai" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "Kimeneti beállítások" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "A konvertálás beállítása az egyes kimeneti formátumokhoz" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "Könyv hozzáadása" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "Importálás/Exportálás" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "Új könyv hozzáadásakor a calibre metaadat olvasásának szabályozása" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "Könyvek lemezre mentése" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" "A lemezre mentés esetén a calibre adatbázisából exportált fájlok beállításai" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "Könyvek küldése eszközre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "E-book olvasóra küldött fájlok beállításai" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "Metaadat kapcsolatok" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "Metaadat oszlopok megváltoztatása mentés/küldés előtt" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "Sablon függvények" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "Haladó" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "Saját sablon függvények létrehozása" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "Könyvek megosztása emailben" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "Megosztás" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -627,11 +627,11 @@ msgstr "" "Könyvek emailben történő megosztásának beállítása. Használható akár a " "letöltött hírek az eszközre történő automatikus küldésére is." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "Hálózati megosztás" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -639,20 +639,20 @@ msgstr "" "A calibre tartalomkiszolgáló beállítása, amely elérhetővé teszi a calibre " "könyvtárat bárhonnan, bármilyen eszközzel az Interneten." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "Metaadatok letöltése" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "A calibre e-book metaadatainak letöltési beállításai" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "Figyelmen kívül hagyott eszközök" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." @@ -660,38 +660,38 @@ msgstr "" "Állítsa be, hogy a calibre melyik eszközöket hagyja figyelmen kívül azok " "csatlakozásakor." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Bővítmények" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Hozzáad/eltávolít/beállít néhány dolgot a calibre funkcióinál" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "Finomhangolások" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" "Calibre finomhangolása, hogy miképp viselkedjen különböző helyzetekben" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "Gyorsbillentyűk" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "Calibre gyorsbillentyűk testreszabása" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Egyéb" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "Egyéb speciális beállítások" @@ -994,8 +994,8 @@ msgstr "A bővítmény engedélyezése" msgid "Disable the named plugin" msgstr "A bővítmény letiltása" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -1006,11 +1006,22 @@ msgid "Path to library too long. Must be less than %d characters." msgstr "" "Túl hosszú az elérési út a könyvtárhoz. Kevesebb mint %d karakter lehet" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "egyéni oszlop készítése " + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -1022,26 +1033,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "%(tt)sÁtlagos értékelés: %(rating)3.1f" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "Fő memória" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "„A” kártya" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "„B” kártya" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1054,11 +1065,11 @@ msgstr "„B” kártya" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Hírek (RSS)" @@ -1066,14 +1077,14 @@ msgstr "Hírek (RSS)" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "bejelölve" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "igen" @@ -1081,7 +1092,7 @@ msgstr "igen" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "nem" @@ -1089,45 +1100,70 @@ msgstr "nem" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "nincs bejelölve" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "ma" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "tegnap" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "ebben a hónapban" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "nappal ezelőtt" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "üres" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "üres" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "Érvénytelen boolean lekérdezés „{0}”" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1157,7 +1193,7 @@ msgstr "" msgid "Communicate with Android phones." msgstr "Kommunikáció Androidos telefonokkal." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" @@ -1165,7 +1201,7 @@ msgstr "" "A Fő memória könyvek tárolására szolgáló mappáinak vesszővel " "elválasztott listája. Az első létező mappába kerülnek a könyvek." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" @@ -1173,11 +1209,11 @@ msgstr "" "A memóriakártya könyvek tárolására szolgáló mappáinak vesszővel " "elválasztott listája. Az első létező mappába kerülnek a könyvek." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "Kommunikáció S60-as telefonnal." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "Kommunikáció WebOS táblagépekkel." @@ -1329,8 +1365,8 @@ msgstr "" "Kattintson a „Részletek megjelenítése” lehetőségre a listához." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "Katalógus" @@ -1385,10 +1421,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1429,6 +1465,7 @@ msgstr "Könyvek hozzáadása az eszköz metaadat listájához…" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1763,17 +1800,17 @@ msgstr "" "könyvhöz, ami hasznos lehet, ha módosította a borítóképet." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "Fekete-fehér borítók feltöltése" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "Elavult bejegyzések megjelenítése" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1784,12 +1821,12 @@ msgstr "" "megjeleníthetőek, hogy lehessen őket törölni." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "Előnézet mutatása" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1801,7 +1838,7 @@ msgstr "" "előnézeteket." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "Ajánlások megjelenítése" @@ -1816,7 +1853,7 @@ msgstr "" "ha meg kívánja tekinteni, vagy törölni szeretné az ajánlásokat." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "Újabb firmware-ek támogatásának megkísérlése" @@ -1829,10 +1866,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "Ez a Kobo adatbázis verzió nem támogatott." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1902,20 +1941,20 @@ msgstr "" "/>Fejezeten belüli pozíció: %(chapter_progress)s%%
Kiemelés: %(text)s
Jegyzetek: %(annotation)s

" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" "A Kobo Touch a V2.0.0 firmware-től kezdve támogatja a könyvespolcokat." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "Könyvespolcok készítése" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." @@ -1923,11 +1962,11 @@ msgstr "" "Új könyvespolcok létrehozása a Kobo Touch eszközön, ha nem léteznek. Csak a " "V2.0.0 firmware-től felfelé." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "Üres Könyvespolcok törlése" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." @@ -1935,38 +1974,38 @@ msgstr "" "Üres könyvespolcok törlése a Kobo Touch eszközről. Csak a V2.0.0 firmware-" "től felfelé." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "Borítók feltöltése" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "Sorozat információk beállítása" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1974,7 +2013,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1983,11 +2022,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "Tesztcím hibakerséskor" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -2007,55 +2046,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "Kommunikáció a Sweex/Kogan/Q600/Wink-kel." #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "Kommunikáció Pandigital Novel-lel." -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "Kommunikáció VelocityMicro-val" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "Kommunikáció GM2000-rel" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "Kommunikáció Acer Lumiread-del." -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "Kommunikáció Aluratek Color-ral" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "Kommunikáció Trekstor-ral" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "Kommunikáció EEE olvasóval" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "Kommunikáció Adam táblagéppel" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "Kommunikáció Nextbook Reader-rel." -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "Kommunikáció Moovybook Reader-rel." -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "Kommunikáció COBY-val." -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "Kommunikáció Ex124G-vel" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2183,7 +2222,7 @@ msgstr "Nook" msgid "Communicate with the Nook eBook reader." msgstr "Kommunikáció Nook e-book olvasóval." -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "Kommunikáció Nook Color, TSR és Tablet olvasóval." @@ -2725,7 +2764,7 @@ msgid "There is insufficient free space on the storage card" msgstr "Nincs elég hely a memóriakártyán" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "Átalakítva %s" @@ -3138,17 +3177,17 @@ msgstr "" "mappaszerkezetbe. Óvatosan használja ezt a beállítást, mert nem várt " "eredményhez vezethet, befolyásolhatja a feldolgozás folyamatát." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "CSS filet ad kimenetként az alapértelmezett helyett" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "Sablon alapján HTML index fájl-t generál az alapértelmezett helyett." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" @@ -3156,7 +3195,7 @@ msgstr "" "Az alapértelmezett fájl helyett ez a sablon lesz használva a könyv HTML " "tartalmának generálásához" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3503,15 +3542,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4721,7 +4764,7 @@ msgstr "" msgid "Set book ID" msgstr "A könyv azonosítójának megadása" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4747,27 +4790,27 @@ msgstr "Nem" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "Cím" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "Szerző(k)" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "Kiadó" @@ -4803,13 +4846,14 @@ msgstr "Megjegyzés" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "Címkék" @@ -4818,9 +4862,10 @@ msgstr "Címkék" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4830,7 +4875,7 @@ msgstr[0] "Sorozat" msgstr[1] "Sorozatok" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4842,8 +4887,8 @@ msgstr "Dátum" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "Kiadás ideje" @@ -4979,61 +5024,61 @@ msgstr "" "Metaadatok és borító letöltése az ISBN-nek megfelelő könyvhöz a " "LibraryThing.com-ról\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "Borító" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "Letölti a metaadatokat és a borítót az Amazonról" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "US" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "Franciaország" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "Németország" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "Egyesült Királyság" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "Olaszország" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "Japán" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "Spanyolország" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "Amazon honlap használata:" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" "A metaadatok letöltése ennek az országnak az Amazon honlapja alapján." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "Az Amazon időtúllépés miatt kiléptette. Próbálja később!" @@ -5041,6 +5086,24 @@ msgstr "Az Amazon időtúllépés miatt kiléptette. Próbálja később!" msgid "Metadata source" msgstr "Metaadatforrás" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " @@ -5049,7 +5112,7 @@ msgstr "" "A metaadatokat és a borítót a Douban.com-ról tölti le. Csak a kínai nyelvű " "könyveknél hasznos." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -5059,6 +5122,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "Metaadatok és borítók letöltése a Google Books-ról" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "Nagy" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "Metaadatok letöltése az isbndb.com-ról" @@ -5132,12 +5236,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "Ez Amazon Topaz könyv. Nem konvertálható." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "Ez nem MOBI fájl. A fájl Topaz formátumú." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "Ez nem MOBI fájl." @@ -5170,72 +5274,72 @@ msgid "No details available" msgstr "Nem érhetők el részletek" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "Tartalomjegyzék" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "Címlap" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "Index" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "Szószedet" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "Köszönetnyilvánítás" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "Bibliográfia" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "Záradék" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "Szerzői jog" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "Ajánlás" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "Mottó" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "Előszó" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "Illusztrációk listája" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "Táblázatok listája" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "Megjegyzések" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "Előszó (szerk.)" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "Fő szöveg" @@ -5244,14 +5348,14 @@ msgstr "Fő szöveg" msgid "%s format books are not supported" msgstr "A %s formátumú könyvek sajnos nem támogatottak" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -5276,12 +5380,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -5314,7 +5418,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -5439,9 +5543,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -5457,11 +5561,11 @@ msgid "HTML TOC generation options." msgstr "HTML Tartalomjegyzék generálás beállításai." #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "Értékelés" @@ -5508,6 +5612,10 @@ msgstr "" "Nem található egy összetevő : pdftohtml! \r\n" "Ellenőrizze az elérési utat." +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5675,7 +5783,7 @@ msgid "Show this confirmation again" msgstr "A megerősítés megjelenítése következő alkalommal is" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "Újraindítás szükséges" @@ -5804,12 +5912,12 @@ msgstr "Könyv hozzáadásának beállításai" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5888,8 +5996,8 @@ msgstr "Hozzáadás könyvtárhoz" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -6015,7 +6123,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "Válassza ki a célmappát ehhez: %(title)s.%(fmt)s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -6066,7 +6174,7 @@ msgid "No existing calibre library found at %s" msgstr "Nem található calibre könyvtár itt: %s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "Könyvtár kiválasztása" @@ -6080,7 +6188,7 @@ msgstr "Könyvtár váltás / készítés" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -6092,12 +6200,12 @@ msgid "Pick a random book" msgstr "Véletlenszerű könyvkiválasztás" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "Gyors könyvtárváltás" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "Könyvtár átnevezése" @@ -6249,7 +6357,7 @@ msgstr "" "adatbázisban lévőkkel?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -6280,7 +6388,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -6323,7 +6431,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "Katalógus készítése a calibre könyvtárban lévő könyvekről" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "Nem lehet konvertálni" @@ -6336,89 +6444,102 @@ msgstr "%d könyv konvertálása" msgid "Empty output file, probably the conversion process crashed" msgstr "A kimeneti fájl üres, valószínűleg a konverziós folyamat lefagyott." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "%(title)s cím %(author)s szerzőtől" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "Könyvtár kiválasztása" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "Könyvtár &elérési útvonal" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "Könyvtár kiválasztása" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" -msgstr "&Törlés másolás után" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "Másolás más könyvtárba" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "Másolja a kiválasztott könyveket a megadott könyvtárba" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "(másolás után törlés)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "Válassza ki a könyvtár elérési útvonalát…" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "Nem másolható" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "Nem lehet másolni az aktuális mappába." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "Nincs könyvtár" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "Nem található könyvtár itt: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "%(num)d könyv átmásolva ide: %(loc)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "A következő könyvek nem másolhatóak: " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "Automatikusan összefésülve." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " @@ -6428,7 +6549,7 @@ msgstr "" "célmappában. Kattintson, hogy megnézhesse melyek. Ezt a viselkedést az " "Automata összefűző eszköz kezeli (Beállítások->Könyv hozzáadása)." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -6449,6 +6570,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "Biztos benne?" @@ -6526,11 +6648,11 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "Válassza ki a törlendő formátumokat" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." @@ -6539,7 +6661,7 @@ msgstr "" "törölni.

Bármit is választ, az nem fordulhat elő, hogy az összes formátum " "törölve lesz a könyvből." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" @@ -6547,44 +6669,44 @@ msgstr "" "A kiválasztott könyvekből minden formátum törölve lesz.
A könyv " "metaadatai megmaradnak. Folytatja?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "A könyvek nem törölhetőek" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "Nincs csatlakoztatott eszköz" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "Fő memória" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "„A” memóriakártya" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "„B” memóriakártya" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "Nincs törlésre kiválasztott könyv" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "A kiválasztott könyvek nem találhatóak az eszközön" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "Könyvek törlése az eszközről." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" @@ -6592,21 +6714,19 @@ msgstr "" "A kiválasztott könyvek egyike egy csatlakoztatott eszközön található. " "Honnan szeretné a kijelölt fájlokat törölni?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -"A kiválasztott könyvek véglegesen törlődni fognak és a fájlok " -"eltávolításra kerülnek a calibre könyvtárából. Folytatja?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" -"A kiválasztott könyvek véglegesen törlődni fognak az eszközéről. " -"Folytatja?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 msgid "Start wireless device connection" @@ -6681,12 +6801,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "Leállítás" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "Kiszolgáló leállítása, ez egy percig is eltarthat, kérjük várjon…" @@ -6776,8 +6896,8 @@ msgstr "A metaadat letöltése meghiúsult" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "A letöltés meghiúsult" @@ -6817,7 +6937,7 @@ msgid "Download complete" msgstr "A letöltés befejeződött" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "Naplófájl letöltése" @@ -6909,15 +7029,15 @@ msgstr "" "duplikált formátuma véglegesen törlődni fog a calibre könyvtárából. " "

Valóban folytatni szeretné?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "A metaadat-változások jóváhagyása" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "Néhány hiba" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -7024,17 +7144,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -7043,185 +7174,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "&Elegánsabb írásjelek" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -7341,7 +7483,7 @@ msgid "Click the show details button to see which ones." msgstr "Kattintson a „Részletek” gombra ezek megjelenítéséhez." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "Könyv adatainak megjelenítése" @@ -7446,7 +7588,7 @@ msgid "this book" msgstr "ez a könyv" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "%s keresése" @@ -7458,17 +7600,17 @@ msgstr "Boltok" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "Bolt kiválasztása" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "Nem lehet keresni" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." @@ -7476,7 +7618,7 @@ msgstr "" "A Calibre segítséget nyújt a kívánt könyvek különböző fizetős és ingyenes " "oldalakon való keresésében." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " @@ -7486,7 +7628,7 @@ msgstr "" "van az Ön által keresett könyv a legjobb áron. Egyúttal, más hasznos " "információk mellett, tájékozódhat arról is, hogy a könyv DRM védett-e." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -7502,11 +7644,11 @@ msgstr "" "tekintettel a DRM-" "re." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "Üzenet ismételt megjelenítése" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "A „Könyv letöltése” menü használata" @@ -7806,7 +7948,7 @@ msgid "The specified directory could not be processed." msgstr "A megadott mappát nem lehet használni." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "Nincsenek könyvek" @@ -8034,7 +8176,7 @@ msgid "Click to open" msgstr "Mappa megnyitása" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "Azonosítók" @@ -8046,7 +8188,7 @@ msgstr "" "class=\"series_name\">%(series)s" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "Gyűjtemények" @@ -8080,16 +8222,25 @@ msgstr "Elérési út" msgid "Cover size: %(width)d x %(height)d" msgstr "Borító méret: %(width)d x %(height)d" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "%s formátum törlése" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "A(z) %s formátum mentése lemezre" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "BibTeX beállítások" @@ -8157,7 +8308,7 @@ msgstr "kimenet" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -8350,7 +8501,7 @@ msgstr "Igaz" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "Név" @@ -8691,8 +8842,8 @@ msgid "Style the selected text block" msgstr "A kiválasztott szöveg blokk stílusa" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "Normál" @@ -9664,59 +9815,63 @@ msgstr "Képek &nélkül" msgid "PDF Output" msgstr "PDF kimenet" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "A kimeneti profilban megadott &papírméret felülbírálata" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "&Papírméret:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "&Egyéni méret:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "Borító méret&arányának megtartása" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "Serif ('talpas') betűkészlet:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "Sans ('talp nélküli') betűkészlet:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "Monospace (rögzített szélességű) betűkészlet" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "&Alap betűtípus:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "Alapértelmezett &betűméret:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -9728,13 +9883,29 @@ msgstr "Alapértelmezett &betűméret:" msgid " px" msgstr " képpont" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "Monospace (rögzített szélességű) betűméret" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9982,6 +10153,10 @@ msgstr "" "dokumentumon. Ha kész a kifejezés, kattintson a Hozzáadás gombra, így a " "kifejezés megjelenik a listában." +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "Konvertálás" @@ -10575,7 +10750,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "Nincs megfelelő formátum" @@ -10625,68 +10800,68 @@ msgstr "Eszköz: " msgid " detected." msgstr " felismerve" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "kiválasztva küldéshez" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "Nincs eszköz" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "Nincs eszköz csatlakoztatva" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "%(num)i/%(total)i könyv" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "0/%i könyv" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "Az eszközre küldendő formátum kiválasztása" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "Nem lehet elküldeni: nincs csatlakoztatott eszköz" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "Nincs memóriakártya" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "Nem lehet elküldeni: az eszközben nincs memóriakártya" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" "Az eszközre való feltöltés előtt automatikusan konvertáljam a kijelölt " "könyveket?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "Katalógusok küldése az eszközre." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "Hírek küldése az eszközre" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "Könyvek küldése az eszközre." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." @@ -10695,17 +10870,17 @@ msgstr "" "formátumú változatuk. Konvertálja át a nem megfelelőeket valamelyik, az " "eszközöd által támogatott formátumra." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "Nincs elég hely az eszközön" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" "

Nem lehet feltölteni könyveket az eszközre, nincs elég szabad hely " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "Helytelen cél" @@ -10878,7 +11053,7 @@ msgstr "Eszközinformáció megjelenítése" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -11490,13 +11665,13 @@ msgid "Where do you want to delete from?" msgstr "Honnét szeretne törölni?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "Könyvtár" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "Eszköz" @@ -11532,8 +11707,8 @@ msgid "Location" msgstr "Hely" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -11552,13 +11727,13 @@ msgstr "%(curr)s (előtte %(initial)s)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "Az elem üres" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "Egy elem nem állítható „semmi”-re. Törölje, ha úgy gondolja." @@ -11664,7 +11839,7 @@ msgstr "Hivatkozás" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "Nincs találat" @@ -11712,12 +11887,12 @@ msgid "Copy to author" msgstr "Másolás a szerzőhöz" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "Érvénytelen szerzőnév" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "A szerzőnév nem tartalmazhat & karaktert." @@ -11820,40 +11995,40 @@ msgstr "M&inden művelet elrejtése" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "&Másolás a vágólapra" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "&Részletek" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "&Részletek elrejtése" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "A hiba részleteinek megjelenítése" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "Másolva" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "Naplófájl megjelenítése" @@ -12806,6 +12981,7 @@ msgstr "Megszakítás…" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -12845,12 +13021,12 @@ msgstr "Elemek" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "Keresés" @@ -13486,12 +13662,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "Vezetéknélküli eszköz indítási hiba" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -13543,6 +13719,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "&Automatikus kapcsolódás a calibre indulásakor" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "Kiadók" @@ -13557,6 +13734,7 @@ msgstr "Kategória keresési neve: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "Érvénytelen név" @@ -14479,7 +14657,7 @@ msgid "&Shortcut:" msgstr "Billentyű¶ncs:" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "Kész" @@ -14525,7 +14703,7 @@ msgstr "Végrehajtandó parancs név szerinti keresése" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "Nincs találat" @@ -14535,48 +14713,52 @@ msgstr "Nincs találat" msgid "Could not find any shortcuts matching %s" msgstr "Nem található ilyen gyorsbillentyű: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "Meghajtó kiadása" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "Ezen eszköz beállítása" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "Calibre könyvtár könyveinek megjelenítése" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "Az eszköz fő memóriájában lévő könyvek megjelenítése" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "Az „A” memóriakártyán lévő könyvek megjelenítése" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "A „B” memóriakártyán lévő könyvek megjelenítése" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "Könyvtár törlése" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "elérhető" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "Részletes keresés" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "Shift+Ctrl+F" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" @@ -14584,19 +14766,19 @@ msgstr "" "

Keresés a listában a cím, szerző stb alapján

A szóközzel " "elválasztott szavak az AND (ÉS) művelet alapján lesznek értelmezve" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "&Mehet!" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "Gyors-keresés indítása (az Enter billentyű megnyomása után)" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "A gyors-keresés visszaállítása alapállapotba" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "Az aktuális keresésszöveg másolása (a keresés név helyett)" @@ -14609,32 +14791,32 @@ msgstr "csillag" msgid "Y" msgstr "Y" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "Eszközön" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "Méret (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "Módosítva" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "Keresési/rendezési feltétel: „{0}”" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "A könyv UUID-je: „{0}”" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -14644,32 +14826,32 @@ msgid "" msgstr "" "A könyv helyét nem sikerült megváltoztatni. Esetleg más program is használja?" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "Sikertelen adatbeállítás" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" "Nem sikerült az adatokat beállítani, további információkért kattintson a " "Részletek megjelenítésére." -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "Könyvtárban" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "Méret" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "Megjelölve törlése" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "Dupla-kattintás a szerkesztéshez

" @@ -14776,7 +14958,7 @@ msgid "Previous Page" msgstr "Előző oldal" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -15310,7 +15492,7 @@ msgid "Edit Metadata" msgstr "Metaadat szerkesztése" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -15468,15 +15650,15 @@ msgstr "&Megjegyzések" msgid "Basic metadata" msgstr "Alap metaadat" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "Van borítója" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "Van összefoglalója" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -15487,29 +15669,29 @@ msgstr "" "Néha előfordul, hogy olyan könyvhöz is töltődik le\n" "borító, ami borító nélküliként volt jelölve és fordítva." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "Nézze itt:" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "A calibre metaadatokat tölt le a következő helyről: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "Kérem várjon" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "Lekérdezés: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" "Nem sikerült a metaadatok letöltése. Kattintson a „Részletek” gombra a " "további információkért." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -15521,42 +15703,46 @@ msgstr "" "jellemző szót adjon meg a címből.

További információkért kattintson a " "„Részletek” gombra." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "Aktuális borító" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "Keresés…" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "%s borítójának letöltése, kérem várjon…" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" "Nem sikerült a borító letöltése, kattintson a „Részletek” gombra további " "információkért." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "Nem található borító ehhez: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -"%(title)s könyvhöz %(num)d borító is található. Válassza amelyik " -"szeretné." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "Metaadatok letöltése…" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "Borító letöltése…" @@ -15741,10 +15927,9 @@ msgid "The Add &Process" msgstr "Könyvek hozzáadásának beállításai" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" -"A következő kiterjesztésű fájlok ki lesznek hagyva az automatikus " -"hozzáadásból " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 msgid "" @@ -15791,34 +15976,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "&Automatikus hozzáadás" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "Magas" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "Alacsony" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "Nagyon alacsony" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "Kompakt elrendezés" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "Alapértelmezett" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "Minden egy fülön" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "Megerősítést kérő párbeszédablakok alaphelyzetbe állítva" @@ -15873,18 +16058,15 @@ msgid "Job &priority:" msgstr "Műveletek prioritása:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" -msgstr "A szűkítés érvénybe lép, amint az aktuális könyvtár megnyílik:" +msgid "Virtual library to apply when the current library is opened:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" -"Ez a megkötés kerül alkalmazásra erre a könyvtárra való váltáskor, vagy " -"induláskor, ha ez a könyvár volt utoljára megnyitva. Ez a beállítás " -"könyvtárhoz kötött. " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170 msgid "Edit metadata (single) layout:" @@ -16898,10 +17080,6 @@ msgstr "Nincs" msgid "Small" msgstr "Kicsi" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "Nagy" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "Közepes" @@ -16919,7 +17097,7 @@ msgid "Never" msgstr "Soha" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "Első betű szerint" @@ -18026,20 +18204,20 @@ msgstr "" "kattint. Ez a beállítás felülbírálható az egyes eszközöknek megfelelő " "specifikus adatokkal a Beállítások->Haladó->Bővítmények menüben." -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "A kiszolgáló indítása nem sikerült" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "Hibanapló:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "Hozzáférési naplófájl:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "A változások életbelépéséhez újra kell indítani a kiszolgálót" @@ -18081,22 +18259,19 @@ msgid "Max. &OPDS items per query:" msgstr "Maximális &OPDS elemszám kérésenként:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" -msgstr "Nem &csoportosított OPDS elemek maximális száma:" +msgid "Max. &ungrouped items:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" -msgstr "Szűkítés (elmentett keresés) érvényesítése:" +msgid "Virtual library to apply:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" -"A mentett kereséseket felhasználva leszűkíti a tartalomkiszolgáló által " -"elérhetővé tett könyvek listáját. Ez a beállítás az aktuális könyvtárra " -"vonatkozik, tehát könyvtáranként más és más lehet." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 msgid "" @@ -18562,39 +18737,49 @@ msgstr "Alapértelmezett beállítás visszaállítása" msgid "Apply any changes you made to this tweak" msgstr "A végrehajtott változtatások alkalmazása" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" +msgstr "Mentett keresés létrehozása" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 msgid "Delete current search" msgstr "Az aktuális keresés törlése" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 msgid "No search is selected" msgstr "Nincs keresés kiválasztva" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "A kiválasztott keresés véglegesen törlődik. Folytatja?" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "Részletes kereséshez kattintson a balra lévő gombra" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "Keresés megkezdése" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "Keresési kiemelés engedélyezése/tiltása" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "Mentett keresések" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "Válassza ki a mentett keresést, vagy a név beírásával készítsen újat" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." @@ -18602,47 +18787,185 @@ msgstr "" "Mentse az aktuális keresést a mezőben lévő névvel. Kattintson és tartsa " "nyomva a gombot a helyi menü megjelenítéséhez." -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "Mentett keresés létrehozása" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "Mentett keresés törlése" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "Mentett keresések kezelése" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" -msgstr "*Aktuális keresés" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" -msgstr "Lista szűkítése" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "(összes könyv)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -"A könyvlista csak a kiválasztott mentett keresésnek megfelelő könyveket " -"tartalmazza" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " -msgstr " vagy a következő keresést: " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "({0}/{1})" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "({0}/összes" @@ -18938,33 +19261,33 @@ msgstr "Letöltés…" msgid "Goto in store..." msgstr "Ugrás a bolthoz…" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" "Ebből az áruházból vásárolva támogatja a calibre fejlesztőjét: %s

" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "Meg kell adnia egy címet, szerzőt vagy kulcsszót a kereséshez." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "Könyvletöltés keresésének testreszabása" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "Keresés beállítása" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "Nem található a keresési feltételnek megfelelő könyv." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "A letöltésnél használatos formátum." @@ -19086,49 +19409,49 @@ msgstr "Frissítés" msgid "%p%" msgstr "%p%" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "A csoportosított keresési feltétel neve: {0}" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" "Sok könyv szerzőjének megváltoztatása eltarthat egy ideig. Folytatja?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" "Sok könyv metaadatának megváltoztatása hosszú ideig is eltarthat. Folytatja?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "Keresés" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "Felhasználói kategória átnevezése" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" "Felhasználói kategória átnevezésénél az új névben nem használhat pontot." -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "A(z) %s név már használatban van" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "Duplikált keresési név" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "A menteni kívánt keresésnél megadott név (%s) már használatban van." @@ -19150,13 +19473,13 @@ msgid "Manage Tags" msgstr "Címkék kezelése" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "Felhasználói kategóriák kezelése" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "Elmentett keresések kezelése" @@ -19257,7 +19580,7 @@ msgid "Alter Tag Browser" msgstr "Címkeböngésző megváltoztatása" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "Rendezés" @@ -19300,138 +19623,138 @@ msgstr "" "Ezek a kategória kezelők a fenti címke böngészőből is elérhetők az elemekre " "történő jobb egérgomb kattintással" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "%s átnevezése" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "%s törlése" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "%s rendezési forma szerkesztése" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "%s linkjének szerkesztése" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "%s hozzáadása felhasználói kategóriához" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "%s gyermeke" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "%s keresés törlése" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "%(item)s eltávolítása a %(cat)s kategóriából" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "A(z) %s kivételével mindent keressen" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "Alkategória hozzáadása a következőhöz: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "%s felhasználói kategória törlése" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "A(z) %s kategória elrejtése" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "Kategória megjelenítése" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "Könyvek keresése a(z) %s kategóriában" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "Ne keressen könyveket a(z) %s kategóriában" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "A(z) %s kezelése" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "Kategória ikon megváltoztatása" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "Alapértelmezett ikon visszaállítása" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "Minden kategória megjelenítése" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "Az alkategória séma megváltoztatása" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "Tiltás" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "Az első betű csak a névre rendezéskor használható" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -19442,56 +19765,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -19533,73 +19856,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -19607,134 +19941,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -19817,31 +20196,31 @@ msgstr "" "A következő könyvek már át vannak konvertálva %s formátumba. Újra akarja " "konvertálni őket?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "A Calibre projekt támogatása" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "&Visszaállítás teljes nézetre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "&Csatlakoztatott eszköz leválasztása" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "Kilépés a Calibre-ből" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "Az aktuális keresés törlése" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "Hibakeresési mód" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -19852,11 +20231,11 @@ msgstr "" "hibanapló elérhető a következő helyen: %s

A hibanapló automatikusan " "megjelenik." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "Nem sikerült elindítani a tartalomkiszolgálót" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -19878,16 +20257,16 @@ msgstr "" "calibre megkísérelje annak automatikus helyreállítását? Az adatbázis " "újraépítése nem biztos, hogy sikerülni fog." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "Konvertálási hiba" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "

Nem sikerült konvertálni: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -19910,23 +20289,23 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "A konvertálás nem sikerült" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "Hírösszeállítás letiltva" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "Nem sikerült" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "Folyamatban van néhány művelet végrehajtása. Megszakítja?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" @@ -19936,11 +20315,11 @@ msgstr "" " A kilépés adatvesztést okozhat az eszközön.
\n" " Biztos, hogy ki akar lépni??" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "Folyamatban lévő műveletek" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -20500,29 +20879,29 @@ msgstr "Alpértelmezett betűméret" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "&Nagyítás" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "&Kicsinyítés" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "&Mentés másként" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "Fo&rgatás" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "Kép megtekintése: %s" @@ -21891,20 +22270,20 @@ msgstr "" "a Felhasználói Kézikönyv ide vonatkozó részét. Alapértelmezésként nincs " "szűrés." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" "Egy sor maximális szélessége a kimenetben. A képernyőmérethez szükséges." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" "A mezők elválasztására szolgáló karakter vagy szöveg. Alapbeállítás a szóköz." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." @@ -21912,15 +22291,15 @@ msgstr "" "Minden elérési útvonal előtagja. Alapértelmezettként az adatbázis mappájának " "elérési útja." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "Érvénytelen mező. Lehetséges mezők:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "Érvénytelen rendezési mező. Elérhető mezők:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" @@ -21928,13 +22307,13 @@ msgstr "" "A következő könyvek nem lettek hozzáadva az adatbázishoz, mert már léteznek " "(lásd még --duplicates beállítása):" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "Könyvazonosítók hozzáadva: %s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -21947,18 +22326,18 @@ msgstr "" "A megadott fájlok könyvként kerülnek az adatbázisba. Mappákat is megadhat.\n" "Lásd, mappákhoz köthető kapcsolók.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" "Feltéve, hogy minden mappa egy könyv különböző formátumait tartalmazza" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "Az összes almappát is beleértve" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." @@ -21966,43 +22345,43 @@ msgstr "" "Könyv hozzáadása az adatbázishoz akkor is, ha már létezik. Az " "összehasonlítás a könyvcímek alapján történik." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "Üres könyv hozzáadása (egy könyv formátum nélkül)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "A hozzáadott könyv(ek) címének megadása" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "A hozzáadott könyv(ek) szerzőjének megadása" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "A hozzáadott könyv(ek) ISBN-számának megadása" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "A hozzáadott könyv(ek) címkéinek megadása" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "A hozzáadott könyv(ek) sorozatának megadása" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "A hozzáadott könyv(ek) sorozatszámának megadása" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "Legalább egy hozzáadandó fájlt meg kell határozni" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -22019,33 +22398,38 @@ msgstr "" "meg). Például: 23,34,57-85 (tartomány megadásakor a tartomány utolsó eleme " "nem lesz figyelembe véve).\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "Legalább egy könyvet ki kell jelölni az eltávolításhoz" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" -"%prog add_format [kapcsolók] id ebook_fájl\n" -"\n" -"Az „ebook_fájl” hozzáadása az „id”-vel megadott könyvhöz. A könyv „id”-je " -"lekérdezhető a „list” paranccsal. Ha az „ebook_fájl” formátuma már létezik " -"ehhez a könyvhöz, akkor az felül lesz írva az újjal.\n" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "Meg kell adnia egy azonosítót és egy e-book fájlt." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "az e-book fájlnak rendelkeznie kell fájlkiterjesztéssel" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -22062,11 +22446,11 @@ msgstr "" "mint például LRF, TXT vagy EPUB. Ha az „id”-vel megadott könyv nem " "tartalmazza a „formátum”-ot, akkor a parancs nem csinál semmit.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "Meg kell adnia egy azonosítót és egy formátumot" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -22081,15 +22465,15 @@ msgstr "" "Az adatbázisban az 'id'-vel jelölt könyv metaadatainak megjelenítése.\n" "Az 'id' a 'list' paranccsal kilistázott értékek egyike.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "Metaadatok nyomtatása OPF(XML) formátumban" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "Meg kall adnia az azonosítót" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -22104,7 +22488,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -22114,40 +22498,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "Mezőnév" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "Nem ismert mező: %s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -22164,32 +22548,32 @@ msgstr "" "elmenti.\n" "A könyvek ID-i (azonosítói) lekérdezhetőek a 'list' paranccsal.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" "Minden könyv exportálása az adatbázisba. Ne vegye figyelembe az azonosító " "(ID) listát." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" "Az adatbázisban lévő könyvek exportálása egy meghatározott mappába. " "Alapértelmezett:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "Minden könyv exportálása egy mappába" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "Ennek megadása kikapcsolja ezt az opciót." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "Meg kell adnia néhány ID-t vagy a %s opciót" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -22207,7 +22591,7 @@ msgstr "" "felhasználóbarát címe.\n" "Az „adattípus” lehet: {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." @@ -22215,7 +22599,7 @@ msgstr "" "Az oszlop címke-szerű (több elem, vesszővel tagolva) adatokat tárol. Csak " "szöveg adattípusnál használható." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -22235,11 +22619,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "Meg kell adnia a címkét, a nevet és az adatbázist" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -22258,7 +22642,7 @@ msgstr "" " A kapcsolókkal állíthatja be a generált fájl bejegyzéseit.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" @@ -22268,7 +22652,7 @@ msgstr "" "Ha meg van adva, akkor a --search opció nem lesz figyelembe véve.\n" "Alapértelmezett: „all” (mind)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" @@ -22278,17 +22662,17 @@ msgstr "" "formátumáról bővebben a Felhasználói Kézikönyvben olvashat.\n" "Alapértelmezett: nincs szűrés" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" "Részletes kimeneti információk megjelenítése. Hasznos hibakeresésnél." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "Hiba: Meg kell adnia egy katalógus kimeneti fájlt" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -22307,7 +22691,7 @@ msgstr "" " Az egyéni oszlopok nevet a „custom_columns” paranccsal listázhatja ki.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." @@ -22315,11 +22699,11 @@ msgstr "" "Ha az oszlop több értéket tárol, akkor a megadott értéket adja a meglévőkhöz " "és cserélje le őket." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "Hiba: Meg kell adnia a mezőnevet, az id-t és az értéket" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -22334,27 +22718,27 @@ msgstr "" "azonosítóját.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "Részletek mutatása minden oszlopnál." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "i" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -22372,15 +22756,15 @@ msgstr "" " a „custom_columns” paranccsal listázhatja ki.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "Ne kelljen megerősíteni" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "Hiba: Meg kell adnia az oszlop nevét" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -22402,42 +22786,42 @@ msgstr "" " akkor az le lesz cserélve\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "Hiba: Meg kell adnia egy műveletet (hozzáadás|eltávolítás|listázás)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "Név:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "Karakterlánc keresése:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "Hiba: Meg kell adnia egy nevet és egy keresési szót" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "hozzáadva" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "Hiba: Meg kell adnia egy nevet" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "eltávolítva" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" "Hiba: ismeretlen művelet: %s. A következők egyike kell, hogy legyen: " "(add|remove|list)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -22451,13 +22835,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -22469,12 +22853,12 @@ msgstr "" "Néhány ellenőrzés lefuttatása a könyvtár belső fájlrendszerén. " "Visszajelzések: {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "CSV kimenet" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" @@ -22482,7 +22866,7 @@ msgstr "" "A naplók vesszővel elválasztott listája.\n" "Alapértelmezés: mind" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" @@ -22490,7 +22874,7 @@ msgstr "" "A kihagyandó kiterjesztések vesszővel tagolt listája.\n" "Alapértelmezett: all (mind)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" @@ -22498,11 +22882,11 @@ msgstr "" "Vesszővel elválasztott lista a kihagyandó nevekkel.\n" "Alapértelmezett: Összes" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "Ismeretlen riportellenőrzés" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -22531,7 +22915,7 @@ msgstr "" "tároltak szerint jelennek meg az újraépített adatbázisban.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." @@ -22539,12 +22923,12 @@ msgstr "" "Tényleg állítsa vissza az adatbázist. Enélkül az opció nélkül nem fut a " "parancs." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "A következő opciót kell megadnia a helyreállításhoz: %s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -22556,7 +22940,7 @@ msgstr "" "Kategória Információkat jelenít meg az adatbázisból.\n" "Ezek az információk megegyeznek a címkepanelen láthatókkal.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" @@ -22564,7 +22948,7 @@ msgstr "" "Csak a kategórián belüli elemek számát adja meg az egyes elemekhez tartozó " "darabszámok helyett" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." @@ -22572,7 +22956,7 @@ msgstr "" "A kategóriák e jel közé lesznek zárva CSV módban. Alapértelmezett az " "idézőjel (\")." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" @@ -22580,15 +22964,15 @@ msgstr "" "A kategória keresőneveinek vesszővel elválasztott listája.\n" "Alapértelmezett: all (mind)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "CSV módban a mezőket elválasztó jel. Alapértelmezett: vessző" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "KATEGÓRIA ELEMEK" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -22621,31 +23005,22 @@ msgstr "" "A felirat csak kicsi angol betűket, számokat és alul-vonást tartalmazhat és " "mindig betűvel kell kezdődnie" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "egyéni oszlop készítése " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "

Régi adatbázis migrálása a jelenlegibe: %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "Másolás: %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "Adatbázis tömörítése" @@ -22928,20 +23303,20 @@ msgstr "" "szerverekről kell ehhez a szerverhez a visszautat megadni." #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "Minden könyv" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "Legújabb" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "Betöltés, kérjük várjon" @@ -22964,7 +23339,7 @@ msgid "Browsing %d books" msgstr "%d könyv böngészése" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "Átlagos értékelés" @@ -22973,98 +23348,98 @@ msgstr "Átlagos értékelés" msgid "%(prefix)s: %(rating).1f stars" msgstr "%(prefix)s: %(rating).1f csillag" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "%d csillag" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "Gyakoriság" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "könyvtár" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "Kezdőlap" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "Könyvek böngészése e szerint:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "Válassza ki, mely kategória szerint kíván böngészni:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "Böngészés e szerint:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "Fel" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "ebben" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "Könyvek:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "Egyéb formátumok" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "%(title)s olvasása %(fmt)s formátumban" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "Letöltés" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "Részletek" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "Permalink" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "A könyvhöz tartozó permalink" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "Ezt a könyvet törölték" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "a keresésben" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "Egyező könyvek" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -23086,23 +23461,23 @@ msgstr "" "\n" "Az OPDS felület automatikusan a BonJour szolgáltatáson keresztül érhető el.\n" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "A tartalomkiszolgáló által kiszolgált könyvtár elérése" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "A folyamat PID-jének beleírása a megadott fájlba" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -"A hívás során alkalmazott korlátozások. Ez a beállítás felülírja a " -"kezelőfelület minden, egyes könyvtárakat külön szabályozó beállításait." -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -24366,10 +24741,6 @@ msgstr "de." msgid "pm" msgstr "du." -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -24470,6 +24841,31 @@ msgstr "A kód jelenleg fut" msgid "Restart console" msgstr "Konzol újraindítása" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "A URL-nek követnie kell az sftp sémát" @@ -24520,101 +24916,101 @@ msgstr "" "A következő hírösszeállításhoz felhasználónévre és jelszóra van szüksége: " "„%s”." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "A letöltés befejeződött" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "A következő cikkek letöltése nem sikerült:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "A következő cikkek részeinek letöltése nem sikerült:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr " innen: " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "\tHibás linkek:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "Nem lehet cikket letölteni." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "A hibakeresés elérhető előrébb ebben a naplófájlban" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "Futassa a -vv kapcsolóval, hogy láthassa az okát" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "Hírek letöltése…" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "Hírek letöltve az index oldalról" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "Borító letöltése…" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "Fejléc generálása…" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "Letöltés megkezdve [%d szálon]…" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "Hírek letöltve: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "Nem lehet borítót letölteni: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "Borító letöltése a következő helyről: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "Fejléc kép letöltve" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "Cikkek ebben a számban: " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "Névtelen Cikk" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "Cikk letöltve: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "A következő cikk letöltése nem sikerült: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "Hírek letöltése" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 msgid "" "Failed to log in, check your username and password for the calibre " "Periodicals service." @@ -24622,7 +25018,7 @@ msgstr "" "Nem sikerült a bejelentkezés, ellenőrizze a calibre Periodicals " "szolgáltatáshoz tartozó felhasználónevét és jelszavát." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -24932,15 +25328,9 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" -"Alapesetben a calibre több szerzőt tartalmazó szöveg esetén szétválasztja " -"azokat\n" -"a „&” jel, valamint az „and” és a „with” szavak mentén. Ezt a beállítást " -"megváltoztathatja\n" -"az elválasztóra igaz reguláris kifejezéssel.\n" -"Alapértelmezett: r'(?i),?\\s+(and|with)\\s+'" #: /home/kovid/work/calibre/resources/default_tweaks.py:85 msgid "Use author sort in Tag Browser" diff --git a/src/calibre/translations/id.po b/src/calibre/translations/id.po index afe5ef9cde..0352ee70eb 100644 --- a/src/calibre/translations/id.po +++ b/src/calibre/translations/id.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2012-01-18 11:51+0000\n" "Last-Translator: Amri Ristadi \n" "Language-Team: Indonesian \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:14+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:30+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "Tidak ada apa-apanya" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "Tidak ada apa-apanya" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "Tidak ada apa-apanya" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "Tidak ada apa-apanya" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "Tidak ada apa-apanya" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "Tidak ada apa-apanya" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "Tidak ada apa-apanya" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -331,73 +331,73 @@ msgstr "Mengatur metadata dalam berkas %s" msgid "Set metadata from %s files" msgstr "Mengatur metadata dari berkas %s" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "Menambah buku ke calibre atau perangkat yang terkoneksi" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "Ambil anotasi dari Kindle yang terkoneksi (eksperimental)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "Membuat katalog buku yang ada dalam pustaka calibre anda" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "Mengubah buku ke berbagai bentuk format e-buku" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "Hapus buku dari library calibre atau perangkat lain yang terhubung" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "Perbaiki data-bayangan (metadata) buku dalam library calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "Baca buku dal am library calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "Unduh berita dari internet ke dalam bentuk buku elektronik" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Tampilkan daftar buku terkait dengan cepat" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "Kirim buku dari library calibre anda ke piranti keras (hard disk)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "Tampilkan rincian buku dalam kilasan yang terpisah" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "Mulai kembali calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "Buku folder yang berisi berkas buku ke dalam library calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "Kirim buku ke piranti yang terhubung" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" @@ -405,42 +405,42 @@ msgstr "" "Kirim buku menggunakan email atau web juga terhubung ke iTunes atau folder " "di komputer anda sebagai bagian dari piranti" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "Cari Petunjuk Bagi Pengguna calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "calibre yang telah disesuaikan" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "Temukan buku yang sama dengan yang telah dipilih" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" "Berpindah diantara library calibre dan lakukan perbaikan atau pemeliharaan" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "Gandakan buku dari piranti anda ke dalam library calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "Perbaiki koleksi buku yang ada dalam perangkat anda" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "Gandakan buku dari satu library calibre ke yang lainnya" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" @@ -448,56 +448,56 @@ msgstr "" "Temukan kesesuaian dari yang sebelum dan sesudah saat melakukan pencarian di " "library calibre anda dalam tampilan sekilas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "Pilih buku secara acak dari library calibre anda" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "Cari buku dari penjual buku yang berbeda" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "Dapatkan plugin calibre yang baru atau perbaharui yang sudah ada" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Lihat dan Rasakan" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "interface" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "Sesuaikan tampilan dan rasa interface calibre sesuai selera anda" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "kelakuan" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "Ganti perilaku calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Tambah kolom sendiri" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "Tambahkan/hapus kolom dalam daftar buku calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Cantelan piranti" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -505,65 +505,65 @@ msgstr "" "Sesuaikan cantelan piranti dan daftar kondisinya, ganti cara yang paling " "sesuai untuk masing-masing" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "Sedang mencari" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "Sesuaikan cara calibre mencari buku sesuai kebutuhan" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "Pilihan masukan" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Konversi" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "Sesuaikan opsi konversi yang spesifik untuk setiap format input" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Pilihan umum" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "Tetapkan pilihan umum untuk semua format" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "Pilihan luaran" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "Tetapkan konversi yang spesifik untuk setiap format luaran" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "Menambahkan buku" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "Impor/Expor" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Kendalikan bagaimana calibre membaca metadata dari file saat menambahkan buku" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "Rekam buku ke dalam disk" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -571,51 +571,51 @@ msgstr "" "Kendalikan bagaimana calibre mengekspor file dari database ke disk saat " "merekam ke disk" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "Mengirim buku ke dalam piranti" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" "kendalikan bagaimana calibre memindahkan file ke pembaca buku elekronik anda" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "plugboard metadata" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "Rubah laman metadata sebelum direkam/dikirim" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "Fungsi Templat" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "Tingkat Lebih Lanjut" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "Buat fungsi templat sendiri" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "Berbagi buku melalui email" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "Berbagi" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -623,11 +623,11 @@ msgstr "" "Atur cara berbagi buku melalui email. Dapat digunakan untuk pengiriman " "otomatis dari berita yang diunduh ke dalam piranti anda" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "Berbagi melalui jaringan" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -635,57 +635,57 @@ msgstr "" "Atur Content Server calibre yang akan memberi akses ke calibre library anda " "dari mana saja, dari piranti apa saja melalui internet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "unduh metadata" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "Kendalikan bagaimana calibre mengunduh metadata ebook dari jaringan" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Plugins" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "Tweak" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" "Temukan dengan tepat bagaimana perilaku calibre dalam berbagai konteks" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "Papan ketik" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "Kustomisasi jalan pintas pada keyboard yang digunakan oleh calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Serbaneka" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "Configurasi lanjutan serbaneka" @@ -966,8 +966,8 @@ msgstr "" msgid "Disable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -977,11 +977,22 @@ msgstr "" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -993,26 +1004,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1025,11 +1036,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" @@ -1037,14 +1048,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1052,7 +1063,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1060,45 +1071,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1126,23 +1162,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1265,8 +1301,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "" @@ -1314,10 +1350,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1358,6 +1394,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1676,17 +1713,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1694,12 +1731,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1707,7 +1744,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1719,7 +1756,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1732,10 +1769,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1792,66 +1831,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1859,7 +1898,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1868,11 +1907,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1892,55 +1931,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2065,7 +2104,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2546,7 +2585,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2855,23 +2894,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3159,15 +3198,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4121,7 +4164,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4145,27 +4188,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4201,13 +4244,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4216,9 +4260,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4228,7 +4273,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4240,8 +4285,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4353,60 +4398,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4414,13 +4459,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4430,6 +4493,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4489,12 +4593,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4521,72 +4625,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4595,14 +4699,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4627,12 +4731,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4665,7 +4769,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4790,9 +4894,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4808,11 +4912,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4855,6 +4959,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5009,7 +5117,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5131,12 +5239,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5213,8 +5321,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5335,7 +5443,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5383,7 +5491,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5397,7 +5505,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5409,12 +5517,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5554,7 +5662,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5582,7 +5690,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5623,7 +5731,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5636,96 +5744,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5744,6 +5865,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5816,75 +5938,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5960,12 +6084,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6049,8 +6173,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6086,7 +6210,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6156,15 +6280,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6269,17 +6393,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6288,185 +6423,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6583,7 +6729,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6688,7 +6834,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6700,30 +6846,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6733,11 +6879,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -7001,7 +7147,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7211,7 +7357,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7221,7 +7367,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7255,16 +7401,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7332,7 +7487,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7518,7 +7673,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7858,8 +8013,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8775,59 +8930,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8839,13 +8998,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9083,6 +9258,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9649,7 +9828,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9695,81 +9874,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9931,7 +10110,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10442,13 +10621,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10482,8 +10661,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10502,13 +10681,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10607,7 +10786,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10655,12 +10834,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10755,40 +10934,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11656,6 +11835,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11691,12 +11871,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12270,12 +12450,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12327,6 +12507,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12341,6 +12522,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13217,7 +13399,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13261,7 +13443,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13271,66 +13453,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13343,32 +13529,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13377,30 +13563,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13505,7 +13691,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -14003,7 +14189,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14148,15 +14334,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14164,27 +14350,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14192,38 +14378,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14364,7 +14556,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14407,34 +14600,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14483,12 +14676,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15401,10 +15594,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15422,7 +15611,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16390,20 +16579,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16436,18 +16625,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16822,83 +17011,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17174,32 +17513,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17313,46 +17652,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17374,13 +17713,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17473,7 +17812,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17512,138 +17851,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17654,56 +17993,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17745,73 +18084,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17819,134 +18169,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18025,31 +18420,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18057,11 +18452,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18077,16 +18472,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18109,34 +18504,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18677,29 +19072,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19947,44 +20342,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19993,59 +20388,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20056,28 +20451,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20087,11 +20492,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20101,15 +20506,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20124,7 +20529,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20134,40 +20539,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20178,28 +20583,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20210,13 +20615,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20236,11 +20641,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20251,30 +20656,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20286,17 +20691,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20305,27 +20710,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20335,15 +20740,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20356,40 +20761,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20403,13 +20808,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20417,34 +20822,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20459,18 +20864,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20478,33 +20883,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20527,31 +20932,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20793,20 +21189,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20829,7 +21225,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20838,98 +21234,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20942,21 +21338,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21959,10 +22357,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22061,6 +22455,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22109,107 +22528,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22472,7 +22891,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/is.po b/src/calibre/translations/is.po index 824045e5c2..a16a43975d 100644 --- a/src/calibre/translations/is.po +++ b/src/calibre/translations/is.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: 20120515-src_calibre_translations_calibre-is\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2012-05-23 19:33+0000\n" "Last-Translator: Sveinn í Felli \n" "Language-Team: Icelandic \n" @@ -17,24 +17,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:14+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:30+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "Gerir nákvæmlega ekkert" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -89,8 +89,8 @@ msgstr "Gerir nákvæmlega ekkert" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -101,9 +101,9 @@ msgstr "Gerir nákvæmlega ekkert" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -112,7 +112,7 @@ msgstr "Gerir nákvæmlega ekkert" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -125,7 +125,7 @@ msgstr "Gerir nákvæmlega ekkert" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -147,13 +147,13 @@ msgstr "Gerir nákvæmlega ekkert" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -162,33 +162,33 @@ msgstr "Gerir nákvæmlega ekkert" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -327,345 +327,345 @@ msgstr "" msgid "Set metadata from %s files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "Endurræsa Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Útlit og viðmót" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Viðmót" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "Hegðun" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Bættu við þínum eigin dálkum" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "Leita" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -943,8 +943,8 @@ msgstr "" msgid "Disable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -954,11 +954,22 @@ msgstr "" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -970,26 +981,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1002,11 +1013,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" @@ -1014,14 +1025,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1029,7 +1040,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1037,45 +1048,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1103,23 +1139,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1242,8 +1278,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "" @@ -1291,10 +1327,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1335,6 +1371,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1653,17 +1690,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1671,12 +1708,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1684,7 +1721,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1696,7 +1733,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1709,10 +1746,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1769,66 +1808,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1836,7 +1875,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1845,11 +1884,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1869,55 +1908,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2042,7 +2081,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2523,7 +2562,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2832,23 +2871,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3136,15 +3175,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4095,7 +4138,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4119,27 +4162,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4175,13 +4218,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4190,9 +4234,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4202,7 +4247,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4214,8 +4259,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4327,60 +4372,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4388,13 +4433,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4404,6 +4467,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4463,12 +4567,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4495,72 +4599,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4569,14 +4673,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4601,12 +4705,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4639,7 +4743,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4764,9 +4868,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4782,11 +4886,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4829,6 +4933,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4983,7 +5091,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5105,12 +5213,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5187,8 +5295,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5309,7 +5417,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5357,7 +5465,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5371,7 +5479,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5383,12 +5491,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5528,7 +5636,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5556,7 +5664,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5597,7 +5705,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5610,96 +5718,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5718,6 +5839,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5790,75 +5912,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5934,12 +6058,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6023,8 +6147,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6060,7 +6184,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6130,15 +6254,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6243,17 +6367,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6262,185 +6397,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6557,7 +6703,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6662,7 +6808,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6674,30 +6820,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6707,11 +6853,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -6975,7 +7121,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7185,7 +7331,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7195,7 +7341,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7229,16 +7375,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7306,7 +7461,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7492,7 +7647,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7832,8 +7987,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8749,59 +8904,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8813,13 +8972,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9057,6 +9232,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9623,7 +9802,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9669,81 +9848,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9905,7 +10084,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10416,13 +10595,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10456,8 +10635,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10476,13 +10655,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10581,7 +10760,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10629,12 +10808,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10729,40 +10908,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11630,6 +11809,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11665,12 +11845,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12244,12 +12424,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12301,6 +12481,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12315,6 +12496,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13191,7 +13373,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13235,7 +13417,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13245,66 +13427,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13317,32 +13503,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13351,30 +13537,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13479,7 +13665,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13977,7 +14163,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14122,15 +14308,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14138,27 +14324,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14166,38 +14352,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14338,7 +14530,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14381,34 +14574,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14457,12 +14650,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15375,10 +15568,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15396,7 +15585,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16364,20 +16553,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16410,18 +16599,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16796,83 +16985,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17148,32 +17487,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17287,46 +17626,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17348,13 +17687,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17447,7 +17786,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "Raða eftir" @@ -17486,138 +17825,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17628,56 +17967,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17719,73 +18058,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17793,134 +18143,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -17999,31 +18394,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18031,11 +18426,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18051,16 +18446,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18083,34 +18478,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18651,29 +19046,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19921,44 +20316,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19967,59 +20362,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20030,28 +20425,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20061,11 +20466,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20075,15 +20480,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20098,7 +20503,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20108,40 +20513,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20152,28 +20557,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20184,13 +20589,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20210,11 +20615,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20225,30 +20630,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20260,17 +20665,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20279,27 +20684,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20309,15 +20714,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20330,40 +20735,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20377,13 +20782,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20391,34 +20796,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20433,18 +20838,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20452,33 +20857,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20501,31 +20906,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20767,20 +21163,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "Allar bækur" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "Nýjast" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "Hleð inn, bíddu aðeins" @@ -20803,7 +21199,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "Meðaleinkunn" @@ -20812,98 +21208,98 @@ msgstr "Meðaleinkunn" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "%d stjörnur" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "Vinsældir" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "safn" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "Upp" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "í" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "Bækur í" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "Önnur snið" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "Sækja" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "Nánar" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20916,21 +21312,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21933,10 +22331,6 @@ msgstr "fh" msgid "pm" msgstr "eh" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22035,6 +22429,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22083,107 +22502,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr " frá " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "Ónefnd grein" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22446,7 +22865,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/it.po b/src/calibre/translations/it.po index d244c8fc59..080de8fc62 100644 --- a/src/calibre/translations/it.po +++ b/src/calibre/translations/it.po @@ -9,16 +9,16 @@ msgid "" msgstr "" "Project-Id-Version: calibre_calibre-it\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" -"PO-Revision-Date: 2013-03-30 16:16+0000\n" -"Last-Translator: Federico Mazzini \n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" +"PO-Revision-Date: 2013-04-17 10:12+0000\n" +"Last-Translator: Laura Cattaneo \n" "Language-Team: Italian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-31 05:17+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:31+0000\n" +"X-Generator: Launchpad (build 16580)\n" "Language: it\n" "X-Poedit-Bookmarks: -1,-1,-1,-1,-1,1105,-1,1312,-1,-1\n" "Generated-By: pygettext.py 1.5\n" @@ -28,16 +28,16 @@ msgid "Does absolutely nothing" msgstr "Non fa assolutamente niente" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -92,8 +92,8 @@ msgstr "Non fa assolutamente niente" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -104,9 +104,9 @@ msgstr "Non fa assolutamente niente" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -115,7 +115,7 @@ msgstr "Non fa assolutamente niente" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -128,7 +128,7 @@ msgstr "Non fa assolutamente niente" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -150,13 +150,13 @@ msgstr "Non fa assolutamente niente" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -165,33 +165,33 @@ msgstr "Non fa assolutamente niente" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -336,76 +336,76 @@ msgstr "Imposta i metadati nei file %s" msgid "Set metadata from %s files" msgstr "Imposta i metadati dai file %s" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "Aggiungi libri a calibre o al dispositivo connesso" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "Scarica le annotazioni da un Kindle connesso (sperimentale)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "Genera un catalogo dei libri nella biblioteca di calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "Converte gli ebook in vari formati" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "Ottimizza i tuoi ebook" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "Cambia l'Indice dei tuoi libri" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" "Elimina i libri dalla biblioteca di calibre o dal dispositivo connesso" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "Modifica i metadati dei libri nella biblioteca di calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "Leggi i libri nella biblioteca di calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "Scarica le notizie da Internet in formato ebook" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Mostra rapidamente un elenco di libri correlati" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "Esporta i libri dalla biblioteca di calibre al disco fisso" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "Mostra i dettagli dei libri in un popup separato" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "Riavvia calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" "Apri la cartella che contiene i file dei libri nella tua biblioteca di " "calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "Invia i libri al dispositivo connesso" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" @@ -413,46 +413,46 @@ msgstr "" "Invia libri per email o web oppure connettiti a iTunes o a cartelle nel tuo " "computer come se fossero dispositivi" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "Sfoglia il manuale utente di calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "Personalizza calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "Cerca facilmente libri simili a quello attualmente selezionato" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" "Passa ad altre librerie di calibre ed effettua azioni di manutenzione su di " "esse" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "Copia i libri dal tuo dispositivo alla libreria di calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" "Modifica le raccolte in cui i libri sono organizzati sul tuo dispositivo" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "Copia un libro da una biblioteca di calibre ad un'altra" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" "Applica piccole ottimizzazioni ai file epub e htmlz nella biblioteca di " "calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" @@ -460,56 +460,56 @@ msgstr "" "Trova la prossima o la precedente occorrenza durante la ricerca nella " "biblioteca di calibre in modalità evidenziata" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "Scegli un libro a caso dalla biblioteca di calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "Cerca libri da diversi venditori" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "Ottieni nuovi plugin di calibre o aggiorna quelli esistenti" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Aspetto" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Interfaccia" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "Modifica l'aspetto dell'interfaccia di calibre secondo i tuoi gusti" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "Comportamento" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "Cambia il comportamento di calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Aggiungi colonne personalizzate" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "Aggiungi/Rimuovi colonne personalizzate dall'elenco dei libri" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Barra degli strumenti" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -517,68 +517,68 @@ msgstr "" "Personalizza la barra degli strumenti e i menu contestuali, cambiando le " "azioni disponibili in ognuno" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "Ricerca in corso" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "Personalizza il funzionamento della modalità di ricerca" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "Opzioni di input" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Conversione" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" "Imposta le opzioni di conversione specifiche per ogni formato di input" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Opzioni comuni" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "Imposta le opzioni di conversione comuni a tutti i formati" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "Opzioni di output" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" "Imposta le opzioni di conversione specifiche per ogni formato di output" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "Aggiunta libri" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "Importa/Esporta" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Controlla come calibre legge i metadati dai file quando vengono aggiunti dei " "libri" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "Salvataggio libri su disco" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -586,50 +586,50 @@ msgstr "" "Controlla come calibre esporta i file dal suo database al disco quando si " "usa Salva su disco" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "Invio libri ai dispositivi" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "Controlla come calibre trasferisce i file al lettore di ebook" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "Controlli dei metadati" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "Cambia i campi dei metadati prima di salvare/inviare" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "Funzioni di modello" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "Avanzate" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "Crea le tue funzioni di modello" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "Condivisione libri via email" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "Condivisione" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -637,11 +637,11 @@ msgstr "" "Imposta la condivisione dei libri via email. Può essere usato per inviare " "automaticamente le notizie scaricate ai dispositivi." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "Condivisione sulla rete" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -649,20 +649,20 @@ msgstr "" "Configura il server di contenuti di calibre che ti darà accesso alla " "biblioteca da ogni luogo, su ogni dispositivo, attraverso Internet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "Scarica i metadati" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "Controlla come calibre scarica i metadati degli ebook dalla rete" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "Dispositivi ignorati" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." @@ -670,38 +670,38 @@ msgstr "" "Controlla quali dispositivi saranno ignorati da calibre se collegati al " "computer." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Plugin" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" "Aggiungi/rimuovi/personalizza vari dettagli delle funzionalità di calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "Ottimizzazioni" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "Regolazione del comportamento di calibre in diversi contesti" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "Tastiera" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "Personalizza le scorciatoie da tastiera utilizzate da calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Varie" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "Configurazione di altre opzioni" @@ -1016,8 +1016,8 @@ msgstr "Abilita il plugin nominato" msgid "Disable the named plugin" msgstr "Disabilita il plugin nominato" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -1028,11 +1028,22 @@ msgid "Path to library too long. Must be less than %d characters." msgstr "" "Percorso alla libreria troppo lungo. Deve essere minore di %d caratteri." -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "preferenza ripristinata " + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "creazione colonna personalizzata " + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -1044,26 +1055,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "%(tt)sLa valutazione media è %(rating)3.1f" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "Principale" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "Scheda A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "Scheda B" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1076,11 +1087,11 @@ msgstr "Scheda B" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Notizie" @@ -1088,14 +1099,14 @@ msgstr "Notizie" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "selezionato" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "sì" @@ -1103,7 +1114,7 @@ msgstr "sì" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "no" @@ -1111,45 +1122,70 @@ msgstr "no" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "non selezionato" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "oggi" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "ieri" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "questomese" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "giornifa" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "vuoto" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "vuota" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "Ricerca booleana non valida \"{0}\"" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1183,7 +1219,7 @@ msgstr "Nessun plugin chiamato %s trovato" msgid "Communicate with Android phones." msgstr "Comunica con i telefoni Android." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" @@ -1191,7 +1227,7 @@ msgstr "" "Elenco separato da virgole di cartelle dove inviare ebook sulla memoria " "principale del dispositivo. Sarà utilizzata la prima esistente" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" @@ -1199,11 +1235,11 @@ msgstr "" "Elenco separato da virgole di cartelle dove inviare ebook sulla scheda di " "memoria del dispositivo. Sarà utilizzata la prima esistente" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "Comunica con i telefoni S60." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "Comunica con tablet WebOS." @@ -1359,8 +1395,8 @@ msgstr "" "Fai clic su 'Mostra dettagli' per un elenco." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "Catalogo" @@ -1415,10 +1451,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1459,6 +1495,7 @@ msgstr "Aggiunta dei libri alla lista metadati del dispositivo..." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1798,17 +1835,17 @@ msgstr "" "di copertina separata, operazione utile se hai modificato la copertina." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "Invia copertine in bianco e nero" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "Mostra i libri scaduti" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1819,12 +1856,12 @@ msgstr "" "permetterà di eliminarli con la nuova logica di eliminazione." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "Mostra anteprime" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1835,7 +1872,7 @@ msgstr "" "di vederle. Abilita l'opzione se desideri vederle/eliminarle." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "Mostra consigli" @@ -1850,7 +1887,7 @@ msgstr "" "desideri vederli/eliminarli." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "Prova a supportare un firmware più recente" @@ -1868,10 +1905,12 @@ msgstr "" "testare software." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "La versione del database di Kobo non è supportata - Vedi i dettagli" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1952,19 +1991,19 @@ msgstr "" "/>Avanzamento capitolo: %(chapter_progress)s%%
In " "evidenza: %(text)s
Note: %(annotation)s

" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "Il Kobo Touch dal firmware V2.0.0 supporta le librerie." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "Specifica una colonna del tipo di tag per la gestione automatica" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "Creare librerie" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." @@ -1972,11 +2011,11 @@ msgstr "" "Crea nuove librerie sul Kobo Touch se non esistono. Disponibile solo per " "firmware V2.0.0 o successivi." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "Elimina librerie vuote" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." @@ -1984,11 +2023,11 @@ msgstr "" "Elimina qualsiasi libreria vuota dal Kobo Touch al termine della " "sincronizzazione. Disponibile solo per firmware V2.0.0 o successivi." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "Carica le copertine dei libri" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." @@ -1996,11 +2035,11 @@ msgstr "" "Carica le immagini delle copertine dalla biblioteca di calibre quando invii " "libri al dispositivo." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "Mantieni le proporzioni della copertina" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." @@ -2009,7 +2048,7 @@ msgstr "" "ridimensionamento per il dispositivo. Destinato alle versioni di firmware " "2.3.1 e successive." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " @@ -2019,11 +2058,11 @@ msgstr "" "altri sono solo riferimenti al sito web dal quale acquistare. Abilitala se " "desideri vederli/eliminarli." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "Imposta informazioni sulla serie" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -2031,7 +2070,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -2045,11 +2084,11 @@ msgstr "" "ripristinare le impostazioni di fabbrica del tuo Kobo e provare il software. " "Questo driver supporta firmware V2.x.x e DBVersion fino a " -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "Titolo da provare in fase di debug" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -2073,55 +2112,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "Comunica con Sweex/Kogan/Q600/Wink" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "Comunica con il Pandigital Novel." -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "Comunica con il VelocityMicro" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "Comunica con il GM2000" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "Comunica con l'Acer Lumiread" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "Comunica con Aluratek Color" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "Comunica con Trekstor" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "Comunica con l'EEE Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "Comunica con il tablet Adam" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "Comunica con il Nextbook Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "Comunica con il lettore Moovybook" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "Comunica con il COBY" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "Comunica con l'Ex124G" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "Comunica con i lettori WayteQ e SPC Dickens" @@ -2249,7 +2288,7 @@ msgstr "Il lettore Nook" msgid "Communicate with the Nook eBook reader." msgstr "Comunica con il lettore Nook." -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "Comunica con i lettori di ebook Nook Color, TSR e Tablet." @@ -2815,7 +2854,7 @@ msgid "There is insufficient free space on the storage card" msgstr "Non c'è spazio sufficiente nella scheda di memoria" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "Trasformato %s" @@ -3231,11 +3270,11 @@ msgstr "" "poiché potrebbe essere causa di diversi effetti collaterali nella fase di " "conversione." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "File CSS usato per l'output invece del file predefinito" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" @@ -3243,7 +3282,7 @@ msgstr "" "Template usato per generare il file html dell'indice invece del file " "predefinito." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" @@ -3251,7 +3290,7 @@ msgstr "" "Template usato per generare il file html con i contenuti del libro invece " "del file predefinito." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3623,20 +3662,23 @@ msgstr "" "questa opzione." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." msgstr "" -"Un modello HTML utilizzato per generare il piè di pagina su ogni pagina. La " -"stringa _PAGENUM_ sarà sostituita dal numero della pagina di corrente." +"Su ogni pagina viene utilizzato un template HTML per generare %s. Le stringe " +"_PAGENUM_, _TITLE_, _AUTHOR_ e _SECTION_ verranno sostituite dai relativi " +"valori attuali." + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" +msgstr "piè di pagina" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." -msgstr "" -"Un modello HTML utilizzato per generare l'intestazione su ogni pagina. La " -"stringa _PAGENUM_ sarà sostituita dal numero della pagina di corrente." +msgid "headers" +msgstr "intestazioni" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 msgid "" @@ -4880,7 +4922,7 @@ msgstr "" msgid "Set book ID" msgstr "Imposta l'ID del libro" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4906,27 +4948,27 @@ msgstr "No" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "Titolo" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "Autori" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "Editore" @@ -4962,13 +5004,14 @@ msgstr "Commenti" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "Tag" @@ -4977,9 +5020,10 @@ msgstr "Tag" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4989,7 +5033,7 @@ msgstr[0] "Serie" msgstr[1] "Serie" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -5001,8 +5045,8 @@ msgstr "Timestamp" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "Pubblicato" @@ -5140,61 +5184,61 @@ msgstr "" "Recupera un'immagine di copertina/metadati sociali per il libro identificato " "con da ISBN da LibraryThing.com\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "Copertina" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "Scaricamento di metadati e copertine da Amazon" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "US" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "Francia" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "Germania" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "GB" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "Italia" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "Giappone" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "Spagna" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "Brasile" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "Sito web di Amazon da usare:" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" "I metadati da Amazon saranno ottenuti dal sito Amazon di questo stato." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "Timeout da Amazon. Prova più tardi." @@ -5202,6 +5246,27 @@ msgstr "Timeout da Amazon. Prova più tardi." msgid "Metadata source" msgstr "Sorgente metadati" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" +"Scarica molteplici copertine da Amazon. Utile per trovare copertine " +"alternative." + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "Numero massimo di copertine da scaricare" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" +"Il numero massimo di copertine da processare dal risultato della ricerca" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " @@ -5210,7 +5275,7 @@ msgstr "" "Scarica i metadati e le copertine da Douban.com. Utile solo per i libri in " "lingua cinese." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -5222,6 +5287,50 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "Scaricamento di metadati e copertine da Google Books" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" +"Scarica copertine dalla Ricerca immagini di Google. Utile per trovare " +"copertine di dimensioni superiori o alternative." + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "Configura il plugin di Ricerca immagini di Google" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "Dimensioni copertina" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" +"Cerca copertine di dimensioni maggiori rispetto alle dimensioni specificate" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "Qualsiasi dimensione" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "Grande" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "Più grande di %s" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "Scarica i metadati da isbndb.com" @@ -5293,12 +5402,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "Questo è un libro Amazon Topaz. Non può essere elaborato." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "Non è un file MOBI, ma un file Topaz." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "Non è un file MOBI." @@ -5331,72 +5440,72 @@ msgid "No details available" msgstr "Nessun dettaglio disponibile" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "Indice" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "Pagina del titolo" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "Indice analitico" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "Glossario" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "Ringraziamenti" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "Bibliografia" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "Colophon" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "Diritti d'autore" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "Dedica" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "Epigrafe" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "Premessa" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "Indice delle figure" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "Indice delle tabelle" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "Note" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "Prefazione" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "Corpo del testo" @@ -5405,7 +5514,7 @@ msgstr "Corpo del testo" msgid "%s format books are not supported" msgstr "I libri nel formato %s non sono supportati" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " @@ -5415,7 +5524,7 @@ msgstr "" "di Amazon. calibre può modificare solo i file MOBI che contengono libri KF8. " "I vecchi file MOBI senza KF8 non sono modificabili." -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -5442,12 +5551,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -5480,12 +5589,8 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" -"

Inserisci una \"copertina\" all'inizio del libro che contiene\n" -"tutti i metadati del libro quali, titolo, parole chiave, autori, serie, " -"commenti\n" -"etc.

" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 msgid "

Remove a previous inserted book jacket page.

\n" @@ -5565,6 +5670,9 @@ msgid "" "Path to a cover image. Changes the cover specified in the ebook. If no cover " "is present, or the cover is not properly identified, inserts a new cover." msgstr "" +"Percorso a un'immagine di copertina. Cambia la copertina specificate " +"nell'ebook. Se non è presente alcuna copertina, o la copertina non viene " +"identificata correttamente, inserisce una nuova copertina." #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:205 msgid "" @@ -5610,9 +5718,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "L'ancora %(a)s non esiste nel file %(f)s" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "(Senza titolo)" @@ -5628,11 +5736,11 @@ msgid "HTML TOC generation options." msgstr "Opzioni per creazione della TOC (indice contenuti) da HTML" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "Valutazione" @@ -5679,6 +5787,10 @@ msgstr "Pagina %d" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "Impossibile trovare pdftohtml, verificare che sia nel proprio PATH" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "Senza titolo" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5851,7 +5963,7 @@ msgid "Show this confirmation again" msgstr "Mostra ancora questa conferma" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "Riavvio richiesto" @@ -5978,12 +6090,12 @@ msgstr "Controlla l'aggiunta di libri" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -6065,8 +6177,8 @@ msgstr "Aggiungi alla biblioteca" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -6192,7 +6304,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "Seleziona la destinazione per %(title)s.%(fmt)s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -6243,7 +6355,7 @@ msgid "No existing calibre library found at %s" msgstr "Non è stata trovata una biblioteca esistente di calibre in %s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "Scegli la biblioteca" @@ -6257,7 +6369,7 @@ msgstr "Cambia/crea biblioteca..." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -6269,12 +6381,12 @@ msgid "Pick a random book" msgstr "Scegli un libro a caso" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "Cambiamento rapido" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "Rinomina biblioteca" @@ -6430,7 +6542,7 @@ msgstr "" "informazioni nel database?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -6461,7 +6573,7 @@ msgstr "I file nella libreria corrispondono alle informazioni nel database." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -6505,7 +6617,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "Crea un catalogo di libri nella biblioteca di calibre" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "Impossibile convertire" @@ -6519,89 +6631,102 @@ msgid "Empty output file, probably the conversion process crashed" msgstr "" "File di output vuoto, probabilmente il processo di conversione non è riuscito" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "%(title)s di %(author)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "Seleziona biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "&Percorso della biblioteca:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "Cerca le biblioteche" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" -msgstr "Eli&mina dopo la copia" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "Copia nella biblioteca." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "Copia i libri selezionati nella biblioteca specificata" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "(elimina dopo la copia)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "Scegli la biblioteca da percorso..." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "Impossibile copiare" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "Impossibile copiare la biblioteca attuale." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "Nessuna biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "Nessuna biblioteca trovata in %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "Copia in" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "Spostamento in" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "Copiati %(num)d libri in %(loc)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "Spostati %(num)d in %(loc)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "Impossibile copiare i libri: " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "Unito automaticamente" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " @@ -6612,7 +6737,7 @@ msgstr "" "Questo comportamento dall'opzione di Unione automatica in Preferenze -> " "Aggiunta libri." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -6633,6 +6758,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "Sei sicuro?" @@ -6711,11 +6837,11 @@ msgid "" msgstr "" "Il formato %(fmt)s sarà eliminato definitivamente da %(title)s." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "Seleziona i formati da eliminare" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." @@ -6723,7 +6849,7 @@ msgstr "" "Scegli i formati chenon devono essere eliminati.

Nota che questo " "non rimuoverà tutti i formati da un libro." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" @@ -6731,44 +6857,44 @@ msgstr "" "Tutti i formati dei libri selezionati saranno eliminati dalla " "biblioteca.
I metadati dei libri saranno mantenuti. Sei sicuro?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "Impossibile eliminare i libri" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "Nessun dispositivo collegato" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "Memoria principale" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "Scheda di memoria A" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "Scheda di memoria B" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "Nessun libro da eliminare" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "Nessuno dei libri selezionati è sul dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "Eliminazione dei libri dal dispositivo." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" @@ -6776,21 +6902,19 @@ msgstr "" "Alcuni dei libri selezionati sono sul dispositivo connesso.Da dove si " "desidera che i file selezionati siano eliminati?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -"I libri selezionati saranno eliminati definitivamente e i file " -"rimossi dalla biblioteca di calibre. Continuare?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" -"I libri selezionati saranno eliminati definitivamente

dal " -"dispositivo. Sei sicuro?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 msgid "Start wireless device connection" @@ -6867,12 +6991,12 @@ msgstr "" "Connettiti a dispositivi speciali, ecc." #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "In arresto" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "Server in arresto. Attendere: potrebbe richiedere qualche minuto." @@ -6959,8 +7083,8 @@ msgstr "Scaricamento metadati non riuscito" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "Scaricamento non riuscito" @@ -7002,7 +7126,7 @@ msgid "Download complete" msgstr "Scaricamento completato" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "Registro scaricamenti" @@ -7096,15 +7220,15 @@ msgstr "" "sarà definitivamente eliminato dalla biblioteca di calibre.

" "Sei sicuro di voler continuare?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "Applica i cambiamenti ai metadati" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "Alcuni errori" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -7212,17 +7336,28 @@ msgstr "Pulisci %d libri" msgid "

About Polishing books

%s" msgstr "

Informazioni sulla pulizia dei libri

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -7231,186 +7366,197 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "Seleziona le azioni da eseguire:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "Ottimizzazione &punteggiatura" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "Aggiorna i &metadati nei file dei libri" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "Aggiorna la copertina nei file dei libri" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "Informazioni" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "Mostra &rapporto" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" "Mostra un rapporto di tutte le azioni eseguite al termine della pulizia" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "&Salva le impostazioni" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "Carica &le impostazioni" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "Selezion&a tutto" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "&Nessuna selezione" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "Nessuna azione selezionata" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "Devi selezionare almeno un'azione prima di salvare" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "Scegli il nome" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "Scegli un nome per queste impostazioni" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "Rimuovi le impostazioni salvate" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "Devi selezionare almeno un'azione, o fai clic su Annulla" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "Libri accodati per la pulizia" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "Pulisci %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "Ignora i %d rapporti rimanenti" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "Visualizza il &log completo" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "Pulizia di %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "Il file originale è stato salvato come %s." msgstr[1] "I file originali sono stati salvati come %s." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr " e " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "Pulizia libri" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "P" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "Impossibile eseguire la pulizia" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "Avvia la pulizia di %d libro(i)" @@ -7530,7 +7676,7 @@ msgid "Click the show details button to see which ones." msgstr "Fai clic sul pulsante Mostra dettagli per vedere quali." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "Mostra i dettagli del libro" @@ -7636,7 +7782,7 @@ msgid "this book" msgstr "questo libro" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "Cerca %s" @@ -7648,17 +7794,17 @@ msgstr "Negozi" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "Scegli negozi" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "Impossibile cercare" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." @@ -7666,7 +7812,7 @@ msgstr "" "Calibre ti aiuta a trovare il libro che desideri cercando nei siti web " "commerciali e pubblici di libri." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " @@ -7676,7 +7822,7 @@ msgstr "" "negozio è il libro che stai cercando, al miglior prezzo. Puoi ottenere anche " "il tipo di DRM e altre informazioni utili." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -7693,11 +7839,11 @@ msgstr "" "particolare se il libro che stai acquistando abbia DRM." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "Mostra questo messaggio nuovamente" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "Come ottenere libri" @@ -7997,7 +8143,7 @@ msgid "The specified directory could not be processed." msgstr "Impossibile elaborare la cartella indicata." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "Nessun libro." @@ -8225,7 +8371,7 @@ msgid "Click to open" msgstr "Fai clic per aprire" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "ID" @@ -8235,7 +8381,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "Libro %(sidx)s di %(series)s" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "Raccolte" @@ -8269,16 +8415,25 @@ msgstr "Percorso" msgid "Cover size: %(width)d x %(height)d" msgstr "Dimensione copertina: %(width)d x %(height)d" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "Elimina il formato %s" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "Salva il formato %s su disco" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "Ripristina il formato %s" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "Opzioni BibTeX" @@ -8346,7 +8501,7 @@ msgstr "output" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -8539,7 +8694,7 @@ msgstr "Vero" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "Nome" @@ -8610,7 +8765,7 @@ msgstr "&Titoli" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:358 msgid "List of series books, sorted by Series" -msgstr "" +msgstr "Lista di serie di libri, ordinata per Serie" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:359 msgid "&Series" @@ -8883,8 +9038,8 @@ msgid "Style the selected text block" msgstr "stile del blocco di testo selezionato" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "Normale" @@ -9866,7 +10021,7 @@ msgstr "Nessuna &immagine" msgid "PDF Output" msgstr "Output PDF" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " @@ -9876,52 +10031,56 @@ msgstr "" "effetto solo se abiliti la casella \"Ignora\" qui sotto. Altrimenti sarà " "utilizzata la dimensione del profilo di output." -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "Ign&ora le dimensioni del foglio impostate nel profilo di output" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "Dimensioni del fo&glio:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "Dimensione &personalizzata:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "&Unità:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "Mantieni le &proporzioni della copertina" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "Aggiungi i numeri di pagina in fondo ad ogni pagina" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "Famiglia &con grazie:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "Famiglia &senza grazie:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "Famiglia &a spaziatura fissa:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "Carattere sta&ndard:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "Dimensione prede&finita dei caratteri:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -9933,14 +10092,35 @@ msgstr "Dimensione prede&finita dei caratteri:" msgid " px" msgstr " px" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "Dimensione carattere a spa&ziatura fissa:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" -msgstr "Aggiungi i numeri di pagina in fondo ad ogni pagina" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "Intestazioni e piè di pagina" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" +"È possibile inserire intestazioni e piè di pagina in ogni pagina del file " +"PDF prodotto utilizzando i template Intestazioni e piè di pagina. Ad " +"esempio, fare riferimento alla documentazione " + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "Template &Intestazione:" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" +msgstr "Template &Piè di pagina" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 msgid "PMLZ Output" @@ -10200,6 +10380,10 @@ msgstr "" "documento corrente. Quando sei soddisfatto dell'espressione, fai clic sul " "pulsante Aggiungi per aggiungerla all'elenco delle espressioni." +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "Converti" @@ -10792,7 +10976,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "Rilevato il %s. Vuoi che calibre lo gestisca?" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "Nessun formato adatto" @@ -10841,67 +11025,67 @@ msgstr "Dispositivo: " msgid " detected." msgstr " individuato." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "Selezione per l'invio" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "Nessun dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "Nessun dispositivo connesso" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "%(num)i di %(total)i libri" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "0 di %i libri" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "Scegli il formato da inviare al dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "Impossibile inviare: nessun dispositivo connesso" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "Nessuna scheda" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "Impossibile inviare: il dispositivo non ha schede di memoria" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" "Convertire automaticamente i libri seguenti prima di inviarli al dispositivo?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "Invio dei cataloghi al dispositivo in corso." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "Invio delle notizie al dispositivo in corso." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "Invio dei libri al dispositivo." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." @@ -10910,18 +11094,18 @@ msgstr "" "trovato un formato adeguato. È necessario convertire prima i libri in un " "formato supportato dal dispositivo." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "Spazio sul dispositivo insufficiente" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" "

Impossibile inviare i libri al dispositivo poiché non c'è spazio " "sufficiente " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "Destinazione non corretta" @@ -11106,7 +11290,7 @@ msgstr "Mostra informazioni sul dispositivo" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -11746,13 +11930,13 @@ msgid "Where do you want to delete from?" msgstr "Da dove vuoi eliminare?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "Biblioteca" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "Dispositivo" @@ -11788,8 +11972,8 @@ msgid "Location" msgstr "Posizione" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -11808,13 +11992,13 @@ msgstr "%(curr)s (era %(initial)s)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "L'elemento è vuoto" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "Un elemento non può essere impostato a niente. Eliminalo piuttosto." @@ -11923,7 +12107,7 @@ msgstr "Collegamento" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "Nessuna corrispondenza trovata" @@ -11971,12 +12155,12 @@ msgid "Copy to author" msgstr "Copia in autore" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "Nome dell'autore non valido" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "I nomi degli autori non possono contenere caratteri &." @@ -12078,40 +12262,40 @@ msgstr "Nascon&di tutti i lavori" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "&Copia negli appunti" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "Mostra i &dettagli" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "Nascondi i &dettagli" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "Mostra informazioni dettagliate su questo errore" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "Copiato" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "Mostra log" @@ -13068,6 +13252,7 @@ msgstr "Interruzione in corso..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -13106,12 +13291,12 @@ msgstr "Elementi" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "Cerca" @@ -13764,12 +13949,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "Il numero di porta deve essere compreso tra 8000 e 32000." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "Problema durante l'avvio del dispositivo wireless" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -13828,6 +14013,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "Consenti &automaticamente connessioni all'avvio di calibre" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "Editori" @@ -13842,6 +14028,7 @@ msgstr "Nome di ricerca della categoria: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "Nome non valido" @@ -14760,7 +14947,7 @@ msgid "&Shortcut:" msgstr "&Scorciatoia:" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "Completato" @@ -14806,7 +14993,7 @@ msgstr "Cerca una scorciatoia per nome" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "Nessuna corrispondenza" @@ -14816,48 +15003,52 @@ msgstr "Nessuna corrispondenza" msgid "Could not find any shortcuts matching %s" msgstr "Impossibile trovare una scorciatoia che corrisponde a %s" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "Espelli questo dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "Configura il dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "Mostra libri nella biblioteca calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "Mostra libri nella memoria principale del dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "Mostra i libri nella scheda di memoria A" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "Mostra i libri nella scheda di memoria B" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "Elimina biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "disponibile" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "Ricerca avanzata" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "Shift+Ctrl+F" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" @@ -14865,19 +15056,19 @@ msgstr "" "

Cerca nella lista dei libri per titolo, autore, editore, tag, commenti, " "etc.

Parole separate da spazi usano l'operatore AND" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "&Vai" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "Esegui ricerca veloce (puoi premere anche il tasto Invio)" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "Ripristina ricerca veloce" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "Copia il testo della ricerca corrente (invece di cercare il nome)" @@ -14890,32 +15081,32 @@ msgstr "stelle" msgid "Y" msgstr "S" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "Sul dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "Dimensione (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "Modificato" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "La parola chiave è «{0}»" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "Lo UUID di questi libri è \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -14926,32 +15117,32 @@ msgstr "" "Non è possibile cambiare la posizione sul disco di questo libro. È aperto da " "qualche altro programma?" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "Impostazione dati non riuscita" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" "Impossibile impostare i dati, fai clic su Mostra dettagli per conoscere la " "causa." -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "Nella biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "Dimensione" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "Marcato per l'eliminazione" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "Doppio clic per modificare

" @@ -15058,7 +15249,7 @@ msgid "Previous Page" msgstr "Pagina precedente" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -15599,7 +15790,7 @@ msgid "Edit Metadata" msgstr "Modifica metadati" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -15752,15 +15943,15 @@ msgstr "&Commenti" msgid "Basic metadata" msgstr "Metadati di base" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "Ha la copertina" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "Ha il sommario" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -15768,29 +15959,29 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "Vedere su" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "calibre sta scaricando i metadati da: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "Attendere" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "Ricerca: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" "Errore nello scaricamento dei metadata. Premi Mostra dettagli per vedere i " "dettagli" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -15802,41 +15993,48 @@ msgstr "" "ed una singola parola distintiva del titolo.

Per vedere l'intero registro, " "premi Mostra dettagli." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "Copertina attuale" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "Ricerca in corso..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "Scaricamento copertine da %s, attendere..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" "Scaricamento delle copertine non riuscito, fai clic su \"Mostra dettagli\" " "per informazioni." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "Impossibile trovare una copertina per %s" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -"Trovate %(num)d copertine di %(title)s. Scegli quella che preferisci." +"Sono state trovate %(num)d possibili copertine di %(title)s. Al " +"termine del download le copertine saranno ordinate per dimensione." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "Scaricamento metadati in corso..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "Scaricamento della copertina..." @@ -15995,9 +16193,9 @@ msgid "The Add &Process" msgstr "Il &processo di aggiunta" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" -"Ignora i file con le seguenti estensioni in caso di aggiunta automatica " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 msgid "" @@ -16049,34 +16247,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "&Aggiunta automatica" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "Massima" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "Minima" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "Molto basso" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "Metadati compatti" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "Predefinito" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "Tutto in una scheda" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "I dialoghi di conferma sono stati ripristinati" @@ -16132,18 +16330,15 @@ msgid "Job &priority:" msgstr "&Priorità dei lavori:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" -msgstr "Restrizione da applicare quando la biblioteca attuale è aperta:" +msgid "Virtual library to apply when the current library is opened:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" -"Applica questa restrizione all'avvio di calibre se la biblioteca attuale è " -"in uso. Applica anche quando si seleziona questa biblioteca. Questa " -"impostazione vale per biblioteca. " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170 msgid "Edit metadata (single) layout:" @@ -17141,10 +17336,6 @@ msgstr "Spento" msgid "Small" msgstr "Piccola" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "Grande" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "Media" @@ -17162,7 +17353,7 @@ msgid "Never" msgstr "Mai" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "In base all'iniziale" @@ -18273,20 +18464,20 @@ msgstr "" "sovrascritta per ogni dispositivo nell'interfaccia dei plugin del " "dispositivo in «Preferenze->Avanzate->Plugin»" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "Avvio del server dei contenuti non riuscito" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "Log degli errori:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "File di log degli accessi:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "È necessario riavviare il server per rendere effettive le modifiche" @@ -18327,23 +18518,19 @@ msgid "Max. &OPDS items per query:" msgstr "Num. massimo di elementi &OPDS per richiesta:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" -msgstr "N&um. massimo di elementi OPDS sparsi:" +msgid "Max. &ungrouped items:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" -msgstr "Restrizione (ricerche salvate) da applicare:" +msgid "Virtual library to apply:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" -"Questa restrizione (basata sulle ricerche salvate) limiterà i libri " -"corrispondenti alla ricerca che il server di contenuti metterà a " -"disposizione. Questa impostazione è per biblioteca (cioè è possibile avere " -"più restrizioni per biblioteca)." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 msgid "" @@ -18815,40 +19002,50 @@ msgstr "Ripristina pre&definiti" msgid "Apply any changes you made to this tweak" msgstr "Applica tutte le modifiche fatte a questa ottimizzazione" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" +msgstr "Crea una ricerca salvata" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 msgid "Delete current search" msgstr "Elimina la ricerca corrente" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 msgid "No search is selected" msgstr "Nessun ricerca selezionata" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" "La ricerca selezionata verrà definitivamente eliminata. Continuare?" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "Cerca (per la ricerca avanzata fai clic sul pulsante a sinistra)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "Avvia la ricerca" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "Abilita o disabilita l'evidenziazione di ricerca." -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "Ricerche salvate" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "Scegli ricerca salvata o inserisci il nome della nuova ricerca" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." @@ -18856,47 +19053,185 @@ msgstr "" "Salva la ricerca corrente con il nome mostrato nel riquadro. Premi e tieni " "premuto per un menu di opzioni a comparsa." -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "Crea una ricerca salvata" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "Elimina una ricerca salvata" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "Gestisci le ricerche salvate" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" -msgstr "*Ricerca corrente" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" -msgstr "Limita a" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "(tutti i libri)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -"La visualizzazione dei libri sarà ristretta a quelli che corrispondono a un " -"ricerca salvata selezionata" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " -msgstr " o la ricerca " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "({0} di {1})" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "({0} di tutti)" @@ -19196,33 +19531,33 @@ msgstr "Scarica..." msgid "Goto in store..." msgstr "Vai al negozio..." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" "Gli acquisti da questo negozio supportano lo sviluppatore di calibre: %s

" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "Nessuna interrogazione" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "Devi digitare un titolo, autore o parola chiave per cercare." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "Personalizza la ricerca dei libri" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "Configura la ricerca" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "Impossibile trovare libri che corrispondano alla ricerca." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "Scegli il formato da scaricare nella tua biblioteca" @@ -19344,51 +19679,51 @@ msgstr "Ricarica" msgid "%p%" msgstr "%p%" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "Il nome del termine di ricerca raggruppato è \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" "La modifica degli autori per tanti libri può richiedere molto tempo. Sei " "sicuro?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" "La modifica dei metadati per tanti libri può richiedere molto tempo. Sei " "sicuro?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "Ricerche" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "Rinomina la categoria utente" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" "Non puoi utilizzare punti nel nome quando rinomini le categorie utente" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "Il nome %s è già utilizzato" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "Duplica parola chiave" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "Il nome della ricerca salvata %s è già in uso." @@ -19410,13 +19745,13 @@ msgid "Manage Tags" msgstr "Gestisci tag" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "Gestisci categorie utente" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "Gestisci ricerche salvate" @@ -19520,7 +19855,7 @@ msgid "Alter Tag Browser" msgstr "Modifica navigatore tag" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "Ordina per" @@ -19563,138 +19898,138 @@ msgstr "" "Tutti i gestori delle categorie sono disponibili facendo clic con il tasto " "destro del mouse nel navigatore dei tag in alto" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "Cambia l'icona per: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "Rinomina %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "Elimina %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "Modifica l'ordinamento per %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "Modifica il collegamento per %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "Aggiungi %s a categoria utente" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "Figlio di %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "Elimina la ricerca %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "Rimuovi %(item)s dalla categoria %(cat)s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "Cerca tutto tranne %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "Aggiungi sottocategoria a %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "Elimina la categoria utente %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "Nascondi categoria %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "Visualizza categoria" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "Cerca libri nella categoria %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "Cerca libri che non sono nella categoria %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "Gestione %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "Cambia l'icona della categoria" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "Ripristina l'icona predefinita" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "Visualizza tutte le categorie" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "Cambia lo schema di sottocategorizzazione" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "Disabilita" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "Partizione" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "La prima lettera è utilizzabile solo in caso di ordinamento per nome" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "Cerca testo..." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "Trova &successivo" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "Trova &precedente" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -19705,56 +20040,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "Destinazione attualmente selezionata:" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "Nessuna corrispondenza trovata" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "Nessuna corrispondenza trovata per: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "successivo" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "precedente" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "File:" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "Parte alta del file" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -19796,73 +20131,84 @@ msgstr "Non è stato digitato alcun XPath" msgid "The XPath expression %s is not valid." msgstr "L'espressione XPath %s non è valida." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "Crea una &nuova voce" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -19870,86 +20216,126 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "&Rimuovi questa voce" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "Nuova voce all'&interno di questa voce" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "Nuov&a voce sopra questa voce" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "Nuov&a voce sotto questa voce" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "To&rna alla finestra di benvenuto" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" -msgstr "Sposta in alto la voce corrente" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "Rimuovi gli oggetti selezionati" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "Rimuovi tutte le voci selezionate" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" -msgstr "Sposta in basso la voce corrente" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "&Espandi tutto" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "&Contrai tutto" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "Doppio clic su una voce per modificare il testo" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "Titolo: {0} Dest: {1}{2}" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" @@ -19958,50 +20344,55 @@ msgstr "" "La posizione alla quale la voce si riferisce non esiste:\n" "%s" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "Nessun elemento trovato" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "Caricamento di %s in corso, attendere..." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "Scrittura di %s in corso, attendere..." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "Impossibile scrivere il libro" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" "Impossibile scrivere %s. Fai clic su \"Mostra dettagli\" per ulteriori " "informazioni." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "Caricamento del libro non riuscito" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -20092,31 +20483,31 @@ msgstr "" "I libri nella lista sono già stati convertiti nel formato %s. Convertirli " "nuovamente?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "&Donazione per sostenere calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "&Ripristina" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "&Espelli dispositivo connesso" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "Esci da calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "Cancella la ricerca corrente" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "Modalità debug" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -20127,11 +20518,11 @@ msgstr "" "di debug sarà disponibile nel file: %s

Il registro sarà visualizzato " "automaticamente." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "L'avvio del server dei contenuti non è riuscito" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -20153,16 +20544,16 @@ msgstr "" "calibre provi a ricostruirlo automaticamente? La ricostruzione potrebbe non " "avvenire completamente." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "Errore di conversione" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "

Conversione non riuscita: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -20206,23 +20597,23 @@ msgstr "" "leggere l'EPUB.\n" " " -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "Conversione non riuscita" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "Ricetta disattivata" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "Non riuscita" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "Ci sono lavori attivi. Vuoi uscire comunque?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" @@ -20233,11 +20624,11 @@ msgstr "" "sul dispositivo.
\n" " Interrompere comunque?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "Lavori attivi" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -20817,29 +21208,29 @@ msgstr "Dimensione del carattere predefinita" msgid "S&earch Google for '%s'" msgstr "Cerca '%s' in Google" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "&Ingrandisci" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "Rimpicci&olisci" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "&Salva come" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "&Ruota" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "Scegli un file da salvare" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "Visualizza immagine: %s" @@ -22242,8 +22633,8 @@ msgstr "" "documentazione relativa alla ricerca nel Manuale Utente. L'opzione " "predefinita è quella di non filtrare." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." @@ -22251,11 +22642,11 @@ msgstr "" "La larghezza massima di una singola linea nell'output. L'impostazione " "predefinita è quella di rilevare la dimensione dello schermo." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "La stringa usata per separare i campi. Predefinita: uno spazio." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." @@ -22263,15 +22654,15 @@ msgstr "" "Il prefisso per tutti i percorsi. L'impostazione predefinita è il percorso " "alla cartella della biblioteca." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "Campi non validi. Campi disponibili:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "Campo per l'ordinamento non valido. Campi disponibili:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" @@ -22279,13 +22670,13 @@ msgstr "" "I seguenti libri non sono stati aggiunti perché già esistenti nel database " "(vedere l'opzione --duplicates):" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "ID libri aggiunti: %s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -22299,7 +22690,7 @@ msgstr "" "specificare cartelle, vedere\n" "la cartella sottostante relativa alle opzioni.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" @@ -22307,11 +22698,11 @@ msgstr "" "Assume che ogni cartella abbia un solo libro logico e che tutti i file " "presenti siano diversi formati per quel libro" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "Elabora cartelle ricorsivamente" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." @@ -22319,43 +22710,43 @@ msgstr "" "Aggiunge libri al database anche se esistono già. Il confronto è basato sui " "titoli." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "Aggiungi un libro vuoto (un libro senza formati)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "Imposta il titolo dei libri aggiunti" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "Imposta gli autori dei libri aggiunti" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "Imposta l'ISBN dei libri aggiunti" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "Imposta i tag dei libri aggiunti" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "Imposta le serie dei libri aggiunti" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "Imposta il numero della serie dei libri aggiunti" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "Percorso della copertina da utilizzare per il libro aggiunto" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "È necessario specificare almeno un file da aggiungere" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -22366,33 +22757,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "È necessario specificare almeno un libro da aggiungere" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" -"%prog add_format [opzioni] id ebook_file\n" -"\n" -"Aggiunge l'ebook in ebook_file ai formati disponibili per il libro logico " -"identificato da id. È possibile ottenere gli id usando il comando list. Se " -"il formato esiste già, verrà sovrascritto.\n" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "È necessario specificare un id e un file ebook" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "I file ebook devono avere un'estensione" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -22409,11 +22805,11 @@ msgstr "" "file come LRF, TXT o EPUB. Se il libro logico non ha un fmt disponibile, non " "fa niente.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "È necessario specificare un id e un formato" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -22429,15 +22825,15 @@ msgstr "" "con id.\n" "id è un numero dalla lista dei comandi.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "Stampa i metadati in formato OPF (XML)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "È necessario specificare un id" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -22452,7 +22848,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -22462,42 +22858,42 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" "Elenca i nomi dei campi di metadati che possono essere utilizzati con " "l'opzione --field" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "Nome del campo" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "Devi specificare l'id di un record come primo argomento" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "Devi specificare un campo o un file opf" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "Nessun libro con id: %s nel database" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "Il file OPF %s non esiste" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "%s non è un campo conosciuto" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -22515,28 +22911,28 @@ msgstr "" "(in un file opf). È possibile prendere i numeri di id dalla lista dei " "comandi.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "Esporta tutti i libri del database, ignorando la lista di id." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "Esporta i libri nella cartella specificata. Predefinita:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "Esporta tutti i libri nella stessa cartella" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "Selezionando questa opzione verrà disattivata questa funzione." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "È necessario specificare qualche id o l'opzione %s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -22554,7 +22950,7 @@ msgstr "" "colonna.\n" "tipo è uno di: {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." @@ -22562,7 +22958,7 @@ msgstr "" "Questa colonna salva i tag come dati (es. valori separati da virgole). " "Applicato solo se il tipo di dato è testo." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -22582,11 +22978,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "Specificare etichetta, nome e tipo di dato" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -22606,7 +23002,7 @@ msgstr "" "catalogo generato.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" @@ -22616,7 +23012,7 @@ msgstr "" "Se dichiarati, --search è ignorata.\n" "Valore predefinito: tutti" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" @@ -22627,16 +23023,16 @@ msgstr "" "nel Manuale utente.\n" "Predefinito: nessun filtraggio" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "Mostra un output dettagliato. Utile per il debug" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "Errore: devi specificare un file di output del catalogo" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -22657,7 +23053,7 @@ msgstr "" "custom_columns.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." @@ -22665,11 +23061,11 @@ msgstr "" "Se la colonna salva più valori, aggiunge i valori specificati a quelli " "esistenti, altrimenti li sostituisce." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "Errore: Specificare nome del campo, id e valore" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -22684,27 +23080,27 @@ msgstr "" "colonna e gli id.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "Mostra i dettagli per ogni colonna" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "Perderai tutti i dati nella colonna: %s. Sei sicuro (s/n)? " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -22721,15 +23117,15 @@ msgstr "" " colonne disponibili utilizzare il comando custom_columns.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "Non chiedere conferma" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "Errore: Specificare un etichetta per la colonna" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -22751,41 +23147,41 @@ msgstr "" "nuova.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "Errore: devi specificare un'azione (add|remove|list)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "Nome:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "Stringa di ricerca:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "Errore: devi specificare un nome e una stringa di ricerca" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "aggiunto" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "Errore: devi specificare un nome" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "rimosso" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" "Errore: azione %s non riconosciuta, deve essere una tra: (add|remove|list)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -22799,7 +23195,7 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." @@ -22807,7 +23203,7 @@ msgstr "" "Di solito, questo comando opera solo su libri che hanno file OPF datati. " "Questa opzione lo applica a tutti i libri." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -22819,12 +23215,12 @@ msgstr "" "Esegue alcuni controlli sul filesystem che rappresenta la biblioteca. I " "rapporti sono {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "Output in CSV" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" @@ -22832,7 +23228,7 @@ msgstr "" "Elenco separato da virgole dei rapporti.\n" "Predefinito: tutti" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" @@ -22840,7 +23236,7 @@ msgstr "" "Elenco separato da virgole delle estensioni che devono essere ignorate.\n" "Predefinito: tutte" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" @@ -22848,11 +23244,11 @@ msgstr "" "Elenco separato da virgole dei nomi da ignorare.\n" "Predefinito: tutti" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "Risultato sconosciuto" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -22867,7 +23263,7 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." @@ -22875,12 +23271,12 @@ msgstr "" "Effettua realmente il ripristino. Il comando non sarà eseguito a meno che " "questa opzione non sia specificata." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "Devi fornire l'opzione %s per effettuare il ripristino" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -22888,13 +23284,13 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." @@ -22902,7 +23298,7 @@ msgstr "" "Il carattere con il quale delimitare il valore della categoria in modalità " "CSV. In modo predefinito, sono utilizzati i doppi apici (\")." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" @@ -22910,17 +23306,17 @@ msgstr "" "Elenco separato da virgole di nomi di ricerca per categorie.\n" "Predefinito: tutti" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" "La stringa usata per separare i campi in modalità CSV. Il separatore " "predefinito è la virgola." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "ELEMENTI CATEGORIA" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -22953,32 +23349,23 @@ msgstr "" "L'etichetta può contenere solo lettere minuscole, numeri e trattini bassi, e " "deve iniziare con una lettera" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "preferenza ripristinata " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "creazione colonna personalizzata " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr " (%s libri)" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" "

Migrazione del vecchio database nella biblioteca in %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "Sto copiando %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "Compattazione database" @@ -23258,20 +23645,20 @@ msgstr "" "da Apache/nginx/ecc." #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "Tutti i libri" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "Più recenti" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "Caricamento in corso, attendere" @@ -23294,7 +23681,7 @@ msgid "Browsing %d books" msgstr "Stai sfogliando %d libri" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "Valutazione media" @@ -23303,98 +23690,98 @@ msgstr "Valutazione media" msgid "%(prefix)s: %(rating).1f stars" msgstr "%(prefix)s: %(rating).1f stelle" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "%d stelle" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "Popolarità" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "biblioteca" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "home" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "Libro casuale" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "Sfoglia i libri per" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "Scegli una categoria da sfogliare:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "Sfoglia per" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "Su" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "in" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "Libri in" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "Altri formati" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "Leggi %(title)s nel formato %(fmt)s" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "Scarica" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "Dettagli" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "Permalink" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "Un collegamento permanente a questo libro" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "Questo libro è stato eliminato" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "Scegli un altro libro casuale" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "Un altro libro casuale" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "nella ricerca" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "Libri corrispondenti" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -23418,26 +23805,25 @@ msgstr "" "\n" "L'interfaccia OPDS è pubblicata automaticamente tramite BonJour.\n" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" "Percorso per la cartella da cui la biblioteca è disponibile per il server di " "contenuti" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "Scrivi il PID di processo nel file specificato" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -"Specifica una restrizione da usare per questa chiamata. Questa opzione " -"sovrascrive ogni impostazione per biblioteca specificata nell'interfaccia " -"grafica" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -24501,10 +24887,6 @@ msgstr "am" msgid "pm" msgstr "pm" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -24605,6 +24987,31 @@ msgstr "Codice in esecuzione" msgid "Restart console" msgstr "Riavvia console" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "L'URL deve avere lo schema sftp" @@ -24653,101 +25060,101 @@ msgstr "Scaricamento di %s non riuscito" msgid "The \"%s\" recipe needs a username and password." msgstr "La ricetta \"%s\" richiede un nome utente e password." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "Scaricamento completato" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "Scaricamento non riuscito dei seguenti articoli:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "Scaricamento dei seguenti articoli non riuscito parzialmente:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr " da " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "\tCollegamenti non validi:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "Impossibile scaricare l'articolo." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "La traccia di debug è disponibile nella parte iniziale di questo log" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "Esegui con -vv per vedere il motivo" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "Scaricamento fonti..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "Ricevute fonti dalla pagina principale" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "Tentativo di scaricamento della copertina..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "Preparazione dell'immagine principale in corso" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "Inizio scaricamento [%d articoli]..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "Fonti scaricate in %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "Impossibile scaricare la copertina: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "Scaricamento copertina da %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "Immagine principale scaricata" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "Articoli in questo numero: " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "Articolo senza titolo" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "Articolo scaricato: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "Scaricamento non riuscito dell'articolo: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "Scaricamento fonte" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 msgid "" "Failed to log in, check your username and password for the calibre " "Periodicals service." @@ -24755,7 +25162,7 @@ msgstr "" "Impossibile accedere, controllare il nome utente e la password per il " "servizio Periodici di calibre." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -25037,7 +25444,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" @@ -25706,10 +26113,14 @@ msgid "" "comments are rendered in the metadata edit dialog. Set it to a positive or\n" "negative number to increase or decrease the font size." msgstr "" +"Cambia la dimensione del font con cui i dettagli dei libri sono mostrati nel " +"pannello laterale e i commenti sono mostrati nel dialogo di modifica dei " +"metadati. Imposta il campo ad un valore positivo o negativo per aumentare o " +"diminuire la dimensione del font." #: /home/kovid/work/calibre/resources/default_tweaks.py:487 msgid "Compile General Program Mode templates to Python" -msgstr "" +msgstr "Compila i modelli General Program Mode in Python" #: /home/kovid/work/calibre/resources/default_tweaks.py:488 msgid "" @@ -25722,6 +26133,15 @@ msgid "" "Default: compile_gpm_templates = True\n" "No compile: compile_gpm_templates = False" msgstr "" +"I modelli compilati in modalità programma generale sono significativamente " +"più veloci che i modelli interpretati. Impostare questa ottimizzazione a " +"Vero produce (nella maggior parte dei casi) una versione compilata da " +"Calibre dei modelli di modalità programma generale. Impostarla a Falso fa " +"usare a Calibre il vecchio comportamento - interpretare i modelli. Imposta " +"questa ottimizzazione a Falso qualora alcuni modelli compilati dovessero " +"produrre valori errati.\n" +"Predefinito: compile_gpm_templates = Vero\n" +"Non compilare: compile_gpm_templates = Falso" #: /home/kovid/work/calibre/resources/default_tweaks.py:497 msgid "What format to default to when using the Tweak feature" @@ -25785,7 +26205,7 @@ msgstr "" #: /home/kovid/work/calibre/resources/default_tweaks.py:519 msgid "Recognize numbers inside text when sorting" -msgstr "" +msgstr "Riconosci i numeri nel testo durante l'ordinamento" #: /home/kovid/work/calibre/resources/default_tweaks.py:520 msgid "" @@ -25797,7 +26217,7 @@ msgstr "" #: /home/kovid/work/calibre/resources/default_tweaks.py:526 msgid "Sort the list of libraries alphabetically" -msgstr "" +msgstr "Mette in ordine alfabetico l'elenco delle biblioteche" #: /home/kovid/work/calibre/resources/default_tweaks.py:527 msgid "" @@ -25806,3 +26226,8 @@ msgid "" "number of such libraries, the sorting becomes alphabetic. You can set that\n" "number here. The default is ten libraries." msgstr "" +"L'elenco delle biblioteche nei Menu \"Copia nella Biblioteca\" e \"Cambio " +"Veloce\" sono normalmente ordinate dalla maggior parte degli utenti. " +"Tuttavia, ove ci fossero biblioteche in numero eccedente, l'ordinamento " +"diviene alfabetico. Puoi definire tale numero qui. Il valore predefinito è " +"dieci biblioteche." diff --git a/src/calibre/translations/ja.po b/src/calibre/translations/ja.po index f0e0bec60b..9bb67fd3cd 100644 --- a/src/calibre/translations/ja.po +++ b/src/calibre/translations/ja.po @@ -7,32 +7,32 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" -"PO-Revision-Date: 2013-01-16 10:46+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" +"PO-Revision-Date: 2013-04-11 10:07+0000\n" "Last-Translator: Shushi Kurose \n" "Language-Team: Japanese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:15+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:31+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "まったく何もしません" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "まったく何もしません" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "まったく何もしません" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "まったく何もしません" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "まったく何もしません" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "まったく何もしません" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "まったく何もしません" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -329,346 +329,346 @@ msgstr "%sファイルに書誌情報を設定する" msgid "Set metadata from %s files" msgstr "%sファイルから書誌情報を設定する" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "本をCalibreか接続したデバイスに追加" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "接続されているKindleから注釈を取得(実験的)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "Calibreライブラリになる本のカタログを生成" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "本を色々な電子書籍フォーマットに変換" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "本をcalibreライブラリか接続されたデバイスから削除" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "Calibreライブラリの本の書誌情報を編集する" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "Calibreライブラリの本を読む" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "インターネットからニュースを電子書籍の形でダウンロードする" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "関連する本のリストをすばやく表示" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "Calibreライブラリからハードディスクへ本をエクスポート" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "本の詳細を別ウィンドウで表示" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "Calibreを再起動" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "Calibreライブラリの本ファイルがあるフォルダーを開く" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "接続されたデバイスに本を送る" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "本をメールやWebで送ります。またはiTuneやコンピューター上のフォルダーへ、まるでそれらがデバイスであるかのように接続して送ります。" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "calibreユーザーマニュアルを見る" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "Calibreを設定" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "現在選択されている物に似ている本を簡単に探す" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "別のCalibreのライブラリに切り替えてメンテナンスを実行します" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "本をデバイスからCalibreのライブラリへコピーする" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "デバイス上にある本のコレクションを編集する" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "一つのCalibreライブラリから他へ本をコピーする" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "あなたのCalibreライブラリにあるepubまたはhtmlzファイルに小さな設定変更を行う" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "Calibreライブラリをハイライトモードで検索時に、次や前のマッチを見つける" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "calibreのライブラリからランダムに本を選択" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "数々の電子書籍販売サイトから本を検索する" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "新しいCalibreのプラグインを取得したり、既存のものをアップデートする" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "外観" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "インターフェース" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "Calibreの外観をあなたの好みに調整します" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "挙動" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "calibreの挙動を変更する" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "表示列の追加" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "calibre本リストに表示列を追加/削除する" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "ツールバー" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "ツールバーや、各々実行できるメニューが表示されるコンテキストメニューをカスタマイズする。" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "検索" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "calibreでの本の検索方法をカスタマイズする" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "入力オプション" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "変換設定" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "各入力フォーマット特有の変換オプションを設定する" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "共通オプション" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "すべてのフォーマットに共通の変換オプションを設定する" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "出力オプション" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "各出力フォーマット特有の変換オプションを設定する" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "本の追加" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "インポート/エクスポート" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "本を追加する際にcalibreが書誌情報をファイルからどのように読み込むか設定します" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "ディスクに保存" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "ディスクへ保存を使って、データベースからディスクへcalibreがファイルをエキスポートする際の挙動を制御します" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "デバイスに転送" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "calibreがファイルを電子書籍リーダーへ送信する挙動を制御します" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "書誌情報変換ルール" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "保存/送信前に書誌情報を変更します。" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "テンプレート関数" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "高度な設定" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "独自のテンプレート関数を作成する。" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "メールで共有" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "共有" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "メールでのブック共有設定。デバイスにダウンロードしたニュース等を自動的に送ることができます。" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "ネットで共有" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" "calibreコンテンツサーバーを設定し、インターネット経由でcalibreライブラリにどこからでも、どのデバイスからでもアクセスできるようにします。" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "書誌情報のダウンロード" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "calibreが電子書籍の書誌情報を、ネットからダウンロードする方法を制御します。" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "無視するデバイス" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "デバイスがコンピューターに接続されたときに、どのデバイスを無視するのかを設定します。" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "プラグイン" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "calibreの機能各種について、追加/削除/カスタマイズする" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "Tweaks" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "様々なコンテキストでのcalibreの挙動を微調整" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "キーボード" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "calibreで使われるキーボードショートカットをカスタマイズ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "その他" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "その他の高度な設定" @@ -953,8 +953,8 @@ msgstr "名付けたプラグインを有効にする" msgid "Disable the named plugin" msgstr "名付けたプラグインを無効にする" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -964,11 +964,22 @@ msgstr "名付けたプラグインを無効にする" msgid "Path to library too long. Must be less than %d characters." msgstr "ライブラリへのパスが長すぎます。%d文字以下でなければなりません。" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "カスタム列を作成 " + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -980,26 +991,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "%(tt)s 平均評価は %(rating)3.1f" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "主メモリー" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "カードA" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "カードB" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1012,11 +1023,11 @@ msgstr "カードB" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "ニュース" @@ -1024,14 +1035,14 @@ msgstr "ニュース" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "チェック" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "はい" @@ -1039,7 +1050,7 @@ msgstr "はい" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "いいえ" @@ -1047,45 +1058,70 @@ msgstr "いいえ" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "チェックなし" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "今日" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "昨日" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "今月" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "日前" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "空" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "空白" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "無効なブーリアンクエリ \"{0}\"" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1114,23 +1150,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "Androidフォンと通信します。" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "デバイスメインメモリー上のe-bookの送り先ディレクトリ、のカンマ区切りのリスト。最初に見つかったものが使われます。" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "デバイスストレージ・カード上のe-bookの送り先ディレクトリ、のカンマ区切りのリスト。最初に見つかったものが使われます。" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "電話機 S60 と通信します。" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "WebOSタブレットと通信します。" @@ -1278,8 +1314,8 @@ msgstr "" "「詳細を表示」をクリックするとリストを表示します。" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "カタログ" @@ -1329,10 +1365,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1373,6 +1409,7 @@ msgstr "本をデバイスの書誌情報リストへ追加しています..." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1699,17 +1736,17 @@ msgstr "" "変更した場合に便利です。" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "白黒の表紙をアップロード" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "期限切れの本を表示" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1719,12 +1756,12 @@ msgstr "" "削除ロジックであなたが削除できるようにします。" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "プレビューを表示" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1735,7 +1772,7 @@ msgstr "" "にしてください。" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "おすすめを表示" @@ -1749,7 +1786,7 @@ msgstr "" "/削除するには有効にしてください。" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "新しいファームウエアのサポートを有効にする" @@ -1762,10 +1799,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "このKoboデーターベースのヴァージョンはサポートしていません。(詳細を参照)" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1835,55 +1874,55 @@ msgstr "" "/>章の進行度: %(chapter_progress)s%%
ハイライト: %(text)s
注釈: %(annotation)s

" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "ブックシェルフはKobo TouchのファームウエアV.2.0.0からサポートされます。" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "自動編集のためのタグタイプの列を指定してください" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "ブックシェルフを作成" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "Kobo Touch上で新しいブックシェルフを作成。(もし存在しなかった場合。)ファームウエアV.2.0.0以降が必要です。" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "空のブックシェルフを削除" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "Kobo Touch上の空のブックシェルフを、同期が終わった時に全て削除します。この機能にはファームウエアV2.0.0以降が必要です。" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "書籍の表紙をアップロード" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " @@ -1892,11 +1931,11 @@ msgstr "" "Koboはデバイス上でおすすめを表示します。それは場合によってはファイルがあることもありますが、時には単に販売ウエブサイトへのリンクで出しかない場合もあり" "ます。それらを表示する/削除したい場合にこれを有効にしてください。" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "シリーズ情報を設定" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1906,7 +1945,7 @@ msgstr "" "Koboデバイスの書籍リストはシリーズ情報も表示することができます。しかしアップロードされた書籍はこの情報が読まれません。シリーズ情報はアップロード後、デ" "バイスで開かなければ表示されません。シリーズ情報をセットしたい場合には、これを有効にしてください。" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1915,11 +1954,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "ディバグ用書誌" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1939,55 +1978,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "Sweex/Kogan/Q600/Winkと通信します。" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "Pandigital Novelと通信します。" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "VelocityMicroと通信します。" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "GM2000と通信します。" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "Acer Lumireadと通信します。" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "Aluratek Colorと通信します。" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "Trekstorと通信します。" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "EEE Readerと通信します。" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "Adamタブレットと通信します。" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "Nextbook Readerと通信します。" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "Moovybookリーダーと通信します。" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "COBYと通信します。" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "Ex124Gと通信します。" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2114,7 +2153,7 @@ msgstr "Nook" msgid "Communicate with the Nook eBook reader." msgstr "Nook 電子書籍リーダ─と通信します。" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "Nook Color, TSR, タブレット電子書籍リーダー と通信します。" @@ -2619,7 +2658,7 @@ msgid "There is insufficient free space on the storage card" msgstr "記録媒体のカードに十分な空きスペースがありません" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "%sを描画" @@ -2977,23 +3016,23 @@ msgstr "" "通常この入力プラグインはすべての入力ファイルを通常のフォルダー階層に再アレンジします。このオプションは、後の変換パイプラインに種々のひどい副作用を起こす可" "能性があるので、何が起こるのかを理解している場合にのみ使用してください。" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "出力に使う、デフォルトと異なるCSSファイルです" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "デフォルトと異なるhtmlのindexファイルを生成するときのテンプレート" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "デフォルトと異なるhtmlの本の内容を生成する時に使うテンプレート" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3304,15 +3343,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4363,7 +4406,7 @@ msgstr "" msgid "Set book ID" msgstr "本IDを設定" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4388,27 +4431,27 @@ msgstr "いいえ" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "タイトル" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "著者" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "発行者" @@ -4444,13 +4487,14 @@ msgstr "コメント" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "タグ" @@ -4459,9 +4503,10 @@ msgstr "タグ" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4470,7 +4515,7 @@ msgid_plural "Series" msgstr[0] "シリーズ" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4482,8 +4527,8 @@ msgstr "更新日時" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "発行日" @@ -4609,60 +4654,60 @@ msgstr "" "\n" "表紙イメージとソーシャルな書誌情報を、ISBNに基づいてLibraryThing.comから取得します。\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "表紙" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "Amazonから書誌情報と表紙をダウンロード" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "US" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "フランス" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "ドイツ" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "英国" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "イタリア" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "日本" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "スペイン" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "ブラジル" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "使用するAmazonウエブサイト" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "Amazonからの書誌情報はこの国のAmazonウエブサイトから取得されます。" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "Amazonがタイムアウトしました。後でまた試してみてください。" @@ -4670,13 +4715,31 @@ msgstr "Amazonがタイムアウトしました。後でまた試してみてく msgid "Metadata source" msgstr "書誌情報のソース" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "書誌情報と表紙をDouban.comからダウンロード。中国語の本のみ。" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4686,6 +4749,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "Google Booksから書誌情報と表紙をダウンロード" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "大きい" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "isbndb.comから書誌情報をダウンロード" @@ -4750,12 +4854,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "これはAmazon Topaz ブックです。処理できません。" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "MOBIファイルではありません。Topazファイルです。" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "MOBIファイルではありません。" @@ -4786,72 +4890,72 @@ msgid "No details available" msgstr "詳細不明" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "目次" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "タイトルページ" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "索引" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "用語解説" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "謝辞" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "書誌情報" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "出版社のマーク" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "著作権" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "献辞" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "題辞" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "前書き" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "図一覧" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "表一覧" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "注釈" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "はじめに" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "本文" @@ -4860,14 +4964,14 @@ msgstr "本文" msgid "%s format books are not supported" msgstr "%s フォーマットはサポートしていません" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4892,12 +4996,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4930,7 +5034,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -5055,9 +5159,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -5073,11 +5177,11 @@ msgid "HTML TOC generation options." msgstr "HTML 目次生成オプション" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "評価" @@ -5120,6 +5224,10 @@ msgstr "%d ページ" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "pdftohtmlが見つかりません。PATHをチェックしてください。" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5274,7 +5382,7 @@ msgid "Show this confirmation again" msgstr "この確認をまた出す。" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "再起動が必要です。" @@ -5396,12 +5504,12 @@ msgstr "書籍の追加をコントロール" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5478,8 +5586,8 @@ msgstr "ライブラリに追加" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5600,7 +5708,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "保存先を選択: %(title)s.%(fmt)s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5650,7 +5758,7 @@ msgid "No existing calibre library found at %s" msgstr "calibreのライブラリが%sにありません" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "ライブラリを選択" @@ -5664,7 +5772,7 @@ msgstr "ライブラリの切り替え/作成..." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5676,12 +5784,12 @@ msgid "Pick a random book" msgstr "ランダムに本を選択" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "クイック・スイッチ" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "ライブラリの名前の変更" @@ -5826,7 +5934,7 @@ msgstr "" "calibreライブラリのデータベースにエラーは見つかりませんでした。データベースの情報とライブラリ内のファイルの整合性をチェックしますか?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5854,7 +5962,7 @@ msgstr "ライブラリ内のファイルとデータベースの情報がマッ #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5895,7 +6003,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "calibreライブラリの本からカタログを作成" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "変換できません" @@ -5908,96 +6016,109 @@ msgstr "%d個の本の変換を開始します。" msgid "Empty output file, probably the conversion process crashed" msgstr "空の出力ファイルです。変換プログラムがクラッシュしたものと思われます。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "ライブラリの選択" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "ライブラリのパス(&P):" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "ライブラリを参照" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" -msgstr "コピー後に削除する(&D)" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "ライブラリにコピー" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "選択した本を指定したライブラリにコピーする" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "(コピー後削除)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "コピーできません" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "現在のライブラリをコピーできません。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "ライブラリなし" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "%s にライブラリが見つかりませんでした。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "%(num)d 本を %(loc)s へコピーしました" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "本をコピーできません: " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "自動結合" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -6016,6 +6137,7 @@ msgstr "環境変数CALIBRE_OVERRIDE_DATABASE_PATHを使用中に他のライブ #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "よろしいですか?" @@ -6090,77 +6212,79 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "削除したいフォーマットを選択" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "残したいフォーマットを選択してください。

注: 本からすべてのフォーマットを削除するわけではありません。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" "選択した本のすべてのフォーマットはライブラリから削除されます。
本の書誌情報は残ります。よろしいですか?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "本を削除できません" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "デバイスが接続されていません" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "主メモリー" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "メモリーカードA" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "メモリーカードB" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "削除する本がありません" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "選択した本はデバイスには入っていません" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "デバイスから本を削除" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "選択したいくつかの本が接続したデバイスにもあります。どこの本を削除しますか?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" -msgstr "選択された本は完全に削除され、calibreのライブラリからも削除されます。よろしいですか?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" -msgstr "選択された本はデバイスから完全に削除されます。よろしいですか?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 msgid "Start wireless device connection" @@ -6235,12 +6359,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "停止" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "サーバーを停止します。これには1分ほどかかります、お待ちください..." @@ -6324,8 +6448,8 @@ msgstr "書誌情報のダウンロードに失敗しました。" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "ダウンロード失敗" @@ -6361,7 +6485,7 @@ msgid "Download complete" msgstr "ダウンロード完了" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "ダウンロード・ログ" @@ -6444,15 +6568,15 @@ msgstr "" "
最初の選択された本のすべてのフォーマットはそのままで、2つ目以降の本のフォーマットで前と同じものはcalibreライブラリから削除されます<" "/b>。

本当に実行しますか?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "書誌情報の変更を適用" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "失敗しました" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6557,17 +6681,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6576,185 +6711,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "記号文字を変換する(&P)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "すべて選択(&A)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "選択なし(&N)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6873,7 +7019,7 @@ msgid "Click the show details button to see which ones." msgstr "「詳細を表示」ボタンをクリックして、どれか確認してください。" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "本の詳細を表示" @@ -6978,7 +7124,7 @@ msgid "this book" msgstr "この書籍" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "%sを検索" @@ -6990,23 +7136,23 @@ msgstr "ストア" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "ストアを選択" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "検索できません" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "Calibreは、様々な商用やパブリックドメインの本のあるWebサイトを検索し、欲しい電子書籍を見つける手伝いをします。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " @@ -7014,7 +7160,7 @@ msgid "" msgstr "" "統合検索を使うことで、どのストアに探している本があり、どこが一番安いかが簡単に分かります。また、DRMステータスやその他の便利な情報を得ることもできます。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -7027,11 +7173,11 @@ msgstr "" "イトへ問い合わせてください。特に、あなたの電子書籍リーダーで入手する本が使えるかどうか良く確認してください。(特に本にDRMがかかっている場合など)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "メッセージを再び表示する" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "本を入手について" @@ -7300,7 +7446,7 @@ msgid "The specified directory could not be processed." msgstr "指定したディレクトリは処理できません。" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "本なし" @@ -7515,7 +7661,7 @@ msgid "Click to open" msgstr "クリックして開く" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "Ids" @@ -7525,7 +7671,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "%(series)sの %(sidx)s 巻" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "コレクション" @@ -7559,16 +7705,25 @@ msgstr "パス名" msgid "Cover size: %(width)d x %(height)d" msgstr "表紙サイズ: %(width)d x %(height)d" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "%sフォーマットを削除する" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "%sフォーマットでディスクに保存する" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "BibTeX オプション" @@ -7636,7 +7791,7 @@ msgstr "出力" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7828,7 +7983,7 @@ msgstr "True" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "名前" @@ -8168,8 +8323,8 @@ msgid "Style the selected text block" msgstr "選択されたテキストのスタイル" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "普通" @@ -9108,59 +9263,63 @@ msgstr "画像なし(&I)" msgid "PDF Output" msgstr "PDF出力" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "用紙サイズ(&P):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "カスタムサイズ(&C):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "単位(&U):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "表紙のアスペクト比を保つ(&A)" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "セリフファミリー(&R)" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "サンセリフファミリー(&S):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "等幅フォントファミリー(&M):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "標準フォント(&T):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "デフォルトのフォントサイズ(&Z)" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -9172,13 +9331,29 @@ msgstr "デフォルトのフォントサイズ(&Z)" msgid " px" msgstr " ピクセル" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "等幅フォントのフォントサイズ(&F):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9418,6 +9593,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "変換" @@ -9993,7 +10172,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "%sが見つかりました。calibreで管理しますか?" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "適当なフォーマットがありません" @@ -10039,82 +10218,82 @@ msgstr "デバイス: " msgid " detected." msgstr " 見つかりました。" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "送るものを選択してください" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "デバイスなし" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "デバイスが接続されていません" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "%(num)i / %(total)i 本" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "0 / %i 本" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "フォーマットを指定して送信" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "送信できません: デバイスが接続されていません" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "カードなし" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "送信できません: デバイスにストレージカードがありません" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "デバイスにアップロードする前に以下の本を自動的に変換しますか?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "デバイスにカタログを送信" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "デバイスにニュースを送信" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "デバイスに本を送信" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" "対応するフォーマットが見つからないので、本をデバイスにアップロードできません。まず、デバイスがサポートするフォーマットに変換してください。" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "デバイスの容量が足りません。" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "

空きスペースが無いので、デバイスに本をアップロードできません。 " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -10281,7 +10460,7 @@ msgstr "デバイス情報を表示" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10843,13 +11022,13 @@ msgid "Where do you want to delete from?" msgstr "どこから削除しますか?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "ライブラリ" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "デバイス" @@ -10883,8 +11062,8 @@ msgid "Location" msgstr "位置" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10903,13 +11082,13 @@ msgstr "%(curr)s (前は %(initial)s)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "アイテムが空白です" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "アイテムは空白に設定できません。削除してください。" @@ -11012,7 +11191,7 @@ msgstr "リンク" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "一致しませんでした" @@ -11060,12 +11239,12 @@ msgid "Copy to author" msgstr "著者名へコピー" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "無効な著者名" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "著者名には「&」文字は入れられません。" @@ -11164,40 +11343,40 @@ msgstr "全てのジョブを隠す(&H)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "クリップボードにコピー(&C)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "詳細を表示(&D)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "詳細を非表示(&D)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "このエラーの詳細な情報を表示" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "コピー済" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "ログ表示" @@ -12099,6 +12278,7 @@ msgstr "停止中..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -12134,12 +12314,12 @@ msgstr "項目" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "検索" @@ -12736,12 +12916,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12798,6 +12978,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "発行者" @@ -12812,6 +12993,7 @@ msgstr "カテゴリー検索名: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "無効な名前" @@ -13704,7 +13886,7 @@ msgid "&Shortcut:" msgstr "ショートカット(&S)" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "完了" @@ -13748,7 +13930,7 @@ msgstr "名前でショートカットを探す" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "該当なし" @@ -13758,66 +13940,70 @@ msgstr "該当なし" msgid "Could not find any shortcuts matching %s" msgstr "%s にマッチするショートカットを見つけられませんでした。" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "このデバイスの取り出し" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "このデバイスを設定" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "caibreライブラリで本を表示" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "デバイスのメインメモリにある本を表示" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "メモリーカードAの本を表示" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "メモリーカードBの本を表示" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "ライブラリの削除" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "利用可能" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "高度な検索" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "Shift+Ctrl+F" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "

本リストをタイトル、著者、出版社などで検索します。

空白で区切られた言葉はAND検索します。" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "&Go!" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "クイック検索を行う(Enterキーでもできます)" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "クイック検索をリセット" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "現在の検索文字列をコピー(検索名の替わりに)" @@ -13830,32 +14016,32 @@ msgstr "stars" msgid "Y" msgstr "Y" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "デバイス上" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "サイズ (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "修正日" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "検索名は \"{0}\" です" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "この本のUUIDは \"{0}\" です" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13864,30 +14050,30 @@ msgid "" "program?" msgstr "この書籍のディスク上の場所を変えられませんでした。他のプログラムで開かれていないか確認してください。" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "データ設定に失敗" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "データ設定できませんでした。「詳細を表示」をクリックすると理由を見れます。" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "ライブラリ中" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "サイズ" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "削除する、としてマーク" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "ダブルクリックで編集

" @@ -13992,7 +14178,7 @@ msgid "Previous Page" msgstr "前のページ" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -14499,7 +14685,7 @@ msgid "Edit Metadata" msgstr "書誌情報を編集" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14648,15 +14834,15 @@ msgstr "コメント(&C)" msgid "Basic metadata" msgstr "基本書誌情報" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "表紙あり" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "サマリーあり" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14667,27 +14853,27 @@ msgstr "" "時々、表紙なしとなった物でもダウンロードすると\n" "表紙が見つかったり、あるいはその逆が起こることがあります。" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "参照:" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "calibreの書誌情報ダウンロード先: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "お待ちください" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "クエリ: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "書誌情報のダウンロードに失敗しました。詳しくは「詳細を表示」をクリックしてください。" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14697,38 +14883,44 @@ msgstr "" "検索にマッチする本がありませんでした。検索条件を減らして " "みてください。例えば、著者の姓だけにしたり、タイトルの一部だけを指定してください。ログ全体を参照するには、「詳細を表示」をクリックしてください。" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "現在の表紙" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "検索中..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "%sから表紙をダウンロード中。お待ちください..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "表紙がダウンロードできませんでした。詳しくは「詳細を表示」をクリックしてください。" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "%sの表紙が見つかりませんでした。" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." -msgstr "%(num)d 個の %(title)s の表紙を発見。一番良い物を選んでください。" +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "書誌情報をダウンロード中..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "表紙をダウンロード中..." @@ -14885,7 +15077,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14928,34 +15121,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "高" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "低" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "最低" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "コンパクトな書誌情報" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "デフォルト" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "すべて1タブ" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "確認ダイアログはすべてリセットされました" @@ -15006,17 +15199,15 @@ msgid "Job &priority:" msgstr "ジョブの優先度(&P):" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" -msgstr "ライブラリを開く際の制限:" +msgid "Virtual library to apply when the current library is opened:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" -"現在のライブラリが使用されている場合は、Calibreの起動時にこの制限を適用します。また、このライブラリへの切り替え時にも適用されます。この設定はライブ" -"ラリごとに設定できます。 " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170 msgid "Edit metadata (single) layout:" @@ -15972,10 +16163,6 @@ msgstr "Off" msgid "Small" msgstr "小さい" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "大きい" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "中" @@ -15993,7 +16180,7 @@ msgid "Never" msgstr "停止" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "最初の一文字" @@ -17013,20 +17200,20 @@ msgstr "" "ここではデバイスへ送るボタンが押されたときに、calibreがどのように本を保存するか設定します。この設定は、「設定」->「高度な設定」-" ">「プラグイン」のデバイスインターフェースプラグインをカスタマイズする事で、各デバイスごとに設定を無視することができます。" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "コンテンツサーバーの開始に失敗しました" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "エラーログ:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "アクセスログ:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "変更を有効にするには、サーバーを再起動する必要があります。" @@ -17059,21 +17246,19 @@ msgid "Max. &OPDS items per query:" msgstr "クエリごとの最大OPDSアイテム数(&O):" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" -msgstr "グループ化されていない最大OPDSアイテム数(&U):" +msgid "Max. &ungrouped items:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" -msgstr "制限する対象(保存された検索):" +msgid "Virtual library to apply:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" -"この(保存された検索による)制限は、コンテンツサーバーで利用できる本を検索結果にマッチした物のみに制限します。この設定はライブラリごとに設定されます。(つ" -"まり、ライブラリごと異なる制限をかけられます)" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 msgid "" @@ -17498,83 +17683,233 @@ msgstr "デフォルトに戻す(&D)" msgid "Apply any changes you made to this tweak" msgstr "このTweakへの変更を適用する" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" +msgstr "保存された検索を作成" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 msgid "Delete current search" msgstr "現在の検索を削除" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 msgid "No search is selected" msgstr "検索が選択されていません" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "選択された検索は完全に削除されます。よろしいですか?" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "検索 (高度な検索は左のボタンをクリック)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "検索開始" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "検索ハイライトを有効、あるいは無効にする" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "保存された検索" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "保存された検索を選ぶか、新しく保存する検索の名前を入力してください。" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "現在の検索をボックスにある名前で保存します。押し続ければポップアップオプションメニューが表示されます。" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "保存された検索を作成" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "保存された検索を削除" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "保存された検索を編集" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" -msgstr "*現在の検索" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" -msgstr "以下に制限" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "(すべての本)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" -msgstr "選択した\"保存された検索\"にマッチする本のみ表示されます" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " -msgstr " あるいは検索: " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "({0} / {1})" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "({0} / all)" @@ -17858,32 +18193,32 @@ msgstr "ダウンロード..." msgid "Goto in store..." msgstr "ストアへ行く…" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "このストアからの購入で、以下のCalibreのデベロッパをサポートできます: %s

" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "本購入検索をカスタマイズ" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "検索を設定" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "クエリにマッチした本が見つかりませんでした。" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "ライブラリにダウンロードするフォーマットを選択" @@ -18004,46 +18339,46 @@ msgstr "再読み込み" msgid "%p%" msgstr "%p%" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "グループ化検索語の名前は \"{0}\"です" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "複数の本の著者を変更するのには、いくらか時間がかかります。よろしいですか?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "いくつかの本の書誌情報を変更するのには、いくらか時間がかかります。よろしいですか?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "検索" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "ユーザーカテゴリーの名前を変更" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "ユーザーカテゴリーの名前を変更する時に、名前にピリオドは使用できません。" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "名前 %s はすでに使われています" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "検索名が重複" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "保存された検索の名前 %s はすでに使われています。" @@ -18065,13 +18400,13 @@ msgid "Manage Tags" msgstr "タグを管理" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "ユーザーカテゴリーを管理" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "保存された検索を管理" @@ -18169,7 +18504,7 @@ msgid "Alter Tag Browser" msgstr "タグブラウザ設定" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "ソート" @@ -18208,138 +18543,138 @@ msgid "" "the tag browser above" msgstr "上のタグブラウザーの項目を右クリックすると、これらのすべてのカテゴリー管理が利用できます" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "%s の名前を変更" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "%s のソートを変更" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "%sのリンクを編集" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "%s をユーザーカテゴリーに追加" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "%s の子ノード" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "検索 %s を削除" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "%(item)s を カテゴリー %(cat)s から削除" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "%s 以外のものを検索" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "%s にサブカテゴリーを追加" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "ユーザーカテゴリー %s を削除" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "カテゴリー %s を隠す" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "カテゴリー表示" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "カテゴリー %s で本を検索" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "カテゴリー %s のない本を検索" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "%sの管理" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "すべてのカテゴリーを表示" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "サブカテゴリー化の方法を変更" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "最初の文字、は名前でソートする場合のみに使えます" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -18350,56 +18685,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -18441,73 +18776,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -18515,134 +18861,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18721,31 +19112,31 @@ msgid "" "reconvert them?" msgstr "これらの本はすでに %s フォーマットを持っています。これらを再変換しますか?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "calibreに寄付する(&D)" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "復元(&R)" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "接続されたデバイスを取り外し(&E)" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "Calibreを終了" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "現在の検索をクリア" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "デバッグモード" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18754,11 +19145,11 @@ msgid "" msgstr "" "Calibreをデバッグモードで起動しました。Calibreの終了時、デバッグログが次のファイルに保存されます: %s

ログは自動的に表示されます。" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "コンテンツサーバーの開始に失敗しました。" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18778,16 +19169,16 @@ msgid "" msgstr "" "%s のライブラリデータベースは壊れています。Calibre に再確認して自動的にリビルドを行わせますか? リビルドは完全には成功しない可能性があります。" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "変換エラー" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18810,23 +19201,23 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "レシピを無効にする" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "失敗" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "ジョブが実行中です。本当に終了しますか?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" @@ -18836,11 +19227,11 @@ msgstr "" " 終了するとデバイスに問題を引き起こすかもしれません。
\n" " 本当に終了しますか?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "アクティブなジョブ" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -19384,29 +19775,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -20734,44 +21125,44 @@ msgstr "" "検索文字列で結果をフィルターする。検索文字列のフォーマットについては、ユーザーマニュアルの検索関連のドキュメントを参照してください。デフォルトは何もフィル" "ターしません。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "出力ファイル中の、1行の最大の長さ。デフォルトは画面サイズから判別。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "区切り文字(デフォルトは半角スペース)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "すべてのファイルパスの接頭辞。デフォルトはライブラリフォルダーへの絶対パス。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "無効なフィールド。有効なフィールド:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "無効な並び替えフィールド。有効なフィールド:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "次の本は、すでにデータベースに存在するので、追加されませんでした。(--duplicatesオプションを参照)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -20783,59 +21174,59 @@ msgstr "" "\n" "指定したファイルをデータベースに追加する。ディレクトリを追加することもできます。下のディレクトリ関連オプションも参照してください。\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "各ディレクトリには1つの本しかなく、すべてのファイルは、その本の違ったフォーマットである、と仮定します。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "ディレクトリを再帰的に処理する" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "本がすでにデータベースに存在する場合でも追加します。本のタイトルに基づいて比較します。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "空の本を追加する(フォーマットが1つも無い本)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "追加する、最低1つのファイルを選択しなければなりません。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20850,32 +21241,38 @@ msgstr "" "データーベースからidsで指定された書籍を削除する。idsはコンマ区切りのid番号です(listコマンドを使ってid番号を取得できます)。例: " "23,34,57-85 (範囲を指定する場合、最後の範囲番号は含まれません)\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "最低でも1つの削除する本を指定しなければなりません。" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" -"%prog add_format [options] id ebook_file\n" -"\n" -"IDで表される本にebook_fileの電子書籍をフォーマットの1つとして追加する。IDはlistコマンドで取得できます。同じフォーマットが既に存在する場" -"合は、置き換えられます。\n" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "IDと電子書籍ファイルを指定する必要があります" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "電子書籍ファイルには拡張子が必要です" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20890,11 +21287,11 @@ msgstr "" "IDで表される論理上の本からfmtフォーマットを削除します。IDはlistコマンドで取得できます。fmtはLRFやTXT、EPUBのようなファイル拡張子で" "す。もし論理上の本にfmtが無い場合には何もしません。\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "IDとフォーマットを指定しなければなりません。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20908,15 +21305,15 @@ msgstr "" "\n" "IDで指定されたCalibreデータベースにある本の書誌情報を表示する。IDはlistコマンドから取られたID番号。\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "OPFフォーマット(XML)で書誌情報を表示" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "IDを指定しなければなりません。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20931,7 +21328,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20941,40 +21338,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20989,28 +21386,28 @@ msgstr "" "ID(カンマ区切りのリスト)で指定された本をファイルシステムにエクスポートします。\n" "エクスポート処理は、本の全てのフォーマットと、表紙、書誌情報(OPFファイル)を保存します。ID番号はlistコマンドから取得できます。\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "IDのリストを無視してデータベースからすべての本をエクスポートします。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "本を指定したディレクトリにエクスポートします。デフォルト:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "ディレクトリにすべての本をエクスポート" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "このスイッチ指定すると、この挙動をOFFにできます。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "IDか%sオプションを指定しなければなりません。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -21026,13 +21423,13 @@ msgstr "" "nameは人間に読みやすい列の名前。\n" "datatypeは以下のいずれか: {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "この列はタグ状のデータ(例: 複数のカンマ区切りの値)を保持します。datatypeがtextの時のみ有効です。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -21052,11 +21449,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "labelとname、datatypeを指定しなければなりません。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -21073,7 +21470,7 @@ msgstr "" " オプションは生成されるカタログでどのようにエントリーが表示されるかをコントロールします。\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" @@ -21083,7 +21480,7 @@ msgstr "" "宣言する場合は、--searchは無視されます。\n" "デフォルト: all" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" @@ -21092,16 +21489,16 @@ msgstr "" "結果を検索文字列でフィルターします。検索文字列のフォーマットについては、ユーザーマニュアルの検索関連ドキュメントを参照してください。\n" "デフォルト: フィルターなし" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "詳細な出力情報を表示します。デバッグに便利です。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "エラー:カタログ出力ファイルを指定しなければなりません。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -21120,17 +21517,17 @@ msgstr "" " custom_columnsコマンドを使ってカスタム列の名前のリストを取得できます。\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "もし列に複数の値を設定できる場合、値を指定した値に入れ替えるのではなく、すでにある値に付け加えます。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "エラー:フィールド名、ID、値を指定しなくてはなりません。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -21144,27 +21541,27 @@ msgstr "" " 存在するカスタム列を表示。列名とIDを表示します。\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "各列の詳細を表示" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "y" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -21179,15 +21576,15 @@ msgstr "" " labelで指定されるカスタム列を削除。custom_columns コマンドで存在するカスタム列を見ることができます。\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "確認を表示しない" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "エラー:列ラベルを指定しなければなりません。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -21208,40 +21605,40 @@ msgstr "" " もしすでにある名前と同じ名前を追加しようとした場合、すでにある物は置き換えられます。\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "エラー:動作を指定しなければなりません。(add|remove|list)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "名前:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "検索文字列:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "エラー:名前と検索文字列を指定しなければなりません。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "追加された" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "エラー:名前を指定しなければなりません。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "削除された" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "Error: %sと言う動作がわかりません。次の中の物でなければなりません: (add|remove|list)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -21255,13 +21652,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -21272,12 +21669,12 @@ msgstr "" "\n" "ライブラリのあるファイルシステムをチェックします。レポート:{0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "CSVで出力" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" @@ -21285,7 +21682,7 @@ msgstr "" "カンマ区切りのレポートのリスト\n" "デフォルト: all" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" @@ -21293,7 +21690,7 @@ msgstr "" "無視する拡張子(カンマ区切りのリスト)\n" "デフォルト: all" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" @@ -21301,11 +21698,11 @@ msgstr "" "無視する名前のカンマ区切りのリスト\n" "デフォルト: all" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "不明なレポートチェック" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -21329,18 +21726,18 @@ msgstr "" "ます。再生された書誌情報は、OPFファイルの内容と同様になります。\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "実際にリカバリーを行います。このコマンドはこのオプションを指定しなければ実行されません。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "実際にリカバリーを行うには%sオプションを指定しなければなりません。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -21351,19 +21748,19 @@ msgstr "" "\n" "データベース中のカテゴリー情報のレポートを作成します。情報はタグブラウザーに表示されるものと同等です。\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "カテゴリー内のアイテムのカウント番号ではなく、カテゴリー内のアイテム番号のみを出力します。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "CSVモードでカテゴリーの値の周りを囲む文字。デフォルトはダブルクオート(\")。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" @@ -21371,15 +21768,15 @@ msgstr "" "カンマ区切りのカテゴリーの検索名リスト。\n" "デフォルト: all" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "CSVモードでのフィールド区切りに使われる文字列。デフォルトはカンマです。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "カテゴリー・アイテム" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -21410,31 +21807,22 @@ msgid "" "start with a letter" msgstr "ラベルは、小文字のアルファベット、数字、アンダースコアでアルファベットから始まらなくてはなりません。" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "カスタム列を作成 " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "

古いデータベースを %s の電子書籍ライブラリへ移行

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "コピー中%s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "データベースのコンパクト化" @@ -21690,20 +22078,20 @@ msgid "" msgstr "すべてのURLの前に追加するプレフィックス。Apache/nginx/などからこのサーバーをリバースプロキシとする際に便利です。" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "すべての本" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "最新順" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "ロード中。お待ちください…" @@ -21726,7 +22114,7 @@ msgid "Browsing %d books" msgstr "%d本をブラウズ中" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "平均評価" @@ -21735,98 +22123,98 @@ msgstr "平均評価" msgid "%(prefix)s: %(rating).1f stars" msgstr "%(prefix)s: %(rating).1f 個星" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "%d 個星" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "人気度" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "ライブラリ" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "ホーム" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "本のカテゴリー:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "閲覧するカテゴリーを選択:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "カテゴリー:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "上へ" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr ":" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "カテゴリー中の本:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "他のフォーマット" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "%(title)s を %(fmt)s フォーマットで読む" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "取得" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "詳細" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "パーマリンク" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "この本へのパーマリンク" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "この本は削除されました" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "検索" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "見つかった本" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -21847,21 +22235,23 @@ msgstr "" "\n" "OPDSインターフェースは自動的にBonjourで公開されます。\n" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "コンテンツサーバーで公開するライブラリへのパス" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "指定したファイルへプロセスPIDを書き込む" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" -msgstr "この起動に適用する制限を指定します。このオプションはGUIで設定されたライブラリごとの設定を無視します。" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." +msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -22976,10 +23366,6 @@ msgstr "am" msgid "pm" msgstr "pm" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -23078,6 +23464,31 @@ msgstr "プログラムは実行中です" msgid "Restart console" msgstr "コンソールを再起動" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "URLは、sftpのスキームを持っていなければなりません" @@ -23126,107 +23537,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "\"%s\" レシピはユーザー名とパスワードが必要です。" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "ダウンロード完了" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "以下の記事のダウンロードに失敗しました:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "以下の記事の一部のダウンロードに失敗しました。" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr " / " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "\t失敗したリンク:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "記事を取得できませんでした。" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "デバッグ用トレースバックはこのログの前のほうにあります。" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "-wを付けて実行すると理由が参照できます" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "フィードの取得中..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "インデックスページからフィードを取得" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "表紙をダウンロードしようとしています..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "ロゴイメージを生成中..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "ダウンロードを開始 [%d スレッド]..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "%s にフィードがダウンロードされました。" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "表紙がダウンロードできません: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "%s から表紙をダウンロード中" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "ロゴイメージをダウンロードしました" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "このニュースの記事: " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "タイトルのない記事" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "記事をダウンロードしました:%s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "記事のダウンロードに失敗しました:%s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "フィードを取得中" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 msgid "" "Failed to log in, check your username and password for the calibre " "Periodicals service." msgstr "ログインに失敗。Calibreの定期刊行物サービスにあるユーザー名とパスワードの設定を確かめてください。" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -23507,12 +23918,9 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" -"デフォルトでは、calibreはアンパサンドや\"and\"や\"with\"のある複数の著者名を含んだ文字列を分割します。以下の正規表現を変更することで" -"、分割ルールをカスタマイズすることができます。文字列は、指定された正規表現にマッチするものなら何でも分割されます。\n" -"デフォルト: r'(?i),?\\s+(and|with)\\s+'" #: /home/kovid/work/calibre/resources/default_tweaks.py:85 msgid "Use author sort in Tag Browser" diff --git a/src/calibre/translations/jv.po b/src/calibre/translations/jv.po index 42aa0eb818..5dad0c6379 100644 --- a/src/calibre/translations/jv.po +++ b/src/calibre/translations/jv.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2012-08-09 07:28+0000\n" "Last-Translator: anggoro \n" "Language-Team: Javanese \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 0;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:15+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:31+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -331,345 +331,345 @@ msgstr "" msgid "Set metadata from %s files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -947,8 +947,8 @@ msgstr "" msgid "Disable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -958,11 +958,22 @@ msgstr "" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -974,26 +985,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1006,11 +1017,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" @@ -1018,14 +1029,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1033,7 +1044,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1041,45 +1052,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1107,23 +1143,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1246,8 +1282,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "" @@ -1295,10 +1331,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1339,6 +1375,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1657,17 +1694,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1675,12 +1712,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1688,7 +1725,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1700,7 +1737,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1713,10 +1750,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1773,66 +1812,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1840,7 +1879,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1849,11 +1888,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1873,55 +1912,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2046,7 +2085,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2527,7 +2566,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2836,23 +2875,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3140,15 +3179,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4099,7 +4142,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4123,27 +4166,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4179,13 +4222,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4194,9 +4238,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4206,7 +4251,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4218,8 +4263,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4331,60 +4376,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4392,13 +4437,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4408,6 +4471,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4467,12 +4571,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4499,72 +4603,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4573,14 +4677,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4605,12 +4709,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4643,7 +4747,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4768,9 +4872,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4786,11 +4890,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4833,6 +4937,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4987,7 +5095,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5109,12 +5217,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5191,8 +5299,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5313,7 +5421,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5361,7 +5469,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5375,7 +5483,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5387,12 +5495,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5532,7 +5640,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5560,7 +5668,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5601,7 +5709,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5614,96 +5722,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5722,6 +5843,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5794,75 +5916,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5938,12 +6062,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6027,8 +6151,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6064,7 +6188,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6134,15 +6258,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6247,17 +6371,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6266,185 +6401,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6561,7 +6707,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6666,7 +6812,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6678,30 +6824,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6711,11 +6857,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -6979,7 +7125,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7189,7 +7335,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7199,7 +7345,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7233,16 +7379,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7310,7 +7465,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7496,7 +7651,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7836,8 +7991,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8753,59 +8908,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8817,13 +8976,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9061,6 +9236,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9627,7 +9806,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9673,81 +9852,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9909,7 +10088,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10420,13 +10599,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10460,8 +10639,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10480,13 +10659,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10585,7 +10764,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10633,12 +10812,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10733,40 +10912,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11634,6 +11813,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11669,12 +11849,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12248,12 +12428,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12305,6 +12485,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12319,6 +12500,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13195,7 +13377,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13239,7 +13421,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13249,66 +13431,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13321,32 +13507,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13355,30 +13541,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13483,7 +13669,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13981,7 +14167,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14126,15 +14312,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14142,27 +14328,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14170,38 +14356,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14342,7 +14534,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14385,34 +14578,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14461,12 +14654,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15379,10 +15572,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15400,7 +15589,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16368,20 +16557,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16414,18 +16603,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16800,83 +16989,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17152,32 +17491,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17291,46 +17630,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17352,13 +17691,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17451,7 +17790,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17490,138 +17829,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17632,56 +17971,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17723,73 +18062,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17797,134 +18147,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18003,31 +18398,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18035,11 +18430,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18055,16 +18450,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18087,34 +18482,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18655,29 +19050,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19925,44 +20320,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19971,59 +20366,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20034,28 +20429,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20065,11 +20470,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20079,15 +20484,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20102,7 +20507,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20112,40 +20517,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20156,28 +20561,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20188,13 +20593,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20214,11 +20619,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20229,30 +20634,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20264,17 +20669,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20283,27 +20688,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20313,15 +20718,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20334,40 +20739,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20381,13 +20786,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20395,34 +20800,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20437,18 +20842,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20456,33 +20861,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20505,31 +20910,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20771,20 +21167,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20807,7 +21203,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20816,98 +21212,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20920,21 +21316,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21937,10 +22335,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22039,6 +22433,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22087,107 +22506,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22450,7 +22869,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/ka.po b/src/calibre/translations/ka.po index 0a5fd58b9e..540ac14291 100644 --- a/src/calibre/translations/ka.po +++ b/src/calibre/translations/ka.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2012-08-26 09:07+0000\n" "Last-Translator: clouds ge \n" "Language-Team: Georgian \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:12+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:28+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "საერთოდ არაფერს აკეთებს" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "საერთოდ არაფერს აკეთებს" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "საერთოდ არაფერს აკეთებს" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "საერთოდ არაფერს აკეთებს" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "საერთოდ არაფერს აკეთებს" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "საერთოდ არაფერს აკეთებს" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "საერთოდ არაფერს აკეთებს" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -325,346 +325,346 @@ msgstr "ჩასვი metadata %s ფაილებში" msgid "Set metadata from %s files" msgstr "დააყენე metadata %s ფაილებიდან" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "დაამატე წიგნები კალიბრეს ან მიერთებულ მოწყობილობას" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "გადაიყვანე წიგნები სხვადასხვა ელ-წიგნის ფორმატში" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "წაშალე წიგნები კალიბრედან ან მიერთებული მოწყობილობიდან" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "შეასწორე წიგნის metadata კალიბრეს ბიბლიოთეკაში" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "წაიკითხე წიგნები ტქვენს კალიბრე ბიბლიოთეკაში" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "გადმოიწერე ახალი ამბები ინტერნეტიდან ელ-წიგნის ფორმატში" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "გაგზავნე წიგნები კალიბრეს ბიბლიოთეკიდან ვინჩესტერზე" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "დაარესტარტე კალიბრე" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" "გახსენი საქარალდე რომელიც შეიცავს წიგნის ფაილებს კალიბრე ბიბლიოთეკაში" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "გააგზავნე წიგნები მიერთებულ მოწყობილობაში" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "ნახე კალიბრეს მომხმარებლის სახელმძღვანელო" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "დაარეგულირე კალიბრე" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "დააკოპირე წიგნები მოწყობილობიდან თქვენს კალიბრე ბიბლიოთეკაში" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "დააკოპირე წიგნები ერთი კალიბრე ბიბლიოთეკიდან მეორეში" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "აირჩიე შემთხვევითი წიგნი თქვენ კალიბრე ბიბლიოთეკიდან" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "მიიღე ახალი კალიბრე ფლაგინები ან განაახლე უკვე არსებულები" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "დიზაინი" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "ინტერფეისი" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "ქცევა" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "შეცვალე კალიბრეს ქცევა" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "დაამათე თქვენი საკუთარი სვეტები" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "დაამათე/ამოიღე თქვენი საკუთარი სვეტები კალიბრეს წიგნების სიაში" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "ხელსაწყოთა ზოლი" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "იძებნება" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "დაარეგულირე როგორ მოიძებნოს წიგნები კალიბრეში" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "შეყვანის პარამეტრები" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "გადაყვანა" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "უბრალო პარამეტრები" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "შედეგის პარამეტრები" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "დამატება წიგნების" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "შემოტანა/გაგზავნა" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "ინახება წიგნები დისკზე" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "იგზავნება წიგნები მოწყობილობაზე" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "შეცვალე metadata არეები მანამ შეინახავ/გაგზავნი" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "ნიმუშის ფუნქციები" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "დაწინაურებული" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "შექმენი კაკუთარი ნიმუშის ფუნქციები" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "გაზიარება წიგნების იმეილით" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "გაზიარება" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "გაზიარება ქსელში" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "მეტამონაცემების გადმოწერა" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "პლაგინები" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "კლავიატურა" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "მოირგე კლავიატურის კომბინაციები კალიბრესთვის" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "სხვადასხვა" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -944,8 +944,8 @@ msgstr "ჩართე დასახელებული ფლაგინ msgid "Disable the named plugin" msgstr "გათიშე დასახელებული ფლაგინი" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -955,11 +955,22 @@ msgstr "გათიშე დასახელებული ფლაგი msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -971,26 +982,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "მთავარი" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1003,11 +1014,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" @@ -1015,14 +1026,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1030,7 +1041,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1038,45 +1049,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1104,23 +1140,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "დაუკავშირდი S60 ტელეფონებს." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "დაუკავშირდი WebOS ტაბლეტებს." @@ -1243,8 +1279,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "" @@ -1292,10 +1328,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1336,6 +1372,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1654,17 +1691,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1672,12 +1709,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1685,7 +1722,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1697,7 +1734,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1710,10 +1747,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1770,66 +1809,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1837,7 +1876,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1846,11 +1885,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1870,55 +1909,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2043,7 +2082,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2524,7 +2563,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2833,23 +2872,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3137,15 +3176,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4096,7 +4139,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4120,27 +4163,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4176,13 +4219,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4191,9 +4235,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4203,7 +4248,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4215,8 +4260,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4328,60 +4373,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4389,13 +4434,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4405,6 +4468,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4464,12 +4568,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4496,72 +4600,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4570,14 +4674,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4602,12 +4706,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4640,7 +4744,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4765,9 +4869,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4783,11 +4887,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4830,6 +4934,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4984,7 +5092,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5106,12 +5214,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5188,8 +5296,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5310,7 +5418,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5358,7 +5466,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5372,7 +5480,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5384,12 +5492,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5529,7 +5637,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5557,7 +5665,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5598,7 +5706,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5611,96 +5719,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5719,6 +5840,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5791,75 +5913,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5935,12 +6059,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6024,8 +6148,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6061,7 +6185,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6131,15 +6255,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6244,17 +6368,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6263,185 +6398,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6558,7 +6704,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6663,7 +6809,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6675,30 +6821,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6708,11 +6854,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -6976,7 +7122,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7186,7 +7332,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7196,7 +7342,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7230,16 +7376,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7307,7 +7462,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7493,7 +7648,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7833,8 +7988,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8750,59 +8905,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8814,13 +8973,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9058,6 +9233,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9624,7 +9803,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9670,81 +9849,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9906,7 +10085,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10417,13 +10596,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10457,8 +10636,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10477,13 +10656,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10582,7 +10761,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10630,12 +10809,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10730,40 +10909,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11631,6 +11810,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11666,12 +11846,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12245,12 +12425,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12302,6 +12482,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12316,6 +12497,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13192,7 +13374,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13236,7 +13418,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13246,66 +13428,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13318,32 +13504,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13352,30 +13538,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13480,7 +13666,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13978,7 +14164,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14123,15 +14309,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14139,27 +14325,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14167,38 +14353,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14339,7 +14531,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14382,34 +14575,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14458,12 +14651,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15376,10 +15569,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15397,7 +15586,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16365,20 +16554,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16411,18 +16600,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16797,83 +16986,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17149,32 +17488,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17288,46 +17627,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17349,13 +17688,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17448,7 +17787,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17487,138 +17826,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17629,56 +17968,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17720,73 +18059,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17794,134 +18144,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18000,31 +18395,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18032,11 +18427,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18052,16 +18447,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18084,34 +18479,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18652,29 +19047,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19922,44 +20317,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19968,59 +20363,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20031,28 +20426,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20062,11 +20467,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20076,15 +20481,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20099,7 +20504,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20109,40 +20514,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20153,28 +20558,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20185,13 +20590,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20211,11 +20616,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20226,30 +20631,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20261,17 +20666,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20280,27 +20685,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20310,15 +20715,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20331,40 +20736,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20378,13 +20783,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20392,34 +20797,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20434,18 +20839,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20453,33 +20858,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20502,31 +20907,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20768,20 +21164,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20804,7 +21200,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20813,98 +21209,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20917,21 +21313,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21934,10 +22332,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22036,6 +22430,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22084,107 +22503,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22447,7 +22866,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/kn.po b/src/calibre/translations/kn.po index c6c4547df1..d27cf0baac 100644 --- a/src/calibre/translations/kn.po +++ b/src/calibre/translations/kn.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2012-05-09 10:16+0000\n" "Last-Translator: s k Nagesh \n" "Language-Team: Kannada \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:15+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:32+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "ಏನನ್ನು ಮಾಡುವುದಿಲ್ಲ" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "ಏನನ್ನು ಮಾಡುವುದಿಲ್ಲ" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "ಏನನ್ನು ಮಾಡುವುದಿಲ್ಲ" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "ಏನನ್ನು ಮಾಡುವುದಿಲ್ಲ" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "ಏನನ್ನು ಮಾಡುವುದಿಲ್ಲ" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "ಏನನ್ನು ಮಾಡುವುದಿಲ್ಲ" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "ಏನನ್ನು ಮಾಡುವುದಿಲ್ಲ" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -328,345 +328,345 @@ msgstr "" msgid "Set metadata from %s files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "calibreಗೆ ಅಥವ ಸಂಪರ್ಕ ಕಲ್ಪಿಸಿರುವ ಸಾದನಕ್ಕೆ ಪುಸ್ತಕಗಳನ್ನು ಸೇರಿಸಿ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "ಸಂಬಂಧಪಟ್ಟ ಪುಸ್ತಕಗಳ ಪಟ್ಟಿಯನ್ನು ತ್ವರಿತವಾಗಿ ತೋರಿಸು" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -944,8 +944,8 @@ msgstr "" msgid "Disable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -955,11 +955,22 @@ msgstr "" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -971,26 +982,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1003,11 +1014,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" @@ -1015,14 +1026,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1030,7 +1041,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1038,45 +1049,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1104,23 +1140,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1243,8 +1279,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "" @@ -1292,10 +1328,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1336,6 +1372,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1654,17 +1691,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1672,12 +1709,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1685,7 +1722,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1697,7 +1734,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1710,10 +1747,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1770,66 +1809,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1837,7 +1876,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1846,11 +1885,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1870,55 +1909,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2043,7 +2082,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2524,7 +2563,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2833,23 +2872,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3137,15 +3176,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4096,7 +4139,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4120,27 +4163,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4176,13 +4219,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4191,9 +4235,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4203,7 +4248,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4215,8 +4260,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4328,60 +4373,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4389,13 +4434,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4405,6 +4468,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4464,12 +4568,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4496,72 +4600,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4570,14 +4674,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4602,12 +4706,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4640,7 +4744,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4765,9 +4869,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4783,11 +4887,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4830,6 +4934,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4984,7 +5092,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5106,12 +5214,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5188,8 +5296,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5310,7 +5418,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5358,7 +5466,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5372,7 +5480,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5384,12 +5492,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5529,7 +5637,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5557,7 +5665,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5598,7 +5706,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5611,96 +5719,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5719,6 +5840,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5791,75 +5913,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5935,12 +6059,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6024,8 +6148,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6061,7 +6185,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6131,15 +6255,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6244,17 +6368,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6263,185 +6398,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6558,7 +6704,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6663,7 +6809,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6675,30 +6821,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6708,11 +6854,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -6976,7 +7122,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7186,7 +7332,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7196,7 +7342,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7230,16 +7376,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7307,7 +7462,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7493,7 +7648,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7833,8 +7988,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8750,59 +8905,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8814,13 +8973,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9058,6 +9233,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9624,7 +9803,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9670,81 +9849,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9906,7 +10085,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10417,13 +10596,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10457,8 +10636,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10477,13 +10656,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10582,7 +10761,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10630,12 +10809,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10730,40 +10909,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11631,6 +11810,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11666,12 +11846,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12245,12 +12425,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12302,6 +12482,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12316,6 +12497,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13192,7 +13374,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13236,7 +13418,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13246,66 +13428,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13318,32 +13504,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13352,30 +13538,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13480,7 +13666,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13978,7 +14164,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14123,15 +14309,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14139,27 +14325,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14167,38 +14353,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14339,7 +14531,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14382,34 +14575,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14458,12 +14651,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15376,10 +15569,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15397,7 +15586,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16365,20 +16554,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16411,18 +16600,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16797,83 +16986,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17149,32 +17488,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17288,46 +17627,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17349,13 +17688,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17448,7 +17787,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17487,138 +17826,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17629,56 +17968,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17720,73 +18059,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17794,134 +18144,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18000,31 +18395,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18032,11 +18427,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18052,16 +18447,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18084,34 +18479,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18652,29 +19047,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19922,44 +20317,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19968,59 +20363,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20031,28 +20426,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20062,11 +20467,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20076,15 +20481,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20099,7 +20504,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20109,40 +20514,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20153,28 +20558,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20185,13 +20590,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20211,11 +20616,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20226,30 +20631,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20261,17 +20666,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20280,27 +20685,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20310,15 +20715,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20331,40 +20736,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20378,13 +20783,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20392,34 +20797,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20434,18 +20839,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20453,33 +20858,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20502,31 +20907,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20768,20 +21164,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20804,7 +21200,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20813,98 +21209,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20917,21 +21313,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21934,10 +22332,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22036,6 +22430,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22084,107 +22503,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22447,7 +22866,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/ko.po b/src/calibre/translations/ko.po index 2f410a3f3d..efc53ef07e 100644 --- a/src/calibre/translations/ko.po +++ b/src/calibre/translations/ko.po @@ -7,32 +7,32 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" -"PO-Revision-Date: 2013-01-03 19:54+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" +"PO-Revision-Date: 2013-04-11 13:28+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: Korean \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:16+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:32+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "아무 것도 안함" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "아무 것도 안함" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "아무 것도 안함" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "아무 것도 안함" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "아무 것도 안함" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "아무 것도 안함" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "아무 것도 안함" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -327,346 +327,346 @@ msgstr "%s 파일에 메타데이터를 지정합니다." msgid "Set metadata from %s files" msgstr "%s 파일에서 메타 정보를 지정합니다" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "책은 calibre 프로그램이나 연결된 장치에 추가됩니다." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "연결된 Kindle로부터 주석을 가져옵니다 (시험중)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "책들은 다양한 종류의 이북 포맷으로 변환합니다." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "책을 calibre 프로그램이나 연결된 장치에서 삭제합니다." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "calibre 저장소에 있는 책들의 메타정보를 수정합니다." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "calibre 저장소의 책을 읽습니다." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "인터넷에서 뉴스를 전자책형식으로 다운로드합니다." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "관련된 책들의 리스트를 빠르게 보여줍니다." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "calibre 저장소에서 책을 하드디스크에 저장합니다." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "세부 정보를 별개의 팝업창으로 표시합니다" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "프로그램을 다시 시작합니다." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "calibre 라이브러리에서 책 파일들을 포함하고 있는 폴더를 엽니다." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "연결된 장치로 책들을 보냅니다." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "calibre 사용자 메뉴얼 찾아보기" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "calibre 커스터마이즈" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "현재 선택된 것과 유사한 책을 쉽게 찾기" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "기기에서 calibre 저장소로 책 복사하기" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "한 저장소에서 다른 저장소로 책 복사하기" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "calibre 저장소에 있는 epub 또는 htmlz 파일을 일부 개조하기" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "calibre 저장소에서 무작위로 책 선택하기" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "calibre 플러그인을 새로 설치하거나 기존 플러그인을 업데이트하기" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "모양새" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "인터페이스" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "Calibre 인터페이스 모양새를 조정합니다" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "작동" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "Calibre가 동작하는 방식을 변경합니다" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "사용자 정의 열 추가" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "자신의 서평이나 시평을 Calibre 책 리스트에 첨가 또는 제거합니다" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "도구모음" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "도구 모음과 마우스 우측 버튼 메뉴를 사용자 정의합니다." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "입력 옵션" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "변환하기" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "입력 형식마다 구체적인 변환 옵션을 지정합니다" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "공통 옵션" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "모든 형식에 공통적인 변환 옵션을 지정합니다" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "출력 옵션" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "출력 형식마다 구체적인 변환 옵션을 지정합니다" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "책 추가하기" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "가져오기/내보내기" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "Calibre에 책을 추가할때 파일에서 메타정보를 읽어오는 방법을 제어합니다" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "책을 디스크에 저장하기" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "저장시, Calibre의 데이타베이스로부터 디스크장치로 어떻게 변환되는지를 제어합니다" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "책을 장치로 전송하기" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "Calibre가 화일을 ebook리더로의 전달을 제어합니다" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "메타정보 제어판" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "저장 또는 내보내기 전, 메타 정보 필드를 변환합니다" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "고급" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "이메일으로 책 공유하기" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "공유" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "이메일을 통해서 책 공유하기를 설정합니다. 내려받은 뉴스를 자동으로 장치로 전송하기때 사용될 수 있습니다." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "네트워크로 공유하기" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" "인터넷 상, 또는 어떤 장소나 장치로부터 Caiibre 도서관에 접속 가능하도록 도와주는 Calibre 컨텐츠 서버를 설정합니다" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "메타 정보 내려받기" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "플러그인" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Calibre의 기능들은 다양한 방법으로 추가, 제거 또는 일부변경 될 수 있습니다" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "트윅" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "다양한 전후관계 내에서 Calibre가 어떻게 행동하는지를 조정합니다" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "기타" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "기타 전문가용 설정" @@ -951,8 +951,8 @@ msgstr "주어진 이름의 플러그인을 사용합니다" msgid "Disable the named plugin" msgstr "주어진 이름의 플러그인을 사용하지 않습니다" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -962,11 +962,22 @@ msgstr "주어진 이름의 플러그인을 사용하지 않습니다" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -978,26 +989,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "주" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "카드 A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "카드 B" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1010,11 +1021,11 @@ msgstr "카드 B" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "뉴스" @@ -1022,14 +1033,14 @@ msgstr "뉴스" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "체크됨" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "예" @@ -1037,7 +1048,7 @@ msgstr "예" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "아니오" @@ -1045,45 +1056,70 @@ msgstr "아니오" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "체크 안 됨" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "오늘" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "어제" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "이번달" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "일 전" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "비어 있음" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "빈 칸" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1111,23 +1147,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "안드로이드폰과 통신합니다." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "S60 휴대폰과 통신합니다." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1257,8 +1293,8 @@ msgstr "" "목록을 보려면 '상세히 보기'를 누르세요." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "분류" @@ -1306,10 +1342,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1350,6 +1386,7 @@ msgstr "책을 장치의 메타 정보 목록으로 추가합니다..." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1668,17 +1705,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1686,12 +1723,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1699,7 +1736,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1711,7 +1748,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1724,10 +1761,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1786,66 +1825,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1853,7 +1892,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1862,11 +1901,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1886,55 +1925,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "Pandigital Novel과 통신합니다." -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "기기 VelocityMicro와 통신합니다" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "GM2000과 통신합니다" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "기기 Acer Lumiread와 통신" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2059,7 +2098,7 @@ msgstr "Nook" msgid "Communicate with the Nook eBook reader." msgstr "Nook eBook reader와 통신합니다." -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2540,7 +2579,7 @@ msgid "There is insufficient free space on the storage card" msgstr "메모리카드에 여유 공간이 부족합니다." #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "%s가 만들어졌습니다" @@ -2885,23 +2924,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "기본 파일 대신에 사용하는 CSS 파일입니다." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "기본 파일 대신에 HTML 인덱스 파일을 생성하는데 사용하는 템플릿입니다" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "기본 파일 대신에 책의 HTML 콘텐츠를 생성하는데 사용하는 템플릿입니다" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3190,15 +3229,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4180,7 +4223,7 @@ msgstr "" msgid "Set book ID" msgstr "책 ID 설정" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4204,27 +4247,27 @@ msgstr "아니오" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "제목" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "저자" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "출판사" @@ -4260,13 +4303,14 @@ msgstr "설명" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "태그" @@ -4275,9 +4319,10 @@ msgstr "태그" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4287,7 +4332,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4299,8 +4344,8 @@ msgstr "시간 정보" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "출판일자" @@ -4419,60 +4464,60 @@ msgstr "" "Fetch a cover image/social metadata for the book identified by ISBN from " "LibraryThing.com\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "표지" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4480,13 +4525,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4496,6 +4559,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "큼" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "isbndb.com에서 메타 데이터를 내려받습니다." @@ -4555,12 +4659,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "이것은 Amazon Topaz 책입니다. 처리할 수 없습니다." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4587,72 +4691,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "목차" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "제목 페이지" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "색인" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "용어집" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "참고 문헌" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "출판 정보" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "저작권" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "바치는 글" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "서문" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "그림 차례" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "표 차례" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "노트" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "서문" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "본문" @@ -4661,14 +4765,14 @@ msgstr "본문" msgid "%s format books are not supported" msgstr "%s 형식의 책은 지원하지 않습니다" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4693,12 +4797,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4731,7 +4835,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4856,9 +4960,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4874,11 +4978,11 @@ msgid "HTML TOC generation options." msgstr "HTML 목차(TOC) 생성 옵션입니다." #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "별점" @@ -4921,6 +5025,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "pdftohtml을 찾을 수 없습니다. 경로를 점검하세요" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5075,7 +5183,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "재시작 필요" @@ -5199,12 +5307,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5281,8 +5389,8 @@ msgstr "라이브러리에 추가" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5403,7 +5511,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5451,7 +5559,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5465,7 +5573,7 @@ msgstr "라이브러리 전환/생성..." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5477,12 +5585,12 @@ msgid "Pick a random book" msgstr "무작위로 책 선택" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "빠른 전환" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "라이브러리 이름 변경" @@ -5622,7 +5730,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5650,7 +5758,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5691,7 +5799,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "당신의 칼리버 라이브러리에 책의 분류를 생성" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "변환할 수 없음" @@ -5704,96 +5812,109 @@ msgstr "%d 권의 책의 변환을 시작합니다." msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "라이브러리 선택" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "라이브러리로 복사" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "선택된 책들을 지정한 라이브러리로 복사합니다" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "(복사 후 삭제)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "복사 불가" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "라이브러리 없음" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "라이브러리가 %s에서 발견되지 않았습니다" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "책을 복사할 수 없음: " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5812,6 +5933,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "확실합니까?" @@ -5884,76 +6006,78 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "삭제할 형식을 선택하세요" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "책 삭제 불가" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "연결된 장치가 없음" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "주 메모리" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "저장 카드 A" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "저장 카드 B" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "삭제할 책이 없습니다" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "장치상에 선택된 책이 없습니다" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "장치에서 책을 삭제합니다." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" -msgstr "선택된 책을 장치에서 영구적으로 삭제합니다. 확실합니까?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 msgid "Start wireless device connection" @@ -6028,12 +6152,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6117,8 +6241,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6154,7 +6278,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6224,15 +6348,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6337,17 +6461,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6356,185 +6491,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6651,7 +6797,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "책 상세정보 보기" @@ -6756,7 +6902,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6768,30 +6914,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6801,11 +6947,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -7069,7 +7215,7 @@ msgid "The specified directory could not be processed." msgstr "지정한 디렉토리는 처리할 수 없습니다." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "책 없음" @@ -7279,7 +7425,7 @@ msgid "Click to open" msgstr "열려면 누르세요" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7289,7 +7435,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "모음집" @@ -7323,16 +7469,25 @@ msgstr "경로" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "BibTeX 옵션" @@ -7400,7 +7555,7 @@ msgstr "출력" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7586,7 +7741,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "이름" @@ -7926,8 +8081,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "보통" @@ -8846,59 +9001,63 @@ msgstr "그림 없음(&I)" msgid "PDF Output" msgstr "PDF 출력" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "종이 크기(&P):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "표지의 종횡비를 유지(&A)" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "세리프체(&R):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "산세리프체(&S):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "고정폭 글자체(&M):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "표준 글꼴(&T):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8910,13 +9069,29 @@ msgstr "" msgid " px" msgstr " px" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "고정폭 글자 크기(&F):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9157,6 +9332,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "변환하기" @@ -9725,7 +9904,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "적합한 형식이 아닙니다" @@ -9771,81 +9950,81 @@ msgstr "장치: " msgid " detected." msgstr " 탐지되었습니다." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "장치 없음" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "장치로 전송할 형식을 선택하세요" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "전송 불가: 연결된 장치가 없음" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "카드 없음" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "전송 불가: 저장 카드가 없음" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "다음의 책들을 장치에 올리기 전에 자동으로 변환합니까?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "분류를 장치로 전송합니다." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "뉴스를 장치로 전송합니다." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "책을 장치로 전송합니다." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "장치에 공간이 없습니다" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "

장치에 남은 공간이 없어서 책을 올려보낼 수 없습니다 " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -10007,7 +10186,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10518,13 +10697,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "라이브러리" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "장치" @@ -10558,8 +10737,8 @@ msgid "Location" msgstr "위치" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10578,13 +10757,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "항목이 비어있음" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10683,7 +10862,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "일치하는 것이 없습니다" @@ -10731,12 +10910,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "잘못된 저자명" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10831,40 +11010,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "클립보드로 복사(&C)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "상세히 보기(&D)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "숨기기(&D)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "이 오류에 대한 자세한 정보를 봅니다" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "사본" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11735,6 +11914,7 @@ msgstr "중단하는 중..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11770,12 +11950,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "검색" @@ -12349,12 +12529,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12406,6 +12586,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "출판사" @@ -12420,6 +12601,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13296,7 +13478,7 @@ msgid "&Shortcut:" msgstr "단축키(&S):" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "완료" @@ -13340,7 +13522,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13350,66 +13532,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "이 장치 연결 끊기" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "calibre 라이브러리에 있는 책 표시" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "장치의 주 메모리에 있는 책 표시" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "저장 카드 A에 있는 책 표시" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "저장 카드 B에 있는 책 표시" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "라이브러리 삭제" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "이용 가능" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "고급 검색" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "빠른 검색 초기화" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "현재의 검색어를 복사합니다 (검색 이름 대신에)" @@ -13422,32 +13608,32 @@ msgstr "" msgid "Y" msgstr "Y" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "장치" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "용량 (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "검색 이름은 \"{0}\"입니다" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13456,30 +13642,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "용량" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "편집하려면 더블클릭하세요

" @@ -13584,7 +13770,7 @@ msgid "Previous Page" msgstr "이전 쪽" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -14082,7 +14268,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14227,15 +14413,15 @@ msgstr "설명(&C)" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14243,27 +14429,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14271,38 +14457,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "표지를 내려받습니다..." @@ -14445,7 +14637,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14488,34 +14681,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "높음" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "낮음" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "기본값" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "확인 대화상자가 모두 초기화 되었습니다" @@ -14564,12 +14757,12 @@ msgid "Job &priority:" msgstr "작업 우선순위(&P):" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15490,10 +15683,6 @@ msgstr "" msgid "Small" msgstr "작음" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "큼" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "중간" @@ -15511,7 +15700,7 @@ msgid "Never" msgstr "전혀 안함" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16484,20 +16673,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "컨텐츠 서버 실행이 실패했습니다" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "오류 기록:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "접근 기록:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16530,18 +16719,18 @@ msgid "Max. &OPDS items per query:" msgstr "요청마다 최대 OPDS 항목 수(&O):" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" -msgstr "최대 OPDS 그룹화 되지 않은 항목 수(&U):" +msgid "Max. &ungrouped items:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16918,83 +17107,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "선택된 검색을 영구적으로 삭제합니다. 확실합니까?" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "검색 (고급 검색은 왼쪽의 버튼을 누르세요)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "저장된 검색" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "저장된 검색을 선택하거나 새로운 저장된 검색을 위한 이름을 입력하세요" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "(모든 책)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "({1} 중에 {0})" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "(전 {0}권)" @@ -17270,32 +17609,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17411,46 +17750,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "검색" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "검색 이름 중복" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "저장된 검색 이름 %s은(는) 이미 사용중입니다." @@ -17472,13 +17811,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "사용자 분류 관리" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "저장된 검색 관리" @@ -17571,7 +17910,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17610,138 +17949,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "%s 분류 숨기기" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "분류 보기" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "%s 관리" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "모든 분류 보기" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17752,56 +18091,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17843,73 +18182,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17917,134 +18267,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18123,31 +18518,31 @@ msgid "" "reconvert them?" msgstr "다음의 책들은 이미 %s 형식으로 변환되어 있습니다. 재변환하시겠습니까?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "calbre를 지원하려면 기부하세요(&D)" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "복원(&R)" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "연결된 장치 끊기(&E)" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18155,11 +18550,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18175,16 +18570,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "변환 오류" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18207,34 +18602,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "레시피 사용 안함" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "실패" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "활동중인 작업이 있습니다. 종료하는게 확실합니까?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18775,29 +19170,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -20067,44 +20462,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "문자열은 필드를 구분하는데 사용됩니다. 기본값은 공백입니다." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "잘못된 필드입니다. 이용가능한 필드:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "잘못된 정렬 필드입니다. 이용가능한 필드:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "다음의 책들은 이미 데이터베이스에 존재하므로 추가하지 않습니다 (--duplicates 옵션 참조):" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -20118,59 +20513,59 @@ msgstr "" "directories, see\n" "the directory related options below.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "이미 DB에 책이 있어도 책을 추가합니다. 책의 이름을 기반으로 비교합니다." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "비어있는 책 추가하기 (형식이 없는 책)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "추가할 파일을 한 개 이상 지정해야 합니다" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20181,28 +20576,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "제거할 책을 한 개 이상 지정해야 합니다" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "ID와 전자책 파일을 지정해야 합니다" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "전자책 파일은 확장자가 있어야만 합니다" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20212,11 +20617,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "ID와 형식을 지정해야 합니다" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20226,15 +20631,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "OPF 양식(XML)에서 메타 정보를 인쇄합니다" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "ID를 지정해야 합니다" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20249,7 +20654,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20259,40 +20664,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20303,28 +20708,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "데이터베이스의 모든 책을 내보냅니다. ID 목록은 무시합니다." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "모든 책들을 하나의 디렉토리에 내보냅니다" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "ID 또는 %s 옵션을 지정해야 합니다" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20335,13 +20740,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20361,11 +20766,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "레이블, 이름, 데이터종류를 지정해야 합니다" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20376,30 +20781,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "상세한 출력 정보를 표시합니다. 디버깅 시에 유용합니다." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "오류: 분류의 출력 파일을 지정해야 합니다" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20411,17 +20816,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "오류: 필드명, ID, 값을 지정해야 합니다" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20430,27 +20835,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "각 열에 대한 상세 정보를 표시합니다." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20460,15 +20865,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "확인을 다시 묻지 않음" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "오류: 열 레이블을 지정해야 합니다" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20481,40 +20886,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "오류: 동작을 지정해야 합니다 (add|remove|list)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "이름:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "검색 문자열:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "오류: 이름과 검색 문자열을 지정해야 합니다" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "추가됨" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "오류: 이름을 지정해야 합니다" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "삭제됨" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "오류: %s 동작은 인식할 수 없습니다. 다음중 하나여야 합니다: (add|remove|list)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20528,13 +20933,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20542,34 +20947,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20584,18 +20989,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20603,33 +21008,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20660,31 +21065,22 @@ msgid "" "start with a letter" msgstr "라벨은 소문자, 숫자, 밑줄만 포함할 수 있으며 영문자로 시작되어야 합니다." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "%s 복사하는중" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20930,20 +21326,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20966,7 +21362,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20975,98 +21371,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -21079,21 +21475,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -22096,10 +22494,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22198,6 +22592,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22246,107 +22665,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "'%s' 리시프는 사용자 이름과 암호를 필요로 합니다." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "내려받기 완료" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "다음 게시물의 내려받기가 실패:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "다음 게시물의 부분적 내려받기가 실패:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "\t실패한 링크:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "공급자를 가져옵니다..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "색인 페이지에서 가져온 공급자" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "표지의 내려받기를 시도합니다..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "내려받기 시작 [%d 개의 스레드]..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "%s에 내려받은 공급자" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "표지를 내려받을 수 없습니다: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "%s 에서 표지를 내려받습니다" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "제목없는 게시물" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "게시물 내려받음: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "게시물 내려받기 실패: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "공급자 가져오기" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22609,7 +23028,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/ku.po b/src/calibre/translations/ku.po index 10afd19fb8..67e8503913 100644 --- a/src/calibre/translations/ku.po +++ b/src/calibre/translations/ku.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2011-12-12 17:33+0000\n" "Last-Translator: Erdal Ronahi \n" "Language-Team: Kurdish \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:16+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:32+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "Tiştek nake" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "Tiştek nake" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "Tiştek nake" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "Tiştek nake" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "Tiştek nake" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "Tiştek nake" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "Tiştek nake" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -325,345 +325,345 @@ msgstr "" msgid "Set metadata from %s files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -941,8 +941,8 @@ msgstr "" msgid "Disable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -952,11 +952,22 @@ msgstr "" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -968,26 +979,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1000,11 +1011,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" @@ -1012,14 +1023,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1027,7 +1038,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1035,45 +1046,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1101,23 +1137,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1240,8 +1276,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "" @@ -1289,10 +1325,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1333,6 +1369,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1651,17 +1688,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1669,12 +1706,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1682,7 +1719,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1694,7 +1731,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1707,10 +1744,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1767,66 +1806,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1834,7 +1873,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1843,11 +1882,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1867,55 +1906,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2040,7 +2079,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2521,7 +2560,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2830,23 +2869,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3134,15 +3173,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4093,7 +4136,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4117,27 +4160,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4173,13 +4216,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4188,9 +4232,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4200,7 +4245,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4212,8 +4257,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4325,60 +4370,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4386,13 +4431,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4402,6 +4465,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4461,12 +4565,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4493,72 +4597,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4567,14 +4671,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4599,12 +4703,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4637,7 +4741,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4762,9 +4866,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4780,11 +4884,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4827,6 +4931,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4981,7 +5089,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5103,12 +5211,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5185,8 +5293,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5307,7 +5415,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5355,7 +5463,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5369,7 +5477,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5381,12 +5489,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5526,7 +5634,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5554,7 +5662,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5595,7 +5703,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5608,96 +5716,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5716,6 +5837,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5788,75 +5910,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5932,12 +6056,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6021,8 +6145,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6058,7 +6182,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6128,15 +6252,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6241,17 +6365,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6260,185 +6395,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6555,7 +6701,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6660,7 +6806,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6672,30 +6818,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6705,11 +6851,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -6973,7 +7119,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7183,7 +7329,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7193,7 +7339,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7227,16 +7373,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7304,7 +7459,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7490,7 +7645,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7830,8 +7985,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8747,59 +8902,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8811,13 +8970,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9055,6 +9230,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9621,7 +9800,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9667,81 +9846,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9903,7 +10082,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10414,13 +10593,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10454,8 +10633,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10474,13 +10653,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10579,7 +10758,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10627,12 +10806,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10727,40 +10906,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11628,6 +11807,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11663,12 +11843,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12242,12 +12422,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12299,6 +12479,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12313,6 +12494,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13189,7 +13371,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13233,7 +13415,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13243,66 +13425,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13315,32 +13501,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13349,30 +13535,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13477,7 +13663,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13975,7 +14161,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14120,15 +14306,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14136,27 +14322,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14164,38 +14350,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14336,7 +14528,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14379,34 +14572,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14455,12 +14648,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15373,10 +15566,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15394,7 +15583,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16362,20 +16551,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16408,18 +16597,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16794,83 +16983,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17146,32 +17485,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17285,46 +17624,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17346,13 +17685,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17445,7 +17784,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17484,138 +17823,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17626,56 +17965,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17717,73 +18056,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17791,134 +18141,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -17997,31 +18392,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18029,11 +18424,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18049,16 +18444,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18081,34 +18476,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18649,29 +19044,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19919,44 +20314,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19965,59 +20360,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20028,28 +20423,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20059,11 +20464,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20073,15 +20478,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20096,7 +20501,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20106,40 +20511,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20150,28 +20555,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20182,13 +20587,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20208,11 +20613,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20223,30 +20628,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20258,17 +20663,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20277,27 +20682,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20307,15 +20712,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20328,40 +20733,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20375,13 +20780,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20389,34 +20794,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20431,18 +20836,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20450,33 +20855,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20499,31 +20904,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20765,20 +21161,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20801,7 +21197,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20810,98 +21206,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20914,21 +21310,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21931,10 +22329,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22033,6 +22427,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22081,107 +22500,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22444,7 +22863,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/lt.po b/src/calibre/translations/lt.po index 89924fc4da..0821f3bcfe 100644 --- a/src/calibre/translations/lt.po +++ b/src/calibre/translations/lt.po @@ -7,33 +7,33 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" -"PO-Revision-Date: 2011-08-05 16:44+0000\n" -"Last-Translator: Mantas Kriaučiūnas \n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" +"PO-Revision-Date: 2013-04-17 20:15+0000\n" +"Last-Translator: Mindaugas B. \n" "Language-Team: Lithuanian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "(n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:16+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:33+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "Nieko nedaro" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -88,8 +88,8 @@ msgstr "Nieko nedaro" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -100,9 +100,9 @@ msgstr "Nieko nedaro" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -111,7 +111,7 @@ msgstr "Nieko nedaro" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -124,7 +124,7 @@ msgstr "Nieko nedaro" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -146,13 +146,13 @@ msgstr "Nieko nedaro" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -161,33 +161,33 @@ msgstr "Nieko nedaro" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -198,7 +198,7 @@ msgstr "Nieko nedaro" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/collection.py:45 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/collection.py:53 msgid "Unknown" -msgstr "Nežinomas" +msgstr "Nežinoma" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:77 msgid "Base" @@ -208,22 +208,22 @@ msgstr "Pagrindas" #: /home/kovid/work/calibre/src/calibre/ebooks/html/to_zip.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:397 msgid "Customize" -msgstr "Adaptuoti" +msgstr "Derinti" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:156 #: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:54 #: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:357 msgid "Cannot configure" -msgstr "" +msgstr "Konfigūruoti negalima" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:331 msgid "File type" -msgstr "Bylos tipas" +msgstr "Failo tipas" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:377 msgid "Metadata reader" -msgstr "Meta duomenu skaitytuvas" +msgstr "Meta duomenų skaitymas" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:407 msgid "Metadata writer" @@ -231,11 +231,11 @@ msgstr "Meta duomenų rašymas" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:437 msgid "Catalog generator" -msgstr "Katalogo generatorius" +msgstr "Katalogo generavimas" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:560 msgid "User Interface Action" -msgstr "Vartotojo sąsajos veiksmas" +msgstr "Naudotojo sąsajos veiksmas" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:20 @@ -245,16 +245,16 @@ msgstr "Vartotojo sąsajos veiksmas" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:311 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:228 msgid "Preferences" -msgstr "Pasirinkimai" +msgstr "Nuostatos" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Store" -msgstr "" +msgstr "Saugykla" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:650 msgid "An ebook store." -msgstr "" +msgstr "Knygų saugykla" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:21 msgid "" @@ -298,15 +298,15 @@ msgstr "Ištraukti viršelį iš comic bylu" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:400 #, python-format msgid "Read metadata from %s files" -msgstr "Meta duomenu skaitymas iš %s bylu" +msgstr "Nuskaityti meta duomenis iš %s failų" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:337 msgid "Read metadata from ebooks in RAR archives" -msgstr "" +msgstr "Nuskaityti meta duomenis iš el.knygų, esančių RAR archyve" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:411 msgid "Read metadata from ebooks in ZIP archives" -msgstr "" +msgstr "Nuskaityti meta duomenis iš el.knygų, esančių ZIP archyve" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:428 #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:438 @@ -317,354 +317,356 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:512 #, python-format msgid "Set metadata in %s files" -msgstr "Nustatyti meta duomenys %s byluose" +msgstr "Nustatyti metaduomenis %s failuose" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:448 #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:480 #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:523 #, python-format msgid "Set metadata from %s files" -msgstr "Nustatyti meta duomenys iš %s bylu" +msgstr "Nustatyti meta duomenys iš %s failų" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" -msgstr "" +msgstr "Įtraukti knygas į „Calibre“ biblioteką arba į prijungtą įrenginį" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" -msgstr "" +msgstr "Sukurti knygų katalogą jūsų „Calibre“ bibliotekoje" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" -msgstr "" +msgstr "El. knygas konvertuoti į kitus formatus" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" -msgstr "" +msgstr "Redaguoti jūsų knygų turinį" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" +"Šalinti knygas, esančias „Calibre“ bibliotekoje arba prijungtame įrenginyje" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" -msgstr "" +msgstr "Keisti „Calibre“ bibliotekoje esančių knygų meta duomenis" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" -msgstr "" +msgstr "Skaityti „Calibre“ bibliotekos knygas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" -msgstr "" +msgstr "Iš naujo paleisti „Calibre“" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" +"Atverti katalogą, kuriame laikomi „Calibre“ bibliotekos knygų failai" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" -msgstr "" +msgstr "Siųsti knygas į prijungtą įrenginį" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" -msgstr "" +msgstr "Atverti „Calibre“ naudotojo žinyną" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" -msgstr "" +msgstr "Derinti „Calibre“" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" -msgstr "" +msgstr "Nesudėtinga panašių knygų paieška" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" -msgstr "" +msgstr "Knygas iš įrenginio kopijuoti į „Calibre“ biblioteką" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" -msgstr "" +msgstr "Tvarkyti kolekcijas, laikomas jūsų įrenginyje" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" -msgstr "" +msgstr "Knygas kopijuoti iš vienos „Calibre“ bibliotekos į kitą" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" -msgstr "" +msgstr "Atsitiktinai parinkti kokią nors „Calibre“ bibliotekos knygą" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" -msgstr "" +msgstr "Ieškoti knygų įvairiose saugyklose, parduotuvėse" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" -msgstr "" +msgstr "Ieškoti „Calibre“ papildinių arba atnaujinti esamus" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Išvaizda ir elgsena" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" -msgstr "Įrenginys" +msgstr "Sąsaja" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" -msgstr "" +msgstr "Pagal savo skonį pasikeiskite „Calibre“ išvaizdą ir elgseną" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" -msgstr "Veikimas" +msgstr "Elgsena" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" -msgstr "Pakeisti calibre veikimą" +msgstr "Pakeisti „Calibre“ elgseną" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Pridėti savo stulpelių" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "pridėti/šalinti savo stulpelius į calibre knygų sąrašą" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" -msgstr "" +msgstr "Įrankių juosta" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" -msgstr "" +msgstr "Ieškoma" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "Įvesties parinktys" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Konvertavimas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "Nustatyti konvertavimo parinktis priklausomai nuo įvesties formato" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Bendros parinktys" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "Išeities parinktys" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "Pridėti knygas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "Importavimas/eksportavimas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "Išsaugoti knygas į diską" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "Siųsti knygas į įrenginius" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "Dalytis knygas el. paštu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Įskiepiai" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Įvairūs" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -948,8 +950,8 @@ msgstr "" msgid "Disable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -959,11 +961,22 @@ msgstr "" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -975,26 +988,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1007,11 +1020,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Naujienos" @@ -1019,14 +1032,14 @@ msgstr "Naujienos" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1034,7 +1047,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1042,45 +1055,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1108,23 +1146,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1247,8 +1285,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "Katalogas" @@ -1296,10 +1334,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1340,6 +1378,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1658,17 +1697,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1676,12 +1715,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1689,7 +1728,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1701,7 +1740,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1714,10 +1753,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1774,66 +1815,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1841,7 +1882,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1850,11 +1891,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1874,55 +1915,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2047,7 +2088,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2528,7 +2569,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2837,23 +2878,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3141,15 +3182,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4100,7 +4145,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4124,27 +4169,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4180,13 +4225,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4195,9 +4241,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4207,7 +4254,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4219,8 +4266,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4332,60 +4379,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4393,13 +4440,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4409,6 +4474,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4468,12 +4574,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4500,72 +4606,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4574,14 +4680,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4606,12 +4712,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4644,7 +4750,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4769,9 +4875,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4787,11 +4893,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4834,6 +4940,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4988,7 +5098,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5110,12 +5220,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5192,8 +5302,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5314,7 +5424,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5362,7 +5472,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5376,7 +5486,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5388,12 +5498,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5533,7 +5643,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5561,7 +5671,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5602,7 +5712,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5615,96 +5725,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5723,6 +5846,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5795,75 +5919,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5939,12 +6065,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6028,8 +6154,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6065,7 +6191,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6135,15 +6261,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6248,17 +6374,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6267,185 +6404,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6562,7 +6710,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6667,7 +6815,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6679,30 +6827,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6712,11 +6860,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -6980,7 +7128,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7190,7 +7338,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7200,7 +7348,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7234,16 +7382,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7311,7 +7468,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7497,7 +7654,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7837,8 +7994,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8754,59 +8911,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8818,13 +8979,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9062,6 +9239,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9628,7 +9809,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9674,81 +9855,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9910,7 +10091,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10421,13 +10602,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10461,8 +10642,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10481,13 +10662,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10586,7 +10767,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10634,12 +10815,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10734,40 +10915,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11635,6 +11816,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11670,12 +11852,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12249,12 +12431,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12306,6 +12488,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12320,6 +12503,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13196,7 +13380,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13240,7 +13424,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13250,66 +13434,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13322,32 +13510,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13356,30 +13544,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13484,7 +13672,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13982,7 +14170,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14127,15 +14315,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14143,27 +14331,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14171,38 +14359,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14343,7 +14537,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14386,34 +14581,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14462,12 +14657,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15380,10 +15575,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15401,7 +15592,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16369,20 +16560,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16415,18 +16606,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16801,83 +16992,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17153,32 +17494,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17292,46 +17633,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17353,13 +17694,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17452,7 +17793,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17491,138 +17832,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17633,56 +17974,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17724,73 +18065,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17798,134 +18150,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18004,31 +18401,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18036,11 +18433,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18056,16 +18453,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18088,34 +18485,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18656,29 +19053,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19926,44 +20323,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19972,59 +20369,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20035,28 +20432,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20066,11 +20473,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20080,15 +20487,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20103,7 +20510,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20113,40 +20520,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20157,28 +20564,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20189,13 +20596,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20215,11 +20622,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20230,30 +20637,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20265,17 +20672,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20284,27 +20691,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20314,15 +20721,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20335,40 +20742,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20382,13 +20789,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20396,34 +20803,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20438,18 +20845,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20457,33 +20864,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20506,31 +20913,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20772,20 +21170,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20808,7 +21206,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20817,98 +21215,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20921,21 +21319,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21938,10 +22338,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22040,6 +22436,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22088,107 +22509,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22451,7 +22872,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/ltg.po b/src/calibre/translations/ltg.po index 73ed359e96..0c58443cb5 100644 --- a/src/calibre/translations/ltg.po +++ b/src/calibre/translations/ltg.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2011-05-06 12:35+0000\n" "Last-Translator: uGGa \n" "Language-Team: Latgalian \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:27+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:43+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "Pilneigi nikū nadora" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "Pilneigi nikū nadora" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "Pilneigi nikū nadora" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "Pilneigi nikū nadora" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "Pilneigi nikū nadora" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "Pilneigi nikū nadora" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "Pilneigi nikū nadora" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -325,345 +325,345 @@ msgstr "" msgid "Set metadata from %s files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -941,8 +941,8 @@ msgstr "" msgid "Disable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -952,11 +952,22 @@ msgstr "" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -968,26 +979,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1000,11 +1011,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" @@ -1012,14 +1023,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1027,7 +1038,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1035,45 +1046,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1101,23 +1137,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1240,8 +1276,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "" @@ -1289,10 +1325,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1333,6 +1369,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1651,17 +1688,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1669,12 +1706,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1682,7 +1719,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1694,7 +1731,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1707,10 +1744,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1767,66 +1806,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1834,7 +1873,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1843,11 +1882,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1867,55 +1906,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2040,7 +2079,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2521,7 +2560,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2830,23 +2869,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3134,15 +3173,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4093,7 +4136,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4117,27 +4160,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4173,13 +4216,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4188,9 +4232,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4200,7 +4245,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4212,8 +4257,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4325,60 +4370,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4386,13 +4431,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4402,6 +4465,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4461,12 +4565,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4493,72 +4597,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4567,14 +4671,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4599,12 +4703,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4637,7 +4741,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4762,9 +4866,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4780,11 +4884,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4827,6 +4931,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4981,7 +5089,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5103,12 +5211,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5185,8 +5293,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5307,7 +5415,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5355,7 +5463,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5369,7 +5477,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5381,12 +5489,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5526,7 +5634,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5554,7 +5662,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5595,7 +5703,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5608,96 +5716,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5716,6 +5837,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5788,75 +5910,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5932,12 +6056,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6021,8 +6145,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6058,7 +6182,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6128,15 +6252,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6241,17 +6365,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6260,185 +6395,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6555,7 +6701,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6660,7 +6806,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6672,30 +6818,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6705,11 +6851,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -6973,7 +7119,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7183,7 +7329,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7193,7 +7339,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7227,16 +7373,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7304,7 +7459,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7490,7 +7645,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7830,8 +7985,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8747,59 +8902,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8811,13 +8970,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9055,6 +9230,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9621,7 +9800,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9667,81 +9846,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9903,7 +10082,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10414,13 +10593,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10454,8 +10633,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10474,13 +10653,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10579,7 +10758,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10627,12 +10806,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10727,40 +10906,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11628,6 +11807,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11663,12 +11843,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12242,12 +12422,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12299,6 +12479,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12313,6 +12494,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13189,7 +13371,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13233,7 +13415,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13243,66 +13425,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13315,32 +13501,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13349,30 +13535,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13477,7 +13663,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13975,7 +14161,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14120,15 +14306,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14136,27 +14322,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14164,38 +14350,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14336,7 +14528,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14379,34 +14572,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14455,12 +14648,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15373,10 +15566,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15394,7 +15583,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16362,20 +16551,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16408,18 +16597,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16794,83 +16983,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17146,32 +17485,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17285,46 +17624,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17346,13 +17685,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17445,7 +17784,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17484,138 +17823,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17626,56 +17965,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17717,73 +18056,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17791,134 +18141,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -17997,31 +18392,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18029,11 +18424,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18049,16 +18444,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18081,34 +18476,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18649,29 +19044,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19919,44 +20314,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19965,59 +20360,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20028,28 +20423,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20059,11 +20464,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20073,15 +20478,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20096,7 +20501,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20106,40 +20511,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20150,28 +20555,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20182,13 +20587,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20208,11 +20613,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20223,30 +20628,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20258,17 +20663,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20277,27 +20682,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20307,15 +20712,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20328,40 +20733,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20375,13 +20780,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20389,34 +20794,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20431,18 +20836,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20450,33 +20855,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20499,31 +20904,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20765,20 +21161,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20801,7 +21197,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20810,98 +21206,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20914,21 +21310,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21931,10 +22329,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22033,6 +22427,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22081,107 +22500,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22444,7 +22863,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/lv.po b/src/calibre/translations/lv.po index 55a039cfa5..163ea4eb71 100644 --- a/src/calibre/translations/lv.po +++ b/src/calibre/translations/lv.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2013-01-03 19:23+0000\n" "Last-Translator: Inga V \n" "Language-Team: Latvian \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:16+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:32+0000\n" +"X-Generator: Launchpad (build 16580)\n" "X-Poedit-Country: LATVIA\n" "Language: lv\n" "X-Poedit-Language: Latvian\n" @@ -26,16 +26,16 @@ msgid "Does absolutely nothing" msgstr "Pilnīgi neko nedara" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -90,8 +90,8 @@ msgstr "Pilnīgi neko nedara" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -102,9 +102,9 @@ msgstr "Pilnīgi neko nedara" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -113,7 +113,7 @@ msgstr "Pilnīgi neko nedara" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -126,7 +126,7 @@ msgstr "Pilnīgi neko nedara" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -148,13 +148,13 @@ msgstr "Pilnīgi neko nedara" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -163,33 +163,33 @@ msgstr "Pilnīgi neko nedara" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -333,73 +333,73 @@ msgstr "Ierakstīti metadati %s failos" msgid "Set metadata from %s files" msgstr "Uzstāda metadatus no %s failiem" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "Pievieno grāmatas calibre vai pievienotajā ierícē" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "Saņemt anotācijas no pievienotā Kindle (eksperiments)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "Ģenerē bibliotēkas grāmatu katalogu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "Konvertēt grāmatas uz dažādiem e-grāmatu formātiem" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "Dzēš grāmatas no calibre bibliotēkas vai pievienotās ierīces" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "Rediģē calibre bibliotēkas grāmatu metadatus" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "Lasīt grāmatu no biblio" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "Lejupielādē ziņas no interneta kā e-grāmatu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Parāda saistīto grāmatu sarakstu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "Eksportē cietajā diskā grāmatas no calibre bibliotēkas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "Parāda grāmatas detaļas atsevišķā logā" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "Restartēt calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "Atver mapi, kas satur calibres bibliotēkas grāmatas failu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "Sūtīt grāmatas uz pievienoto ierīci" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" @@ -407,162 +407,162 @@ msgstr "" "Sūta gramatas izmantojot e-pastu vai tīmekli, vai arī pieslēdzas pie iTunes " "vai diska mapēm, tā it kā tās būtu ierīces" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "Pārlūkot calibre lietotāja rokasgrāmatu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "Pielāgot calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "Atrod grāmatas, kuras ir līdzīgas izvēlētajai" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "Parslēdzas starp calibre bibliotēkām un veic to apkopšanu." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "Kopē grāmatas no ierīces uz calibre bibliotēku" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "Labot kolekcijas, kuru grāmatas tiks pārvietotas uz ierīci" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "Kopē grāmatu no vienas calibre bibliotēkas uz citu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" "Pielāgo sīkas detaļas calibre bibliotēkā esošajiem epub vai htmlz failiem" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" "Meklējot bibliotēkā izcelšanas režīmā, atrod nākošo vai iepriekšējo rezultātu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "Izvēlas nejaušu grāmatu no calibre bibliotēkas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "Meklē grāmatas pie dažādiem grāmatu tirgotājiem" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "Iegūst jaunus calibre spraudņus vai pielāgo esošos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Izskats un sajūta" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Saskarne" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "Pielāgot calibre saskarnes izskatu un uzvedību pēc savas gaumes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "Uzvedība" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "Izmainīt calibre uzvedību" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Pievienot savas kolonnas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "Pievienot/noņemt savas kolonas calibre grāmatu sarakstam" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Rīkjosla" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" "Pielāgo rīkjoslas un konteksta izvēlnes, mainot tajās pieejamās darbības" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "Meklēšana" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "Pielāgo calbire gāmatu meklēšanas uzvedību" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "Ievades opcijas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Pārveidošana" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "Mainīt pārveidošanas uzstādījumus atsevišķiem ievades formātiem" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Kopīgas opcijas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "Uzstādīt visiem formātiem kopīgas konvertēšanas opcijas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "Izvades opcijas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "Mainīt pārveidošanas uzstādījumus atsevišķiem izvades formātiem" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "Grāmatu pievienošana" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "Importēt/Eksportēt" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "Pārvalda kā calibre lasa metadatus pievienojot grāmatas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "Grāmatu saglabāšana diskā" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -570,50 +570,50 @@ msgstr "" "Pārvalda kā calibre eksportē failus no datubāzes uz disku, izmantojot " "\"Saglabāt diskā\" funkciju" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "Grāmatu sūtīšana uz ierīcēm" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "Pārvalda failu nosūtīšanu uz e-grāmatu lasītāju" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "Metadatu komutācijas paneļi" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "Maina metadatu laukus pirms saglabāšanas/nosūtīšanas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "Šablona funkcijas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "Paplašināti" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "Ļauj izveidot savas šablona funkcijas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "Kopīgot grāmatas pa e-pastu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "Koplietošana" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -621,11 +621,11 @@ msgstr "" "Konfigurē grāmatu sūtīšanu e-pastā. Var tikt izmantots lai automātiski " "nosūtītu lejupielādētās ziņas uz ierīcēm" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "Koplietošana tīklā" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -633,57 +633,57 @@ msgstr "" "Konfigurē calibre Satura serveri, kurš ļauj, izmantojot internetu, piekļūt " "calibre bibliotēkai no jebkuras vietas un ierīces" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "Metadatu lejupielāde" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "Pārvalda kā calibre lejupielādē e-grāmatu metadatus no tīkla" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "Ignorētās iekārtas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" "Izvēlēties kuras ierīces calibre ignorēs, kad tās tiks pieslēgtas datoram" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Spraudņi" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Pievieno/noņem/pielāgo dažādus calibre funkcionalitātes aspektus" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "Uzlabojumi" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "Pielāgo calibre uzvedību dažādās situācijās" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "Tastatūra" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "Pielāgo calibre klaviatūras saīsnes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Dažādi" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "Dažādas papildus konfigurācijas iespējas" @@ -983,8 +983,8 @@ msgstr "Iespējot nosaukto spraudni" msgid "Disable the named plugin" msgstr "Atspējot nosaukto spraudni" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -994,11 +994,22 @@ msgstr "Atspējot nosaukto spraudni" msgid "Path to library too long. Must be less than %d characters." msgstr "Ceļš lídz bibliotēkai pārāk garš. Jābūt mazāk nekā %d simboliem." -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -1010,26 +1021,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "Galvenā" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "Karte A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "Karte B" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1042,11 +1053,11 @@ msgstr "Karte B" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Ziņas" @@ -1054,14 +1065,14 @@ msgstr "Ziņas" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "jā" @@ -1069,7 +1080,7 @@ msgstr "jā" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1077,45 +1088,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "vakar" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1143,23 +1179,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "Komunicē ar Android telefoniem." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "Komunicē ar S60 telefoniem." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "Komunicēt ar WebOS planšetēm." @@ -1311,8 +1347,8 @@ msgstr "" "Klikšķiniet 'Parādīt detaļas' lai apskatītu sarakstu." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "Katalogs" @@ -1366,10 +1402,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1410,6 +1446,7 @@ msgstr "Pievieno grāmatas ierīces metadatu katalogam..." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1744,17 +1781,17 @@ msgstr "" "gadījumos, kad vāka attēls ir mainīts." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "Izmantot melnbaltus vākus" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "Rādīt grāmatas kam beidzās termiņš" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1765,12 +1802,12 @@ msgstr "" "izdzēst tos ar jauno dzēšenas loģiku." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "Rādīt priekšskatījumu" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1781,7 +1818,7 @@ msgstr "" "apskatīt. Ļauj, ja jūs vēlaties redzēt / izdzēst." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "Rādīt rekomendācijas" @@ -1796,7 +1833,7 @@ msgstr "" "vēlaties redzēt / izdzēst." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1809,10 +1846,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1881,66 +1920,66 @@ msgstr "" "/>Izlasīts: %(chapter_progress)s%%
Atzīmēts: %(text)s
Piezīmes: %(annotation)s

" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "Izveidot Grāmatplauktus" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "Izdzēst Tukšos Grāmatplauktus" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1948,7 +1987,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1957,11 +1996,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1981,55 +2020,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "Komunicē ar Sweex/Kogan/Q600/Wink" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "Komunicē ar Pandigital Novel" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "Komunicē ar VelocityMicro" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "Komunicē ar GM2000" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "Komunicē ar Acer Lumiread" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "Komunicē ar Aluratek Color" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "Komunicē ar Trekstor" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "Komunicē ar EEE lasītāju" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "Komunicē ar Adam planšeti" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "Komunicē ar Nextbook lasītāju" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "Komunicē ar Moovybook lasītāju" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "Komunicē ar COBY" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "Komunicē ar Ex124G" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2157,7 +2196,7 @@ msgstr "Nook" msgid "Communicate with the Nook eBook reader." msgstr "Komunicē ar Nook e-grāmatu lasītāju." -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "Komunicē ar Nook Color, TSR un Tablet e-grāmatu lasītājiem." @@ -2675,7 +2714,7 @@ msgid "There is insufficient free space on the storage card" msgstr "Atmiņas kartē nepietiek brīvas vietas" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2996,23 +3035,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3304,15 +3343,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4286,7 +4329,7 @@ msgstr "" msgid "Set book ID" msgstr "Norāda gramatas ID" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4312,27 +4355,27 @@ msgstr "Nē" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "Nosaukums" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "Autors(i)" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "Izdevējs" @@ -4368,13 +4411,14 @@ msgstr "Komentāri" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "Birkas" @@ -4383,9 +4427,10 @@ msgstr "Birkas" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4396,7 +4441,7 @@ msgstr[1] "Sērijas" msgstr[2] "Sērijas" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4408,8 +4453,8 @@ msgstr "Laika zīmogs" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "Publicēts" @@ -4532,60 +4577,60 @@ msgstr "" "Nolasa ISBN atbilstošas grāmatas vāka attēlu/sociālos metadatus no " "LibraryThing.com\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "Vāks" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "Lejupielādē metadatus un vākus no Amazon" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "ASV" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "Francija" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "Vācija" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "Lielbritānija" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "Itālija" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "Japāna" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "Spānija" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "Izmantot Amazon:" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "Metadati tiks meklēti šīs valsts Amazon lapā." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "Amazon noildze. Mēģiniet vēlāk." @@ -4593,6 +4638,24 @@ msgstr "Amazon noildze. Mēģiniet vēlāk." msgid "Metadata source" msgstr "Metadatu avotu" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " @@ -4601,7 +4664,7 @@ msgstr "" "Lejupielādē metadatus un vākus no Douban.com. Noder vienīgi ķīniešu valodas " "grāmatām." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4611,6 +4674,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "Lejupielādē metadatus un vākus no Google Books" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "Liels" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "Lejupielādē metadatus un vākus no isbndb.com" @@ -4677,12 +4781,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "Nav iespējams apstrādāt, jo šī ir Amazon Topaz grāmata." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4709,72 +4813,72 @@ msgid "No details available" msgstr "Nav detaļas" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "Satura rādītājs" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "Titullapa" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "Indekss" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "Vārdnīca" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "Pateicības" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "Bibliogrāfija" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "Pēcvārds" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "Autortiesības" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "Veltījums" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "Epigrāfs" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "Priekšvārds" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "Ilustrāciju saraksts" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "Tabulu saraksts" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "Piezīmes" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "Priekšvārds" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "Pamatteksts" @@ -4783,14 +4887,14 @@ msgstr "Pamatteksts" msgid "%s format books are not supported" msgstr "%s formāta grāmatas netiek atbalstītas" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4815,12 +4919,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4853,7 +4957,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4978,9 +5082,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4996,11 +5100,11 @@ msgid "HTML TOC generation options." msgstr "Iestatījumi HTML satura rādītāja ģenerēšanai." #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "Vērtējums" @@ -5043,6 +5147,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "Nevarēja atrast pdftohtml. Pārbaudiet vai tas ir norādīts PATH" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5197,7 +5305,7 @@ msgid "Show this confirmation again" msgstr "Rādīt šo apstiprinājumu vēlreiz" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "Nepieciešams pārstartēt" @@ -5324,12 +5432,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5406,8 +5514,8 @@ msgstr "Pievienot bibliotēkai" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5528,7 +5636,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5576,7 +5684,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5590,7 +5698,7 @@ msgstr "Pārslēgt/izveidot bibliotēku" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5602,12 +5710,12 @@ msgid "Pick a random book" msgstr "Izvēlēties nejaušu grāmatu" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "Pārdēvēt bibliotēku" @@ -5747,7 +5855,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5775,7 +5883,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5816,7 +5924,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "Ģenerēt bibliotēkas grāmatu katalogu" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "Nav iespējams pārveidot" @@ -5829,96 +5937,109 @@ msgstr "Sāk %d grāmatu(-as) pārveidošanu" msgid "Empty output file, probably the conversion process crashed" msgstr "Tukšs rezultāta fails, iepējams, ka pārveidošanas process avarēja" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "Kopēt uz bibliotēku" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "Kopē izvēlētās grāmatas uz norādīto bibliotēku" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "(dzēst pēc kopēšanas)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "Nokopēja %(num)d grāmatas uz %(loc)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "Nevarēja nokopēt grāmatas: " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5937,6 +6058,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "Vai esat pārliecināts?" @@ -6012,75 +6134,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "Izvēlieties, kurus formātus izdzēst" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "Nevar izdzēst grāmatas" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "Neviena ierīce nav pievienota" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "Galvenā atmiņa" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "Atmiņas karte A" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "Atmiņas karte B" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "Neviena no izvēlētajām grāmatām nav ierīcē" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "Dzēš grāmatas no ierīces..." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -6156,12 +6280,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "Aptur" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "Aptur serveri. Tas var aizņemt līdz minūtei, lūdzu uzgaidiet..." @@ -6245,8 +6369,8 @@ msgstr "Neizdevās lejupielādēt metadatus" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "Lejupielāde neizdevās" @@ -6284,7 +6408,7 @@ msgid "Download complete" msgstr "Lejupielāde pabeigta" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "Lejupielādes žurnāls" @@ -6356,15 +6480,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "Uzliek mainītos metadatus" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6469,17 +6593,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6488,185 +6623,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6783,7 +6929,7 @@ msgid "Click the show details button to see which ones." msgstr "Klikšķiniet uz \"Parādīt detaļas\", lai redzētu kuras." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "Parādīt grāmatas detaļas" @@ -6888,7 +7034,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "Meklēt %s" @@ -6900,30 +7046,30 @@ msgstr "Veikali" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "Izvēlēties veikalus" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "Nav iespējams meklēt" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6933,11 +7079,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "Par \"Iegūt grāmatas\"" @@ -7201,7 +7347,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "Nav grāmatas" @@ -7411,7 +7557,7 @@ msgid "Click to open" msgstr "Klikšķiniet, lai atvērtu" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7421,7 +7567,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "Kolekcijas" @@ -7455,16 +7601,25 @@ msgstr "Atrodas" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7532,7 +7687,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7718,7 +7873,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "Nosaukums" @@ -8058,8 +8213,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "Standarta" @@ -8977,59 +9132,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -9041,13 +9200,29 @@ msgstr "" msgid " px" msgstr " px" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9285,6 +9460,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "Pārveidot" @@ -9853,7 +10032,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9899,81 +10078,81 @@ msgstr "Ierīce: " msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "Nevar nosūtīt: Neviena ierīce nav savienota" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "Nevar nosūtīt: Ierīcei nav atmiņas karte" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -10135,7 +10314,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10646,13 +10825,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10686,8 +10865,8 @@ msgid "Location" msgstr "Atrašanās vieta" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10706,13 +10885,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10811,7 +10990,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10859,12 +11038,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10959,40 +11138,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "Nokopēts" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11862,6 +12041,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11897,12 +12077,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "Meklēt" @@ -12476,12 +12656,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12533,6 +12713,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "Izdevēji" @@ -12547,6 +12728,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13423,7 +13605,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "Pabeigts" @@ -13467,7 +13649,7 @@ msgstr "Meklēt saīsni pēc nosaukuma" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "Nav rezultātu" @@ -13477,66 +13659,70 @@ msgstr "Nav rezultātu" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "Paplašinātā meklēšana" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "Shift+Ctrl+F" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13549,32 +13735,32 @@ msgstr "zvaigzne(s)" msgid "Y" msgstr "Y" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "Izmērs (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "Meklēšanas apzīmējums \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "Šīs grāmatas UUID ir \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13583,30 +13769,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "Izmērs" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13711,7 +13897,7 @@ msgid "Previous Page" msgstr "Iepriekšējā lapa" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -14216,7 +14402,7 @@ msgid "Edit Metadata" msgstr "Labot metadatus" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14361,15 +14547,15 @@ msgstr "&Kometāri" msgid "Basic metadata" msgstr "Galvenie metadati" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "Ar vāku" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "Ar aprakstu" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14377,29 +14563,29 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "Skatīt" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "calibre lejupielādē metadatus no " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "Uzgaidiet" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "Vaicā: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" "Neizdevās lejupielādēt metadatus. Lai apskatītu detaļas nospiediet \"Rādīt " "detaļas\"." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14407,40 +14593,46 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "Pašreizējais vāks" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "Meklē..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "Lūdzu uzgaidiet, lejupielādē %s vākus..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" "Neizdevās lejupielādēt nevienu vāku, nospiediet \"Parādīt detaļas\", lai " "apskatītu detaļas." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "%s nevarēja atrast nevienu vāku." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "Lejupielādē metadatus..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "Lejupielādē vāku..." @@ -14581,7 +14773,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14624,34 +14817,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "Augsta" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "Zema" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "Ļoti zema" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14700,12 +14893,12 @@ msgid "Job &priority:" msgstr "Darbu &prioritāte:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15618,10 +15811,6 @@ msgstr "Nerādīt" msgid "Small" msgstr "Mazs" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "Liels" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "Vidējs" @@ -15639,7 +15828,7 @@ msgid "Never" msgstr "Nekad" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "Pēc pirmā burta" @@ -16609,20 +16798,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "Kļūdu žurnāls:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "Piekļuves žurnāls:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16655,18 +16844,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -17041,41 +17230,51 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" -msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" +msgstr "Izveidot saglabāto meklēšanu" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "Meklēt (paplašinātai meklēšanai nospiediet pogu kreisajā pusē)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "Sākt meklēšanu" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "Ieslēgt vai izslēgt meklēšanas izcelšanu." -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "Saglabātās meklēšanas" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" "Izvēlieties saglabāto meklēšanu vai ievadiet nosaukumu jaunai saglabātajai " "meklēšanai." -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." @@ -17083,46 +17282,185 @@ msgstr "" "Saglabāt pašreizējo meklēšanu ar lauciņā parādīto nosaukumu. Lai redzētu " "iespēju izvēlni, nospiediet un turiet." -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "Izveidot saglabāto meklēšanu" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "Dzēst saglabāto meklēšanu" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "Pārvalda saglabātās meklē" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" -msgstr "*Aktīvā meklēšana" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" -msgstr "Ierobežot" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "(visas grāmatas)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -"Tiks parādītas tikai gramatas kas atbilst izvēlētajai saglabātajai meklēšanai" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " -msgstr " vai meklēšanu " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "({0} no {1})" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "({0} no visām)" @@ -17398,32 +17736,32 @@ msgstr "Lejupielādēt..." msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "Pērkot šajā veikalā Jūs atbalstat calibre izstrādātāju: %s

" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "Konfigurēt meklēšanu" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17537,46 +17875,46 @@ msgstr "" msgid "%p%" msgstr "%p%" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "Meklēšanas" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "Pārsaukt lietotāja kategoriju" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17598,13 +17936,13 @@ msgid "Manage Tags" msgstr "Pārvaldīt birkas" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "Pārvaldīt lietotāja kategorijas" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "Pārvaldīt saglabātās meklēšanas" @@ -17697,7 +18035,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "Kārtot pēc" @@ -17738,138 +18076,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "Meklēt jebko, izņemot %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "Pārvaldīt %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "Rādīt visas kategorijas" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17880,56 +18218,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17971,73 +18309,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -18045,134 +18394,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18251,31 +18645,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "&Ziedo, lai atbalstītu calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "&Atjaunot" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "Aizvērt calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "Notīrīt pašreizējo meklēšanu" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "Atkļūdošanas režīms" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18285,11 +18679,11 @@ msgstr "" "Calibre ir palaista atkļūdošanas režīmā. Pēc calibre aizvēršanas " "atkļūdošanas žurnāls būs pieejams failā %s

Fails tiks atvērts automātiski." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18305,16 +18699,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "Pārveidošanas kļūda" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18337,34 +18731,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "Aktīvie darbi" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18905,29 +19299,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -20181,44 +20575,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "Teksts, ar kuru ir atdalīti lauki. Pēc noklusējuma ir atstarpe." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "Neatļauti lauki. Pieļaujamie lauki:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "Neatļauts meklēšanas lauks. Pieejamie lauki:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -20227,59 +20621,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "Pievienot tukšu grāmatu (grāmatu bez formātiem)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "Jānorāda vismaz viens fails ko pievienot" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20290,28 +20684,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "e-grāmatas failam ir jābūt ar paplašinājumu" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20321,11 +20725,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "Jānorāda id un formāts" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20335,15 +20739,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "Jānorāda id" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20358,7 +20762,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20368,40 +20772,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20412,28 +20816,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20444,13 +20848,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20470,11 +20874,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20485,30 +20889,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20520,17 +20924,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20539,27 +20943,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20569,15 +20973,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20590,40 +20994,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20637,13 +21041,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20651,34 +21055,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20693,18 +21097,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20712,33 +21116,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20761,31 +21165,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "

Migre veco datubāzi uz e-grāmatu bibliotēku %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "Kopē %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "Blīvē datubāzi" @@ -21027,20 +21422,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "Visas grāmatas" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "Ielādē, lūdzu uzgaidiet" @@ -21063,7 +21458,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "Vidējais vērtējums" @@ -21072,98 +21467,98 @@ msgstr "Vidējais vērtējums" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "%d zvaigznes" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "Popularitāte" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "bibliotēka" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "Skatīt grāmatas pēc" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "Citi formāti" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "Detaļas" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "Atbilstošās grāmatas" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -21176,21 +21571,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -22193,10 +22590,6 @@ msgstr "am" msgid "pm" msgstr "pm" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22295,6 +22688,31 @@ msgstr "" msgid "Restart console" msgstr "Restartēt konsoli" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22343,107 +22761,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "Receptei \"%s\" nepieciešams lietotāja vārds un parole." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "Lejupielāde pabeigta" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "Neizdevās lejupielādēt šādus rakstus:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "Neizdevās lejupielādēt daļas no šiem rakstiem:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr " no " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "Saņem barotnes..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "Mēģina lejupielādēt vāku..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "Nevarēja lejupielādēt vāku: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "Lejupielādē vāku no %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "Raksti šajā numurā: " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "Nenosaukts raksts" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "Raksts lejupielādēts: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "Raksta lejupielāde neveiksmīga: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "Saņem barotni" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22709,7 +23127,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/mk.po b/src/calibre/translations/mk.po index 591be7ef18..c818bbe212 100644 --- a/src/calibre/translations/mk.po +++ b/src/calibre/translations/mk.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2011-11-26 20:57+0000\n" "Last-Translator: ScHRiLL \n" "Language-Team: Macedonian \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:17+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:33+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "Неправи апсолутно ништо" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "Неправи апсолутно ништо" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "Неправи апсолутно ништо" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "Неправи апсолутно ништо" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "Неправи апсолутно ништо" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "Неправи апсолутно ништо" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "Неправи апсолутно ништо" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -325,345 +325,345 @@ msgstr "" msgid "Set metadata from %s files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -941,8 +941,8 @@ msgstr "" msgid "Disable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -952,11 +952,22 @@ msgstr "" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -968,26 +979,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1000,11 +1011,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" @@ -1012,14 +1023,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1027,7 +1038,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1035,45 +1046,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1101,23 +1137,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1240,8 +1276,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "" @@ -1289,10 +1325,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1333,6 +1369,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1651,17 +1688,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1669,12 +1706,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1682,7 +1719,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1694,7 +1731,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1707,10 +1744,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1767,66 +1806,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1834,7 +1873,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1843,11 +1882,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1867,55 +1906,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2040,7 +2079,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2521,7 +2560,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2830,23 +2869,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3134,15 +3173,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4093,7 +4136,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4117,27 +4160,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4173,13 +4216,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4188,9 +4232,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4200,7 +4245,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4212,8 +4257,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4325,60 +4370,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4386,13 +4431,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4402,6 +4465,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4461,12 +4565,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4493,72 +4597,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4567,14 +4671,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4599,12 +4703,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4637,7 +4741,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4762,9 +4866,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4780,11 +4884,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4827,6 +4931,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4981,7 +5089,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5103,12 +5211,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5185,8 +5293,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5307,7 +5415,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5355,7 +5463,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5369,7 +5477,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5381,12 +5489,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5526,7 +5634,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5554,7 +5662,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5595,7 +5703,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5608,96 +5716,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5716,6 +5837,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5788,75 +5910,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5932,12 +6056,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6021,8 +6145,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6058,7 +6182,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6128,15 +6252,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6241,17 +6365,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6260,185 +6395,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6555,7 +6701,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6660,7 +6806,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6672,30 +6818,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6705,11 +6851,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -6973,7 +7119,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7183,7 +7329,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7193,7 +7339,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7227,16 +7373,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7304,7 +7459,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7490,7 +7645,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7830,8 +7985,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8747,59 +8902,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8811,13 +8970,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9055,6 +9230,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9621,7 +9800,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9667,81 +9846,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9903,7 +10082,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10414,13 +10593,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10454,8 +10633,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10474,13 +10653,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10579,7 +10758,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10627,12 +10806,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10727,40 +10906,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11628,6 +11807,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11663,12 +11843,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12242,12 +12422,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12299,6 +12479,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12313,6 +12494,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13189,7 +13371,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13233,7 +13415,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13243,66 +13425,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13315,32 +13501,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13349,30 +13535,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13477,7 +13663,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13975,7 +14161,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14120,15 +14306,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14136,27 +14322,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14164,38 +14350,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14336,7 +14528,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14379,34 +14572,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14455,12 +14648,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15373,10 +15566,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15394,7 +15583,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16362,20 +16551,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16408,18 +16597,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16794,83 +16983,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17146,32 +17485,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17285,46 +17624,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17346,13 +17685,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17445,7 +17784,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17484,138 +17823,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17626,56 +17965,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17717,73 +18056,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17791,134 +18141,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -17997,31 +18392,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18029,11 +18424,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18049,16 +18444,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18081,34 +18476,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18649,29 +19044,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19919,44 +20314,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19965,59 +20360,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20028,28 +20423,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20059,11 +20464,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20073,15 +20478,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20096,7 +20501,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20106,40 +20511,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20150,28 +20555,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20182,13 +20587,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20208,11 +20613,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20223,30 +20628,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20258,17 +20663,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20277,27 +20682,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20307,15 +20712,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20328,40 +20733,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20375,13 +20780,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20389,34 +20794,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20431,18 +20836,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20450,33 +20855,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20499,31 +20904,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20765,20 +21161,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20801,7 +21197,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20810,98 +21206,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20914,21 +21310,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21931,10 +22329,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22033,6 +22427,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22081,107 +22500,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22444,7 +22863,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/ml.po b/src/calibre/translations/ml.po index 6605c0dd6b..eb42d8cdd6 100644 --- a/src/calibre/translations/ml.po +++ b/src/calibre/translations/ml.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2011-08-05 17:53+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: Malayalam \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:17+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:33+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "ഒന്നും തന്നെ ചെയ്തില്ല" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "ഒന്നും തന്നെ ചെയ്തില്ല" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "ഒന്നും തന്നെ ചെയ്തില്ല" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "ഒന്നും തന്നെ ചെയ്തില്ല" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "ഒന്നും തന്നെ ചെയ്തില്ല" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "ഒന്നും തന്നെ ചെയ്തില്ല" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "ഒന്നും തന്നെ ചെയ്തില്ല" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -328,345 +328,345 @@ msgstr "" msgid "Set metadata from %s files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -947,8 +947,8 @@ msgstr "സൂചിപ്പിച്ചിട്ടുള്ള പ്ലു msgid "Disable the named plugin" msgstr "സൂചിപ്പിച്ചിട്ടുള്ള പ്ലുഗിന്‍ നിര്‍ജ്ജിവമാക്കുക" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -958,11 +958,22 @@ msgstr "സൂചിപ്പിച്ചിട്ടുള്ള പ്ലു msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -974,26 +985,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1006,11 +1017,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "വാര്‍ത്തകള്‍" @@ -1018,14 +1029,14 @@ msgstr "വാര്‍ത്തകള്‍" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1033,7 +1044,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1041,45 +1052,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1107,23 +1143,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "ആന്‍ഡ്രോയിഡ് ഫോണുകളുമായി(Android phones) സംവതിക്കുക." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1246,8 +1282,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "" @@ -1295,10 +1331,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1339,6 +1375,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1658,17 +1695,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1676,12 +1713,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1689,7 +1726,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1701,7 +1738,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1714,10 +1751,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1774,66 +1813,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1841,7 +1880,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1850,11 +1889,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1874,55 +1913,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2047,7 +2086,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "Nook eBook reader ആയി സംവദിക്കുക." -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2528,7 +2567,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2837,23 +2876,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3141,15 +3180,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4104,7 +4147,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4128,27 +4171,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4184,13 +4227,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4199,9 +4243,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4211,7 +4256,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4223,8 +4268,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4336,60 +4381,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4397,13 +4442,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4413,6 +4476,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4472,12 +4576,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4504,72 +4608,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4578,14 +4682,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4610,12 +4714,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4648,7 +4752,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4773,9 +4877,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4791,11 +4895,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4838,6 +4942,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4992,7 +5100,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5114,12 +5222,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5196,8 +5304,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5318,7 +5426,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5366,7 +5474,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5380,7 +5488,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5392,12 +5500,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5537,7 +5645,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5565,7 +5673,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5606,7 +5714,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5619,96 +5727,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5727,6 +5848,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5799,75 +5921,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5943,12 +6067,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6032,8 +6156,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6069,7 +6193,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6139,15 +6263,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6252,17 +6376,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6271,185 +6406,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6566,7 +6712,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6671,7 +6817,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6683,30 +6829,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6716,11 +6862,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -6984,7 +7130,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7194,7 +7340,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7204,7 +7350,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7238,16 +7384,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7315,7 +7470,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7501,7 +7656,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7841,8 +7996,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8758,59 +8913,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8822,13 +8981,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9066,6 +9241,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9632,7 +9811,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9678,81 +9857,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9914,7 +10093,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10425,13 +10604,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10465,8 +10644,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10485,13 +10664,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10590,7 +10769,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10638,12 +10817,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10738,40 +10917,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11639,6 +11818,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11674,12 +11854,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12253,12 +12433,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12310,6 +12490,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12324,6 +12505,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13200,7 +13382,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13244,7 +13426,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13254,66 +13436,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13326,32 +13512,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13360,30 +13546,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13488,7 +13674,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13986,7 +14172,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14131,15 +14317,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14147,27 +14333,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14175,38 +14361,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14347,7 +14539,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14390,34 +14583,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14466,12 +14659,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15384,10 +15577,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15405,7 +15594,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16373,20 +16562,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16419,18 +16608,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16805,83 +16994,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17157,32 +17496,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17296,46 +17635,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17357,13 +17696,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17456,7 +17795,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17495,138 +17834,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17637,56 +17976,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17728,73 +18067,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17802,134 +18152,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18008,31 +18403,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18040,11 +18435,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18060,16 +18455,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18092,34 +18487,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18660,29 +19055,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19930,44 +20325,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19976,59 +20371,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20039,28 +20434,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20070,11 +20475,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20084,15 +20489,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20107,7 +20512,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20117,40 +20522,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20161,28 +20566,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20193,13 +20598,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20219,11 +20624,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20234,30 +20639,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20269,17 +20674,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20288,27 +20693,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20318,15 +20723,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20339,40 +20744,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20386,13 +20791,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20400,34 +20805,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20442,18 +20847,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20461,33 +20866,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20510,31 +20915,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20776,20 +21172,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20812,7 +21208,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20821,98 +21217,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20925,21 +21321,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21942,10 +22340,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22044,6 +22438,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22092,107 +22511,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22455,7 +22874,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/mr.po b/src/calibre/translations/mr.po index b803da8f6d..ddca787140 100644 --- a/src/calibre/translations/mr.po +++ b/src/calibre/translations/mr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2011-08-05 16:46+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: Marathi \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:17+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:33+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "काहीच करत नाही" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "काहीच करत नाही" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "काहीच करत नाही" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "काहीच करत नाही" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "काहीच करत नाही" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "काहीच करत नाही" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "काहीच करत नाही" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -331,346 +331,346 @@ msgstr "%s फाईल मध्ये संबंधित मजकूर msgid "Set metadata from %s files" msgstr "%s फाईल मधला मजकूर वापरून संबंधित मजकूर तयार करा" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "दृश्य अनुभूती" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "तुमच्यानुसार मजकूर स्तंभ तयार करा" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "calibre च्या पुस्तक सूची मध्ये तुमच्यानुसार मजकूर स्तंभ तयार करा" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "टूलबार" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "तुम्च्यानुसार टूलबार व उपलभ्द मेन्यू शी निगडीत क्रिया बदला" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "शोधत आहे" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "calibre कोणत्या प्रकारे पुस्तकांमध्ये शोधते ते बदला" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "input पर्याय" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "रुपांतर" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "प्रत्येक input नुसार रुपांतर पर्याय बदला" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "नेहेमीचे पर्याय" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "सर्व formats साठी एक समान पर्याय वापरा" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "output पर्याय" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "प्रत्येक output format साठी रुपांतर पर्याय वेगळे ठेवा" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "पुस्तके समाविष्ट करत आहे" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "आयात / निर्यात" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "पुस्तके समाविष्ट करताना संबंधित मजकूर कसा वाचावा यासाठी पर्याय निवडा" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "पुस्तके disk वर लिहा" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" "calibre फाईल आपल्या database मधून disk वर कसे लिहील याचे पर्याय निवडा" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "पुस्तके या संगणकाला जोडलेल्या devices ना पाठवली जात आहेत" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "तुमच्या ebook reader वर पुस्तके कशी पाठवली जातील यासाठी पर्याय निवडा" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "संबंधित मजकुरासाठी plugboards" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "मेटाडाटा डाउनलोड" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -948,8 +948,8 @@ msgstr "" msgid "Disable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -959,11 +959,22 @@ msgstr "" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -975,26 +986,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1007,11 +1018,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "वार्ता" @@ -1019,14 +1030,14 @@ msgstr "वार्ता" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1034,7 +1045,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1042,45 +1053,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1108,23 +1144,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1247,8 +1283,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "पुस्तक सूची" @@ -1296,10 +1332,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1340,6 +1376,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1658,17 +1695,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1676,12 +1713,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1689,7 +1726,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1701,7 +1738,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1714,10 +1751,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1774,66 +1813,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1841,7 +1880,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1850,11 +1889,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1874,55 +1913,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2047,7 +2086,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2528,7 +2567,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2837,23 +2876,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3141,15 +3180,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4100,7 +4143,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4124,27 +4167,27 @@ msgstr "नाही" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "लेखक" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "प्रकाशक" @@ -4180,13 +4223,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4195,9 +4239,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4207,7 +4252,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4219,8 +4264,8 @@ msgstr "कालमुद्रा" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "प्रकाशित" @@ -4332,60 +4377,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "पृष्ठ" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4393,13 +4438,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4409,6 +4472,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "मोठे" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4468,12 +4572,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4500,72 +4604,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "मुख्यपृष्ठ" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "सूची" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "शब्दसूची" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "प्रकाशन हक्क" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "अर्पण" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "उदाहरन सूची" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "कोष्टकांची यादी" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "टिपा" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "लेखकाचे मनोगत" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4574,14 +4678,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4606,12 +4710,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4644,7 +4748,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4769,9 +4873,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4787,11 +4891,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4834,6 +4938,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4988,7 +5096,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5110,12 +5218,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5192,8 +5300,8 @@ msgstr "ग्रंथालयामध्ये शामिल करा" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5314,7 +5422,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5362,7 +5470,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5376,7 +5484,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5388,12 +5496,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5533,7 +5641,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5561,7 +5669,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5602,7 +5710,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "रुपांतर करू शकत नाही" @@ -5615,96 +5723,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "ग्रंथालयात प्रत तयार करा" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5723,6 +5844,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "तुम्हाला खात्री आहे?" @@ -5795,75 +5917,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "पुस्तके नष्ट करू शकत नाही" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "मुख्य स्मरणिका" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "नष्ट करण्यासाठी पुस्तके नाही" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5939,12 +6063,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6028,8 +6152,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6065,7 +6189,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6135,15 +6259,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6248,17 +6372,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6267,185 +6402,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6562,7 +6708,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "पुस्तकाचा तपशील दाखवा" @@ -6667,7 +6813,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6679,30 +6825,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6712,11 +6858,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -6980,7 +7126,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "पुस्तके नाही" @@ -7190,7 +7336,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7200,7 +7346,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7234,16 +7380,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7311,7 +7466,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7497,7 +7652,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7837,8 +7992,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "सामान्य" @@ -8754,59 +8909,63 @@ msgstr "" msgid "PDF Output" msgstr "PDF प्रदान" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8818,13 +8977,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9062,6 +9237,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "रुपांतर" @@ -9628,7 +9807,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9674,81 +9853,81 @@ msgstr "उपकरण: " msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "पाठवण्यासाठी निवडलेले" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "कोणतेही उपकरण नाही" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9910,7 +10089,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10421,13 +10600,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10461,8 +10640,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10481,13 +10660,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10586,7 +10765,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10634,12 +10813,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10734,40 +10913,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "प्रत तयार केली" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11635,6 +11814,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11670,12 +11850,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12249,12 +12429,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12306,6 +12486,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "प्रकाशक" @@ -12320,6 +12501,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13196,7 +13378,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13240,7 +13422,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13250,66 +13432,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13322,32 +13508,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13356,30 +13542,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13484,7 +13670,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13982,7 +14168,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14127,15 +14313,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14143,27 +14329,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14171,38 +14357,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14343,7 +14535,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14386,34 +14579,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "उच्च" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "कमी" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14462,12 +14655,12 @@ msgid "Job &priority:" msgstr "कार्य प्राथमिकता" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15380,10 +15573,6 @@ msgstr "" msgid "Small" msgstr "लहान" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "मोठे" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "मध्यम" @@ -15401,7 +15590,7 @@ msgid "Never" msgstr "कधीच नाही" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16369,20 +16558,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16415,18 +16604,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16801,83 +16990,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17153,32 +17492,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17292,46 +17631,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17353,13 +17692,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17452,7 +17791,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17491,138 +17830,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17633,56 +17972,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17724,73 +18063,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17798,134 +18148,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18004,31 +18399,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18036,11 +18431,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18056,16 +18451,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18088,34 +18483,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18656,29 +19051,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19926,44 +20321,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19972,59 +20367,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20035,28 +20430,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20066,11 +20471,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20080,15 +20485,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20103,7 +20508,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20113,40 +20518,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20157,28 +20562,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20189,13 +20594,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20215,11 +20620,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20230,30 +20635,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20265,17 +20670,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20284,27 +20689,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20314,15 +20719,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20335,40 +20740,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20382,13 +20787,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20396,34 +20801,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20438,18 +20843,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20457,33 +20862,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20506,31 +20911,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20772,20 +21168,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20808,7 +21204,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20817,98 +21213,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20921,21 +21317,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21938,10 +22336,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22040,6 +22434,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22088,107 +22507,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22451,7 +22870,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/ms.po b/src/calibre/translations/ms.po index 52efe56a4d..88e47198ed 100644 --- a/src/calibre/translations/ms.po +++ b/src/calibre/translations/ms.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2012-09-04 04:15+0000\n" "Last-Translator: abuyop \n" "Language-Team: Malay \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:17+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:34+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "Langsung tidak melakukan apa-apa" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "Langsung tidak melakukan apa-apa" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "Langsung tidak melakukan apa-apa" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "Langsung tidak melakukan apa-apa" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "Langsung tidak melakukan apa-apa" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "Langsung tidak melakukan apa-apa" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "Langsung tidak melakukan apa-apa" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -331,75 +331,75 @@ msgstr "Setkan metadata dalam fail-fail %s" msgid "Set metadata from %s files" msgstr "Setkan metadata dari fail-fail %s" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "Masuk buku ke calibre atau peranti yang dihubungkan" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "Ambil anotasi dari Kindle yang dihubungkan (eksperiment)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "Jana katalog buku-buku dari perpustakaan anda." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "Tukar buku ke pelbagai format ebook." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "Padam buku dari calibre anda atau peranti yang dihubungkan." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "Edit metadata buku-buku dari perpustakaan calibre anda." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "Baca buku-buku dari perpustakaan calibre anda." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "Muat-turun berita dari internet dalam bentuk ebook." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Papar senarai pantas buku-buku yang berkaitan." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" "Export buku-buku dari perpustakaan calibre anda ke dalam cekera keras." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "Papar butir-butir buku di popup asing." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "Restart calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" "Buka folder yang mengandungi file-file buku di dalam perpustakaan calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "Hantar buku-buku kedalam peranti yang di hubungkan." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" @@ -407,45 +407,45 @@ msgstr "" "Hantar buku melalui e-mel atau sesawang serta sambung ke iTunes atau folder " "dalam komputer anda seperti peranti" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "Layari Panduan Pengguna calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "Penyusuaian calibre." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "Cari buku-buku yang berkaitan dengan pilihan sekarang." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" "Tukar antara pelbagai perpustakaan calibre dan laksanakan penyelengaraan " "kepada mereka." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "Salin buku-buku dari peranti ke perpustakaan calibre anda." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "Edit koleksi dimana buku-buku disimpan dalam peranti" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "Salin buku dari perpustakaan calibre ke yang lain." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" "Buat suaian kecil ke epub atau file-file htmlz didalam perpustakaan calibre " "anda." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" @@ -453,233 +453,233 @@ msgstr "" "Cari padanan berikutnya atau terdahulu bila menggelintar dalam pustaka " "calibre anda dalam mod sorot" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "Pilih buku rawak dari pustaka calibre anda" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "Gelintar buku dari penjual buku yang berlainan" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -961,8 +961,8 @@ msgstr "" msgid "Disable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -972,11 +972,22 @@ msgstr "" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -988,26 +999,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1020,11 +1031,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" @@ -1032,14 +1043,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1047,7 +1058,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1055,45 +1066,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1121,23 +1157,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1260,8 +1296,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "" @@ -1309,10 +1345,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1353,6 +1389,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1671,17 +1708,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1689,12 +1726,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1702,7 +1739,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1714,7 +1751,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1727,10 +1764,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1787,66 +1826,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1854,7 +1893,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1863,11 +1902,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1887,55 +1926,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2060,7 +2099,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2541,7 +2580,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2850,23 +2889,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3154,15 +3193,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4116,7 +4159,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4140,27 +4183,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4196,13 +4239,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4211,9 +4255,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4223,7 +4268,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4235,8 +4280,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4348,60 +4393,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4409,13 +4454,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4425,6 +4488,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4484,12 +4588,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4516,72 +4620,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4590,14 +4694,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4622,12 +4726,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4660,7 +4764,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4785,9 +4889,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4803,11 +4907,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4850,6 +4954,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5004,7 +5112,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5126,12 +5234,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5208,8 +5316,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5330,7 +5438,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5378,7 +5486,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5392,7 +5500,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5404,12 +5512,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5549,7 +5657,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5577,7 +5685,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5618,7 +5726,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5631,96 +5739,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5739,6 +5860,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5811,75 +5933,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5955,12 +6079,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6044,8 +6168,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6081,7 +6205,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6151,15 +6275,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6264,17 +6388,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6283,185 +6418,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6578,7 +6724,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6683,7 +6829,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6695,30 +6841,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6728,11 +6874,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -6996,7 +7142,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7206,7 +7352,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7216,7 +7362,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7250,16 +7396,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7327,7 +7482,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7513,7 +7668,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7853,8 +8008,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8770,59 +8925,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8834,13 +8993,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9078,6 +9253,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9644,7 +9823,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9690,81 +9869,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9926,7 +10105,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10437,13 +10616,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10477,8 +10656,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10497,13 +10676,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10602,7 +10781,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10650,12 +10829,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10750,40 +10929,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11651,6 +11830,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11686,12 +11866,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12265,12 +12445,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12322,6 +12502,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12336,6 +12517,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13212,7 +13394,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13256,7 +13438,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13266,66 +13448,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13338,32 +13524,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13372,30 +13558,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13500,7 +13686,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13998,7 +14184,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14143,15 +14329,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14159,27 +14345,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14187,38 +14373,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14359,7 +14551,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14402,34 +14595,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14478,12 +14671,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15396,10 +15589,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15417,7 +15606,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16385,20 +16574,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16431,18 +16620,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16817,83 +17006,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17169,32 +17508,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17308,46 +17647,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17369,13 +17708,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17468,7 +17807,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17507,138 +17846,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17649,56 +17988,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17740,73 +18079,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17814,134 +18164,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18020,31 +18415,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18052,11 +18447,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18072,16 +18467,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18104,34 +18499,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18672,29 +19067,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19942,44 +20337,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19988,59 +20383,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20051,28 +20446,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20082,11 +20487,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20096,15 +20501,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20119,7 +20524,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20129,40 +20534,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20173,28 +20578,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20205,13 +20610,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20231,11 +20636,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20246,30 +20651,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20281,17 +20686,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20300,27 +20705,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20330,15 +20735,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20351,40 +20756,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20398,13 +20803,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20412,34 +20817,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20454,18 +20859,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20473,33 +20878,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20522,31 +20927,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20788,20 +21184,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20824,7 +21220,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20833,98 +21229,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20937,21 +21333,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21954,10 +22352,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22056,6 +22450,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22104,107 +22523,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22467,7 +22886,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/nb.po b/src/calibre/translations/nb.po index fe1eb7e6ce..e8ceec7992 100644 --- a/src/calibre/translations/nb.po +++ b/src/calibre/translations/nb.po @@ -7,32 +7,32 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" -"PO-Revision-Date: 2013-01-03 19:14+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" +"PO-Revision-Date: 2013-04-11 11:02+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: Norwegian Bokmal \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:18+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:34+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "Gjør absolutt ingenting" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "Gjør absolutt ingenting" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "Gjør absolutt ingenting" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "Gjør absolutt ingenting" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "Gjør absolutt ingenting" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "Gjør absolutt ingenting" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "Gjør absolutt ingenting" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -331,74 +331,74 @@ msgstr "Set metadata i %s filer" msgid "Set metadata from %s files" msgstr "Set metadata fra %s filer" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "Legg bøker til calibre eller til den tilkoblede enheten" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "Hent annoteringer fra en tilkoblet Kindle-enhet (til uprøving)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "Generer en katalog av bøkene som finnes i ditt calibre-bibliotek" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "Konverter bøker til forskjellige e-bokformater" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "Slett bøker fra ditt calibrebibliotek eller tilkoblede enhet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "Rediger metadata i bøker som finnes i ditt calibre-bibliotek" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "Les bøker fra ditt calibre-bibliotek" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "Last ned nyheter fra Internet i e-bokform" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Vis en liste over relaterte bøker raskt" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "Eksporter bøker fra ditt calibre-bibliotek til harddisken" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "Vis bokdetaljer i et separat popup-vindu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "Start calibre på nytt" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" "Åpne mappen som inneholder e-bokfilene som finnes i ditt calibre-bibliotek" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "Send bøker til den tilkoblete enheten" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" @@ -406,43 +406,43 @@ msgstr "" "Send bøker via e-post, web, herunder tilkoblet iTunes eller til mapper på " "din PC som om de var enheter" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "Se gjennom calibre brukermanual" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "Tilpass calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "Finn bøker enkelt, lik den nåværende valgte boken" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" "Bytt mellom forskjellige calibre-bibliotek og gjennomfør vedlikehold av dem" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "Kopier bøker fra enhet til ditt calibre-bibliotek" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "Rediger samlingen av bøker som ligger på din enhet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "Kopier en bok fra ett calibre-bibliotek til et annet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" "Gjør små endringer til epub eller htmiz-filer calibrebiblioteket ditt" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" @@ -450,56 +450,56 @@ msgstr "" "Finn den neste eller forrige treff når du søker i ditt calibre-bibliotek i " "fremhevelsesmodus" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "Velg en tilfelding bok fra calibrebiblioteket ditt" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "Søk etter bøker fra forskjellige bokforhandlere" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "Hent nye calibre-plugins eller oppdater dine eksisterende" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Utseende" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Brukergrensesnitt" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "Juster utseende for calibres brukergrensesnitt etter ditt ønske" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "Adferd" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "Endrer måten calibre oppfører seg" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Legg til dine egne kolonner" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "Legg til /fjern dine egne kolonner i calibres bokliste" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Verktøylinje" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -507,65 +507,65 @@ msgstr "" "Tilpass verktøylinjen og kontekstmenyer. Endringer med handlinger er " "tilgjengelig i hver" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "Søker" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "Tilpass måten Calibre søker etter bøker" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "Inndatavalg" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "konvertering" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "Angi spesifikke konverteringsalternativer for hvert inndata-format" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Vanlige valg" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "Angi felles konverteringsalternativer for alle formater" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "Valg for utdata" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "Angi spesifikke konverteringsalternativer for hvert utdata-format" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "Legger til bøker" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "Importér/eksportér" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Kontrollér hvordan calibre leser metadata fra filer når den legger til bøker" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "Lagrer bøker til disk" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -573,50 +573,50 @@ msgstr "" "Kontrollér hvordan calibre eksporterer filer fra dens database til disken " "når \"lagre til disk\" benyttes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "Sender bøker til enheter" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "Kontrollér hvordan calibre overfører filer til din e-bokleser" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "Instrumenttavle for metadata" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "Endre felt for metadata før lagring/sending" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "Malfunksjoner" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "Avansert" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "Lag dine egne malfunksjoner" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "Dele bøker via e-post" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "Deling" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -624,11 +624,11 @@ msgstr "" "Klargjør for deling av bøker via e-post. Kan brukes til automatisk sending " "av nedlastede nyheter til enhetene" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "Deling over nettet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -636,56 +636,56 @@ msgstr "" "Klargjør calibre innholdstjener som vil gi deg tilgang til calibres " "bibliotek fra hvor som helst, på enhver enhet, over internett" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "Nedlasting av metadata" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "Kontrollér hvordan calibre laster ned e-bok metadata fra internettet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Programtillegg" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Legg til/fjern/tilpass ulike deler av calibres funksjonalitet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "Tilpasning" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "Finjustér hvordan calibre virker i ulike sammenhenger" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "Tastatur" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "Tilpass tastatur-snarveier for calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Diverse" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "Diverse avanserte konfigurasjoner" @@ -990,8 +990,8 @@ msgstr "Slå på navngitte programtillegg" msgid "Disable the named plugin" msgstr "Slå av navngitte programtillegg" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -1001,11 +1001,22 @@ msgstr "Slå av navngitte programtillegg" msgid "Path to library too long. Must be less than %d characters." msgstr "Stien til biblioteket er for lang. Den må ha færre enn %d tegn." -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "lager tilpasset kolonne " + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -1017,26 +1028,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "Hovedvalg" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "Kort A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "Kort B" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1049,11 +1060,11 @@ msgstr "Kort B" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Nyheter" @@ -1061,14 +1072,14 @@ msgstr "Nyheter" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "merket" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "ja" @@ -1076,7 +1087,7 @@ msgstr "ja" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "nei" @@ -1084,45 +1095,70 @@ msgstr "nei" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "ikke merket" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "i dag" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "i går" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "Denne måneden" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "dager siden" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "tom" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "tom" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1150,23 +1186,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "Kommuniser med Android-telefoner." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "Kommuniser med S60 telefoner." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "Kommuniser med WebOS tablet." @@ -1313,8 +1349,8 @@ msgstr "" "Klikk \"Vis Detaljer\" for liste." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "Katalog" @@ -1365,10 +1401,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1409,6 +1445,7 @@ msgstr "Legg bøker til enhetens metadatalister..." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1740,17 +1777,17 @@ msgstr "" "nyttig dersom du har modifisert omslaget." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "Last opp svart/hvitt omslag" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "Vis utgåtte bøker" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1758,12 +1795,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1771,7 +1808,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1783,7 +1820,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1796,10 +1833,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1869,66 +1908,66 @@ msgstr "" "/>Kapittelprogresjon: %(chapter_progress)s%%
Fremhev: " "%(text)s
Notes: %(annotation)s

" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1936,7 +1975,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1945,11 +1984,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1969,55 +2008,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "Kommuniser med Sweex/Kogan/Q600/Wink" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "Kommuniser med Pandigital Novel" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "Kommuniser med VelocityMicro" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "Kommuniser med GM2000" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "Kommuniser med Acer Lumiread" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "Kommuniser med Aluratek Color" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "Kommuniser med Trekstor" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "Kommuniser med EEE Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "Kommuniser med Adam tablet" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "Kommuniser med Nextbook Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "Kommuniser med Moovybook leser" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "Kommuniser med COBY" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "Kommuniser med Ex124G" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2142,7 +2181,7 @@ msgstr "Nook" msgid "Communicate with the Nook eBook reader." msgstr "Kommuniser med Nook eBook leser" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "Kommuniser med Nook Color, TSR og Tablet eBook lesere." @@ -2661,7 +2700,7 @@ msgid "There is insufficient free space on the storage card" msgstr "Det er ikke nok ledig plass på lagringskortet" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "Gjengitt %s" @@ -3054,23 +3093,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "CSS fil brukt til utdata fremfor standardfil" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "Mal brukt til generering av html indekseringsfil fremfor standardfil" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "Mal brukt til generering av html-innhold i boken, fremfor sandardfil" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3383,15 +3422,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4530,7 +4573,7 @@ msgstr "" msgid "Set book ID" msgstr "Angi bok ID" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4556,27 +4599,27 @@ msgstr "Nei" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "Tittel" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "Forfatter(e)" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "Forlag" @@ -4612,13 +4655,14 @@ msgstr "Sammendrag:" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "Nøkkelord" @@ -4627,9 +4671,10 @@ msgstr "Nøkkelord" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4639,7 +4684,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4651,8 +4696,8 @@ msgstr "Tidstempel" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "Publisert" @@ -4782,60 +4827,60 @@ msgstr "" "representerer et linjeskift. Begynn en ny linje i den tilsvarende posisjonen " "i oversettelsen.\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "Omslagside" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "NO" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "Frankrike" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "Tyskland" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "Storbritannia" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "Amazon brukte for lang tid på å svare. Prøv igjen senere." @@ -4843,13 +4888,31 @@ msgstr "Amazon brukte for lang tid på å svare. Prøv igjen senere." msgid "Metadata source" msgstr "KIilde for metadata" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4859,6 +4922,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "Store" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "Last ned metadata fra isbnb.com" @@ -4918,12 +5022,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "Dette er en Amazon Topaz-bok. Den kan ikke koverteres." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4950,72 +5054,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "Innholdsfortegnelse" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "Tittelside" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "Innhold" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "Ordliste" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "Påskjønnelse" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "Litteraturliste" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "Kolofon" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "Opphavsrettighet" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "Tilegnet" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "Epigraf" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "Forord" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "Illustrasjonsliste" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "Tabell-liste" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "Merknader" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "Forord" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "Hovedtekst" @@ -5024,14 +5128,14 @@ msgstr "Hovedtekst" msgid "%s format books are not supported" msgstr "%s formaterte bøker er ikke støttet" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -5056,12 +5160,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -5094,7 +5198,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -5219,9 +5323,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -5237,11 +5341,11 @@ msgid "HTML TOC generation options." msgstr "HTML TOC genereringsvalg." #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "Rangering" @@ -5286,6 +5390,10 @@ msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" "Fant ikke pdftohtml, sjekk om filstien er tilstede i PATH miljøvariabelen" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5446,7 +5554,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "Gjennomfør omstart" @@ -5574,12 +5682,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5656,8 +5764,8 @@ msgstr "Legg til i biblioteket" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5779,7 +5887,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5827,7 +5935,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5841,7 +5949,7 @@ msgstr "Bytt/opprett bibliotek..." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5853,12 +5961,12 @@ msgid "Pick a random book" msgstr "Velg en tilfeldig bok" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "Hurtigbytte" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "Endre navn på bibliotek" @@ -6005,7 +6113,7 @@ msgstr "" "databasen?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -6035,7 +6143,7 @@ msgstr "Filene i biblioteket ditt samsvarer med informasjonen i databasen." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -6078,7 +6186,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "Lag en katalog av bøker i calibre-biblioteket ditt" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "Kan ikke konvertere" @@ -6091,96 +6199,109 @@ msgstr "Starter konvertering av %d bok (bøker)" msgid "Empty output file, probably the conversion process crashed" msgstr "Tøm utdatafilen. Antakeligvis har konverteringsprosessen stoppet opp" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "Velg bibliotek" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "Kopier til biblioteket" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "Kopier valgte bøker til et spesifisert bibliotek" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "(slett etter kopiering)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "Kan ikke kopiere" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "Ingen bibliotek" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "Det ble ikke funnet noe bibliotek i %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "Kunne ikke kopiere bøker: " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -6201,6 +6322,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "Er du sikker?" @@ -6274,60 +6396,60 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "Velg formater som skal fjernes" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "Kan ikke slette bøker" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "Ingen enheter er koblet til" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "Hovedminne" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "Lagring Kort A" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "Lagring Kort B" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "Ingen bøker å slette" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "Ingen av de valgte bøkene finnes på enheten" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "Sletter bøker fra enheten." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" @@ -6335,20 +6457,19 @@ msgstr "" "Noen av de valgte bøkene befinner seg på den tilkoblete enheten. " "Where ønsker du at de valgte bøkene skal slettes fra denne?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -"De valgte bøkene vil bli slettet permanent og filene vil bli fjernet " -"fra ditt calibrebibliotek. Er du sikker?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" -"De valgte bøkene vil bli slettet peremanent fra enheten. Er du sikker?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 msgid "Start wireless device connection" @@ -6423,12 +6544,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "Stopper" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "Stopper serveren. Dette kan ta flere minutter, vennligst vent..." @@ -6512,8 +6633,8 @@ msgstr "Kunne ikke laste ned metadata" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6549,7 +6670,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6633,15 +6754,15 @@ msgstr "" "bøkene vil bli permanent slettet fra ditt calibrebibliotek.

" "Er du sikker på at du vil fortsette?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6746,17 +6867,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6765,185 +6897,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "Forbedre & pynte" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -7063,7 +7206,7 @@ msgid "Click the show details button to see which ones." msgstr "Klikk vis detaljer knappen for å se hvilke." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "Vis bokdetaljer" @@ -7169,7 +7312,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -7181,30 +7324,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -7214,11 +7357,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -7488,7 +7631,7 @@ msgid "The specified directory could not be processed." msgstr "Den spesifiserte mappen kunne ikke prosesseres" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "Ingen bøker" @@ -7714,7 +7857,7 @@ msgid "Click to open" msgstr "Klikk for å åpne" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7724,7 +7867,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "Samlinger" @@ -7758,16 +7901,25 @@ msgstr "Bane" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "BibTeX valgmuligheter" @@ -7835,7 +7987,7 @@ msgstr "utdata" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -8021,7 +8173,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "Navn" @@ -8363,8 +8515,8 @@ msgid "Style the selected text block" msgstr "Formater den valgte teksten" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "Vanlig" @@ -9305,59 +9457,63 @@ msgstr "Ingen &Bilder" msgid "PDF Output" msgstr "PDF Utdata" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "&Papirstørrelse:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "Behold &aspektområdet til omslaget" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "Se&rif familie:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "&Sans familie:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "&Monospace familie:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "S&tandard tegnsett:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -9369,13 +9525,29 @@ msgstr "" msgid " px" msgstr " px" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "Monospace &tegnsettstørrelse:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9616,6 +9788,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "Konverter" @@ -10193,7 +10369,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "Ingen passende formater" @@ -10239,66 +10415,66 @@ msgstr "Enhet: " msgid " detected." msgstr " Funnet" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "Velg for å sende" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "Ingen enhet" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "Velg format for å sende til enhet" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "Kan ikke sende: Ingen enhet er koblet til" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "Ingen kort" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "Kan ikke sende: Enheten har ikke noe lagringskort" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "Autokonverter følgende bøker før du laster dem opp til enheten?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "Sender kataloger til enheten." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "Sender nyheter til enheten" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "Sender bøker til enheten." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." @@ -10307,18 +10483,18 @@ msgstr "" "ble funnet. Konverter boken/bøkene til et format som er støttet av din enhet " "først." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "Ikke plass på enheten" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" "

Kan ikke laste opp bøker til enheten da det ikke er mer ledig plass " "tilgjengelig " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -10480,7 +10656,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -11006,13 +11182,13 @@ msgid "Where do you want to delete from?" msgstr "Hvor ønsker du at slettingen skal skje?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "Bibliotek" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "Enhet" @@ -11048,8 +11224,8 @@ msgid "Location" msgstr "Lokalisering" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -11068,13 +11244,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "Inneholder ingenting" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" "Innholdet kan ikke stilles inn for å gjøre ingenting. Slett det istedet." @@ -11176,7 +11352,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "Ingen treff" @@ -11224,12 +11400,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "Feil ved forfatternavn" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "Forfatternavn kan ikke inneholde & tegn" @@ -11324,40 +11500,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "Kopiert" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -12288,6 +12464,7 @@ msgstr "Avbryter..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -12323,12 +12500,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "Søk" @@ -12912,12 +13089,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12969,6 +13146,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "Forlag" @@ -12983,6 +13161,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13882,7 +14061,7 @@ msgid "&Shortcut:" msgstr "&Snarvei:" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "Fullført" @@ -13926,7 +14105,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13936,48 +14115,52 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "Avmonter denne enheten" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "Viser bøker i calibre-biblioteket" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "Viser bøker i hovedminne til enheten" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "Viser bøker i lagringskort A" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "Viser bøker i lagringskort B" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "Slett bibliotek" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "tilgjengelig" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "Avansert søk" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "Shift+Ctrl+F" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" @@ -13985,19 +14168,19 @@ msgstr "" "

Søk i listen over bøker etter tittel, forfatter, forlegger, emneord, " "kommentarer osv.

Ord delt med mellomrom forstås som OG" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "&Kjør!" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "Gjør et Hurtigsøk (du kan også trykke Enter-tasten)" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "Tilbakestill hurtigsøk" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "Kopier gjeldende søketekst (istedet for søkenavn)" @@ -14010,32 +14193,32 @@ msgstr "" msgid "Y" msgstr "Y" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "i enheten" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "Størrelse (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "Søkenavnet er \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "Denne bokens UUID er \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -14044,30 +14227,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "I biblioteket" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "Størrelse" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "Merket for sletting" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "Dobbelklikk til rediger me

" @@ -14174,7 +14357,7 @@ msgid "Previous Page" msgstr "Forrige side" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -14694,7 +14877,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14843,15 +15026,15 @@ msgstr "&Sammendrag" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14859,27 +15042,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14887,38 +15070,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "Laster ned omslag..." @@ -15068,7 +15257,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -15111,34 +15301,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "Høy" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "Lav" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "Standard" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "Alle bekreftelsesdialoger har blitt tilbakestilt" @@ -15189,19 +15379,15 @@ msgid "Job &priority:" msgstr "oppgave&prioritet:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" -"Begrensninger som skal gjelde når det nåværende biblioteket er åpnet:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" -"Sett inn denne begrensningen når calibre starter opp, dersom gjeldende " -"bibliotek er under bruk. Benyttes også når man bytter til dette biblioteket. " -"Legg merke til gjelder hvert bibliotek. " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170 msgid "Edit metadata (single) layout:" @@ -16138,10 +16324,6 @@ msgstr "" msgid "Small" msgstr "Små" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "Store" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "Medium" @@ -16159,7 +16341,7 @@ msgid "Never" msgstr "Aldri" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "Ved første bokstav" @@ -17182,20 +17364,20 @@ msgstr "" "individuelle enheter ved å tilpasse enhetens tilleggsprogramvare (plugins) i " "preferanser->Avansert->Plugins" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "Kunne ikke starte innholdsserveren" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "Feil-logg:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "tilgangslogg:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "Du må omstarte serveren for at endringer skal kunne taes ibruk." @@ -17230,23 +17412,19 @@ msgid "Max. &OPDS items per query:" msgstr "Maksimum &OPDS enheter per spørring:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" -msgstr "Maks OPDS &undergruppert innhold" +msgid "Max. &ungrouped items:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" -msgstr "Restriksjoner (lagrede søk) som skal brukes:" +msgid "Virtual library to apply:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" -"Denne restriksjonen (basert på lagrede søk) vil holde tilbake bøker som " -"innholdsserveren gjør tilgjengelig, til dem som passer inn med søket. Denne " -"innstillingen gjelder for hvert bibliotek (f.eks. du kan ha forskjellige " -"restriksjoner for hvert bibliotek)." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 msgid "" @@ -17626,83 +17804,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "Det valgte søket vil bli permanent slettet. Er du sikker?" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "Søk (For avansert søk, klikk på knappen til venstre)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "Lagrete søk" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "Velg lagret søk eller skriv inn navnet for nytt lagret søk" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" -msgstr "Begrens til" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "(Alle bøker)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "({0} av {1})" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "({0} av alle)" @@ -17978,32 +18306,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -18119,46 +18447,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "Å endre forfattere for mange bøker kan ta tid. Er du sikker?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "Endring av metadata for mange bøker kan ta tid. Er du sikker?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "Søk" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "Dupliser søkenavn" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "Det lagrede søkenavnet %s er allerede benyttet." @@ -18180,13 +18508,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "Administrere brukerkategorier" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "Administrere lagrede søk" @@ -18279,7 +18607,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "Sorter etter" @@ -18319,138 +18647,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "Skjul kategorien %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "Vis kategorier" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "Administrere %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "Vis alle kategorier" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -18461,56 +18789,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -18552,73 +18880,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -18626,134 +18965,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18834,31 +19218,31 @@ msgstr "" "De følgende bøkene har allerede blitt konvertert til %s format. Ønsker du å " "konvertere dem på nytt?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "&Doner for å støtte Calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "&Gjenopprett" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "&Avslutt tilkoblet enhet" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "Feilsøkingsmodus" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18869,11 +19253,11 @@ msgstr "" "calibre, vil feilsøkingsloggen bli tilgjengelig i feltet: %s

Denne loggen " "vil vises automatisk." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18889,16 +19273,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "Feil ved konverteringen" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18921,23 +19305,23 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "Beskrivelse Slettet" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "Feilet" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "Det finnes aktive oppgaver. Er du sikker på at du ønsker å avslutte?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" @@ -18947,11 +19331,11 @@ msgstr "" " Å avslutte kan føre til feil på enheten.
\n" " Er du sikker på at du ønsker å avslutte?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -19504,29 +19888,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -20841,19 +21225,19 @@ msgstr "" "vennligst se søksrelatert dokumentasjon i brukermanualen. Standard er satt " "til: Ingen filtrering" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" "Maksimal bredde for enkeltlinje i utdata. Standard er: Følg skjermstørrelse." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "Strengen som brukes for å dele felt. Standard er et mellomrom." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." @@ -20861,15 +21245,15 @@ msgstr "" "Benevnelse for alle filbaner. Standard er den absolutte banen til " "bibliotekfolderen." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "Ugyldige felt. Tilgjengelige felt:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "Ugyldig sorteringsfelt. Tilgjengelige felt:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" @@ -20877,13 +21261,13 @@ msgstr "" "De følgende bøkene ble ikke lagt til, da de allerede finnes i databasen (se -" "-duplicates)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -20897,7 +21281,7 @@ msgstr "" "spesifisere mapper, se\n" "de mapperelaterte valgene under.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" @@ -20905,11 +21289,11 @@ msgstr "" "Forutsett at hver mappe har kun en enkelt logisk bok og at alle filer i " "denne mappen er forskjellige e-bokformater av den boken." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "Prosesser mappene gjentagende" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." @@ -20917,43 +21301,43 @@ msgstr "" "Legg bøker til databasen selv om de allerede finnes. Sammenligning gjøres " "basert på boktitler." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "Legg til en tom bok (en uformatert bok)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "Du må spesifisere minst en fil som skal legges til" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20964,28 +21348,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "Du må spesifisere minst en bok som skal fjernes" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" -msgstr "%prog add_format[valgmuligheter] id ebok_fil\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." +msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "Du må spesifisere en id og en e-bokfil" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "e-bokfilen må ha en filforlengelse" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -21002,11 +21396,11 @@ msgstr "" "eller TXT eller EPUB. Dersom den logiske boken ikke har en fmt tilgjengelig, " "unnlat å gjøre noe som helst.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "Du må spesifisere en id og et format" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -21021,15 +21415,15 @@ msgstr "" "Vis metadata lagret i calibres database for bøker identifisert med id.\n" "id er et id-nummer fra list kommandoen.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "Skriv ut metadata i OPF format (XML)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "Du må spesifisere en ID" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -21044,7 +21438,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -21054,40 +21448,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -21105,28 +21499,28 @@ msgstr "" "metadata (i\n" "en opf fil). Du kan få tak i ID-nummerene ved å benytte list kommandoen.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "Eksporter alle bøker i databasen, ignorer ID listen." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "Eksporter bøker til den spesifiserte mappen. Standard er" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "Eksporter alle bøker inn til en enkelt mappe" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "Ved å spesifisere denne bryteren vil det slå denne atferden av" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "Du må spesifisere noen ID'er eller %s valget" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -21143,7 +21537,7 @@ msgstr "" "kolonnen.\n" "datatype er en av: {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." @@ -21151,7 +21545,7 @@ msgstr "" "Denne kolonnen lagrer data med emneord (f.eks. flerfoldige kommaseparerte " "verdier). Gjelder kun dersom datatypen er tekst." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -21171,11 +21565,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "Du må spesifisere beskrivelse av navn og datatype" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -21194,7 +21588,7 @@ msgstr "" "utdata.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" @@ -21204,7 +21598,7 @@ msgstr "" "Om deklarert, --search er utelatt.\n" "Standard: alle" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" @@ -21214,16 +21608,16 @@ msgstr "" "vennligst se i søkerelatert dokumentasjon i brukermanualen.\n" "Standard: ingen filtrering" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "Vis detaljert utdatainformasjon. Benyttes for feilsøking" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "Feilmelding: Du må spesifisere en katalog for utdata-fil" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -21244,7 +21638,7 @@ msgstr "" " kommando.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." @@ -21252,11 +21646,11 @@ msgstr "" "Dersom kolonnen inneholder flerfoldige verdier, legg den spesifiserte " "verdien til den eksisterende, fremfor å erstatte dem." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "Feilmelding: Du må spesifisere et feltnavn, id og verdi" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -21271,27 +21665,27 @@ msgstr "" "id-er.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "Vis detaljer for hver kolonne." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "J" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -21308,15 +21702,15 @@ msgstr "" " kolonner med vustom_columns kommandoen.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "Ikke spør etter bekreftelse" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "Feilmelding: Du må spesifisere en kolonnebeskrivelse!" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -21339,42 +21733,42 @@ msgstr "" " erstattet.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "Feilmelding: Du må spesifisere en handling (Legg til|fjern|list opp)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "Navn" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "Søkestreng" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "Feilmelding: Du må spesifisere et navn og en søkestreng" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "lagt til" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "Feilmelding: Du må spesifisere et navn" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "fjernet" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" "Feilmelding: Handlingen %s ble ikke gjenkjent. Den må være en av: (legg " "til/fjern/list opp)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -21388,13 +21782,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -21402,12 +21796,12 @@ msgid "" "{0}\n" msgstr "%prog sjekk_bibliotek [valg]\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "Utdata i CSV" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" @@ -21415,7 +21809,7 @@ msgstr "" "Kommaseparert liste av rapporter.\n" "Standard: alle" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" @@ -21423,7 +21817,7 @@ msgstr "" "Kommaseparert liste av utvidelser som skal ignoreres.\n" "Standard: alle" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" @@ -21431,11 +21825,11 @@ msgstr "" "Kommaseparert liste av navn som skal ignoreres.\n" "Standard: alle" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "Ukjent rapprotsjekk" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -21464,7 +21858,7 @@ msgstr "" "hva som finnes i OPF filene.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." @@ -21472,12 +21866,12 @@ msgstr "" "Ønsker du virkelig å gjenopprette? Denne kommandoen vil ikke kjøres dersom " "dette valget ikke spesifiseres." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -21489,7 +21883,7 @@ msgstr "" "Lag en rapport av kategoriinformasjonen i databasen. \n" "Informasjonen er ekvivalent med hva som vises i emneordsfeltet.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" @@ -21497,14 +21891,14 @@ msgstr "" "List kun antallet enheter i en kategori fremfor antallet pr enhet innenfor " "kategorien" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" "Tegnsettet som omgir kategoriverdiene i CSC modus. Standard er gåseøyne(\")." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" @@ -21512,16 +21906,16 @@ msgstr "" "Kommaseparerte lister av kategorisøksnavn.\n" "Standard: alle" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" "Strengen som brukes for å skille felt i CSV modus. Standard er komma." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "KATEGORIENHETER" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -21554,31 +21948,22 @@ msgstr "" "Merkelappen kan kun inneholde små bokstaver, tall eller understrek, samt at " "den må starte med en bosktav" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "lager tilpasset kolonne " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "

Migrerer gammel database til e-bokbiblioteket i %s
" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "Kopierer %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "Komprimerer databasen" @@ -21847,20 +22232,20 @@ msgstr "" "fra Apache/nginx/osv." #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "Alle bøker" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "Nyeste" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "Laster, vennligst vent" @@ -21883,7 +22268,7 @@ msgid "Browsing %d books" msgstr "Søker i %d bøker" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "Snittvurdering" @@ -21892,98 +22277,98 @@ msgstr "Snittvurdering" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "%d stjerner" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "Popularitet" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "bibliotek" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "hjem" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "Søk bøker etter" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "Velg en kategori å søke etter:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "Søke etter" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "OPp" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "i" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "Bøker i" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "Andre formater" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "Hent" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "Detaljer" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "Fast lenke" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "En fast lenke til denne boken" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "Denne boken har blitt slettet" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "Søker" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "Bøker funnet" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -22007,23 +22392,23 @@ msgstr "" "\n" "OPDS visningsbilde averteres automatisk via Bonjour.\n" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "Sti til bibliotekfolderen som fungerer som innholdsserver" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "Skriv prosess PID til spesifisert fil" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -"Spesifiserer en restriksjon som skal benyttes for denne påkallingen. Dette " -"valget overstyrer enhver innstilling for biblioteket som er spesifisert i GUI" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -23030,10 +23415,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -23132,6 +23513,31 @@ msgstr "Koden kjøres" msgid "Restart console" msgstr "Omstart av konsoll" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "URL må ha planlagt sftp" @@ -23180,101 +23586,101 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "\"%s\"kvitteringen trenger et brukernavn og et pasord." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "Nedlasting ferdig" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "Klarte ikke å laste ned følgende artikler:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "Kunne ikke laste ned deler av den følgende artikklene" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr " fra " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "\tUgyldige lenker:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "Henter matinger..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "Funnet matinger fra indeksside" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "Forsøker å laste ned omslag..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "Genererer mastetopp..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "Starter nedlasting [%d thread(s)]..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "Matinger er lastet ned til %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "Kunne ikke laste ned omslag: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "Laster ned omslag fra %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "Mastetopp-bilde er lastet ned" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "Utittelert artikkel" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "Artikkelen har blitt lastet ned: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "Artikkelen kunne ikke lastes ned: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "Henter mating" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 msgid "" "Failed to log in, check your username and password for the calibre " "Periodicals service." @@ -23282,7 +23688,7 @@ msgstr "" "Kunne ikke logge inn. Sjekk at du benytter riktig brukernavn og passord for " "calibres periodiske service." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -23564,7 +23970,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/nds.po b/src/calibre/translations/nds.po index 8fd129641e..22dd8739a5 100644 --- a/src/calibre/translations/nds.po +++ b/src/calibre/translations/nds.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: nds\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2013-01-26 09:58+0000\n" "Last-Translator: Игорь \n" "Language-Team: German\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:18+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:34+0000\n" +"X-Generator: Launchpad (build 16580)\n" "X-Poedit-Country: GERMANY\n" "X-Poedit-Language: German\n" "Generated-By: pygettext.py 1.5\n" @@ -26,16 +26,16 @@ msgid "Does absolutely nothing" msgstr "Makt nix" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -90,8 +90,8 @@ msgstr "Makt nix" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -102,9 +102,9 @@ msgstr "Makt nix" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -113,7 +113,7 @@ msgstr "Makt nix" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -126,7 +126,7 @@ msgstr "Makt nix" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -148,13 +148,13 @@ msgstr "Makt nix" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -163,33 +163,33 @@ msgstr "Makt nix" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -334,346 +334,346 @@ msgstr "Geben Sie die Metadaten in %s Dateien an" msgid "Set metadata from %s files" msgstr "Geben Sie die Metadaten von %s Dateien an" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "Bücher zu Calibre oder dem verbundenen Gerät hinzufügen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "Anmerkungen vom verbundenen Kindle laden (experimentell)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "Erstellt ein Katalog der Bücher in die Calibre Bibliothek" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "Konvertiere Bücher in verschiedene eBook Formate" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" "Entferne Bücher aus der Calibre Bibliothek oder vom verbundenen Gerät" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Bedienungsoberfläche" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Symbolleiste" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Konvertierung" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "Erweitert" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Plugins" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -976,8 +976,8 @@ msgstr "Gewähltes Plugin einschalten" msgid "Disable the named plugin" msgstr "Gewähltes Plugin ausschalten" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -987,11 +987,22 @@ msgstr "Gewähltes Plugin ausschalten" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -1003,26 +1014,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1035,11 +1046,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Nachrichten" @@ -1047,14 +1058,14 @@ msgstr "Nachrichten" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1062,7 +1073,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1070,45 +1081,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1136,23 +1172,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "Kommunikation mit Android Telefonen." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1275,8 +1311,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "" @@ -1324,10 +1360,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1368,6 +1404,7 @@ msgstr "Füge Bücher zur Metadaten Liste des Geräts hinzu..." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1686,17 +1723,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1704,12 +1741,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1717,7 +1754,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1729,7 +1766,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1742,10 +1779,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1802,66 +1841,66 @@ msgid "" "%(text)s
Notes: %(annotation)s


" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1869,7 +1908,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1878,11 +1917,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1902,55 +1941,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2075,7 +2114,7 @@ msgstr "Der Nook" msgid "Communicate with the Nook eBook reader." msgstr "Kommunikation mit dem Nook eBook Reader." -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2560,7 +2599,7 @@ msgid "There is insufficient free space on the storage card" msgstr "Nicht genügend freier Speicherplatz auf der Speicherkarte" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "%s gerendert." @@ -2941,23 +2980,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3265,15 +3304,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4334,7 +4377,7 @@ msgstr "" msgid "Set book ID" msgstr "Geben Sie die Buch ID an" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4358,27 +4401,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "Titel" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "Autor(en)" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "Herausgeber" @@ -4414,13 +4457,14 @@ msgstr "Bemerkung" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "Etiketten" @@ -4429,9 +4473,10 @@ msgstr "Etiketten" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4441,7 +4486,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4453,8 +4498,8 @@ msgstr "Zeitstempel" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "Veröffentlicht" @@ -4580,60 +4625,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "Umschlagbild" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4641,13 +4686,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4657,6 +4720,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "Groß" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4716,12 +4820,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4748,72 +4852,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "Inhaltsverzeichnis" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "Titelseite" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "Index" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "Glossar" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "Danksagung" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "Literaturverzeichnis" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "Schlussschrift" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "Copyright" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "Widmung" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "Epigraph" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "Vorwort" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "Abbildungsverzeichnis" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "Tabellenverzeichnis" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "Anmerkungen" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "Vorwort" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "Haupttext" @@ -4822,14 +4926,14 @@ msgstr "Haupttext" msgid "%s format books are not supported" msgstr "Bücher im %s Format werden nicht unterstützt" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4854,12 +4958,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4892,7 +4996,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -5017,9 +5121,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -5035,11 +5139,11 @@ msgid "HTML TOC generation options." msgstr "Einstellungen zur Erstellung von HTML Inhaltsverzeichnissen." #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "Bewertung" @@ -5086,6 +5190,10 @@ msgstr "" "Konnte pdftohtml nicht finden, überprüfen Sie, ob es in der PATH Variable " "angegeben ist" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5248,7 +5356,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5375,12 +5483,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5457,8 +5565,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5579,7 +5687,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5628,7 +5736,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5642,7 +5750,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5654,12 +5762,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5799,7 +5907,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5827,7 +5935,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5868,7 +5976,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "Konvertierung nicht möglich" @@ -5881,96 +5989,109 @@ msgstr "Starte Konvertierung von %d Büchern" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5989,6 +6110,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "Sicher?" @@ -6061,75 +6183,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "Lösche Bücher vom Gerät." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -6205,12 +6329,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6294,8 +6418,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6331,7 +6455,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6401,15 +6525,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6514,17 +6638,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6533,185 +6668,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6829,7 +6975,7 @@ msgstr "" "Klicken Sie auf die Schaltfläche Details zeigen, um zu sehen, welche es gibt." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "Zeige Buchdetails" @@ -6935,7 +7081,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6947,30 +7093,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6980,11 +7126,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -7252,7 +7398,7 @@ msgid "The specified directory could not be processed." msgstr "Das angegebene Verzeichnis konnte nicht bearbeitet werden." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "Keine Bücher" @@ -7465,7 +7611,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7475,7 +7621,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7509,16 +7655,25 @@ msgstr "Pfad" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7586,7 +7741,7 @@ msgstr "Ausgabe" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7772,7 +7927,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "Name" @@ -8112,8 +8267,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "Normal" @@ -9047,59 +9202,63 @@ msgstr "Keine B&ilder" msgid "PDF Output" msgstr "PDF Ausgabe" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "&Papiergröße:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "Se&rife Schriftartfamilie:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "&Serifenlose Schriftartfamilie:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "Nichtproportionale (&monospace) Schriftartfamilie:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "S&tandardschrift:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -9111,13 +9270,29 @@ msgstr "" msgid " px" msgstr " Pixel" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "Nichtproportionale Schri&ftgröße:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9357,6 +9532,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "Konvertieren" @@ -9934,7 +10113,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "Keine geeigneten Formate" @@ -9980,67 +10159,67 @@ msgstr "Gerät: " msgid " detected." msgstr " gefunden." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "zum Übertragen ausgewählt" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "Kein Gerät" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "Format wählen, das ans Gerät geschickt wird" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "Übertragung schlug fehl: Kein Gerät verbunden" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "Keine Speicherkarte" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "Übertragung schlug fehl: Keine Speicherkarte im Gerät" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" "Die folgenden Bücher vor dem Laden auf das Gerät automatisch konvertieren?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "Sende Nachrichten an das Gerät." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "Sende Bücher an das Gerät." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." @@ -10049,18 +10228,18 @@ msgstr "" "fehlen. Konvertieren Sie die Bücher zuerst in ein von Ihrem Gerät " "unterstütztes Format." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "Gerätespeicher voll" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" "

Es können keine Bücher mehr auf das Gerät geladen werden, da der " "Gerätespeicher voll ist " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -10222,7 +10401,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10734,13 +10913,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10774,8 +10953,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10794,13 +10973,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10899,7 +11078,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "Keine Treffer gefunden" @@ -10947,12 +11126,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -11047,40 +11226,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "Kopiert" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11952,6 +12131,7 @@ msgstr "Abbruch läuft ..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11987,12 +12167,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "Suche" @@ -12572,12 +12752,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12629,6 +12809,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "Herausgeber" @@ -12643,6 +12824,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13541,7 +13723,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13585,7 +13767,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13595,48 +13777,52 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "Erweiterte Suche" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" @@ -13645,19 +13831,19 @@ msgstr "" "Kommentaren, etc.

Durch Leerzeichen getrennte Worte werden mit UND " "verknüpft" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "Quick Search löschen" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13670,32 +13856,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "Größe (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13704,30 +13890,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "Doppelklick ermöglicht Bearbeitung

" @@ -13834,7 +14020,7 @@ msgid "Previous Page" msgstr "Vorherige Seite" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -14332,7 +14518,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14477,15 +14663,15 @@ msgstr "&Bemerkungen" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14493,27 +14679,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14521,38 +14707,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "Lade Umschlagbild..." @@ -14696,7 +14888,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14739,34 +14932,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "Hoch" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "Niedrig" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "Voreinstellung" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14819,12 +15012,12 @@ msgid "Job &priority:" msgstr "Auftrags&priorität:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15740,10 +15933,6 @@ msgstr "" msgid "Small" msgstr "Klein" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "Groß" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "Mittel" @@ -15761,7 +15950,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16746,20 +16935,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "Content Server konnte nicht gestartet werden" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "Fehler Log:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "Zugriffs-Protokolldatei:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16794,18 +16983,18 @@ msgid "Max. &OPDS items per query:" msgstr "Maximale &ODPS Einträge pro Anfrage:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -17183,83 +17372,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "Suche (Zur erweiterten Suche die Schaltfläche links klicken)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17535,32 +17874,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17674,46 +18013,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17735,13 +18074,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17834,7 +18173,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17873,138 +18212,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -18015,56 +18354,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -18106,73 +18445,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -18180,134 +18530,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18388,31 +18783,31 @@ msgstr "" "Die folgenden Bücher wurden schon in das %s Format konvertiert. Möchten Sie " "sie erneut konvertieren?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "Spen&den Sie, um Calibre zu unterstützen" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "&Wiederherstellen" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18420,11 +18815,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18440,16 +18835,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "Konvertierungsfehler" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18472,24 +18867,24 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "Misslungen" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" "Es bestehen aktive Aufträge. Sind Sie sicher, dass sie es beenden wollen?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" @@ -18500,11 +18895,11 @@ msgstr "" "verursachen.
\n" " Sind Sie sicher, dass sie beenden möchten?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -19051,29 +19446,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -20363,8 +20758,8 @@ msgstr "" "sehen Sie sich bitte die Dokumentation, die die Suche betrifft, im " "Benutzerhandbuch an. Voreinstellung ist, keine Filterung durchzuführen." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." @@ -20372,13 +20767,13 @@ msgstr "" "Maximale Breite einer einzelnen Zeile in der Ausgabe. In der Voreinstellung " "wird die Bildschirmgröße erkannt." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" "Zeichenfolge zur Unterscheidung der Felder. Die Voreinstellung ist ein " "Leerzeichen." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." @@ -20386,15 +20781,15 @@ msgstr "" "Der Vorsatzcode zu allen Dateipfaden. Die Voreinstellung ist der absolute " "Pfad zum Bibliotheksverzeichnis." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "Ungültige Felder. Verfügbare Felder:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "Ungültiges Sortierungs-Feld. Verfügbare Felder:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" @@ -20402,13 +20797,13 @@ msgstr "" "Die folgenden Bücher wurden nicht hinzugefügt, da sie schon in der Datenbank " "vorhanden sind (siehe --duplicates Option):" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -20422,7 +20817,7 @@ msgstr "" "Verzeichnisse angeben, vergleichen\n" "Sie dazu die auf Verzeichnisse bezogenen Optionen unten.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" @@ -20431,11 +20826,11 @@ msgstr "" "und alle Dateien in diesem Verzeichnis sind verschiedene eBook Formate " "dieses einzelnen Buches" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "Verzeichnisse rekursiv verarbeiten" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." @@ -20443,44 +20838,44 @@ msgstr "" "Füge Bücher zur Datenbank hinzu, auch wenn diese schon vorhanden sind. Der " "Abgleich erfolgt aufgrund des Titels der Bücher." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" "Sie müssen wenigstens eine Datei auswählen, die hinzugefügt werden soll" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20491,33 +20886,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "Sie müssen wenigstens ein Buch auswählen, das entfernt werden soll" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" -"%prog add_format [options] ID ebook_datei\n" -"\n" -"Fügt das eBook der ebook_datei zu den verfügbaren Formaten des durch die ID " -"gekennzeichneten logischen Buches hinzu. Sie erhalten die ID durch den list " -"Befehl. Falls das Format schon vorhanden ist, wird es ersetzt.\n" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "Sie müssen eine ID und eine eBook Datei angeben" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "eBook Datei muss eine Endung haben" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20534,11 +20934,11 @@ msgstr "" "eine Dateiendung wie LRF oder TXT oder EPUB sein. Falls das logische Buch im " "entsprechenden Format nicht vorliegt, passiert gar nichts.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "Sie müssen eine ID und ein Format (Dateiendung) angeben" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20554,15 +20954,15 @@ msgstr "" "ID angegebene Buch.\n" "ID ist eine ID Nummer des Befehls list.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "Drucke Metadaten als OPF (XML)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "Sie müssen eine ID angeben" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20577,7 +20977,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20587,40 +20987,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20638,29 +21038,29 @@ msgstr "" "Metadaten (in\n" "einer opf Datei). Die ID Nummern erhalten Sie mit dem Befehl list.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" "Exportiere alle Bücher der Datenbank, die Liste der IDs wird ignoriert." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "Exportiere Bücher in das angegebene Verzeichnis. Voreinstellung ist" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "Exportiere alle Bücher in ein einziges Verzeichnis" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "Die Betätigung dieses Schalters stellt das Verhalten aus." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "Sie müssen IDs oder die %s Option angeben" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20671,13 +21071,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20697,11 +21097,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20712,30 +21112,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "Zeige detailierte Ausgabeinformation. Hilfreich zur Fehlersuche." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20747,17 +21147,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20766,27 +21166,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20796,15 +21196,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20817,40 +21217,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20864,13 +21264,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20878,34 +21278,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20920,18 +21320,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20939,33 +21339,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20996,31 +21396,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "

Migriere alte Datenbank zu eBook Bibliothek in %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "Kopiere %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "Komprimiere Datenbank" @@ -21279,20 +21670,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -21315,7 +21706,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -21324,98 +21715,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -21428,21 +21819,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -22454,10 +22847,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22556,6 +22945,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "URL muss dem sftp Schema entsprechen" @@ -22605,107 +23019,107 @@ msgid "The \"%s\" recipe needs a username and password." msgstr "" "Das \"%s\" Downloadschema benötigt einen Benutzernamen und ein Passwort." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "Download beendet" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "Der Download der folgenden Artikel schlug fehl:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "Der Download von Teilen der folgenden Artikel schlug fehl:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr " von " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "\tFehlgeschlagene Verknüpfungen:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "Rufe Feeds ab..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "Feeds der Index Seite erhalten" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "Versuche Umschlagbild zu laden..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "Starte Download von [%d Thread(s)]..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "Feeds wurden nach %s heruntergeladen" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "Konnte Umschlagbild nicht laden: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "Lade Umschlagbild von %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "Artikel ohne Titel" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "Artikel geladen: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "Laden der Artikel schlug fehl: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "Rufe Feed ab" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22987,7 +23401,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/nl.po b/src/calibre/translations/nl.po index 634632526c..72dff099ed 100644 --- a/src/calibre/translations/nl.po +++ b/src/calibre/translations/nl.po @@ -56,16 +56,16 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" -"PO-Revision-Date: 2013-04-02 18:24+0000\n" -"Last-Translator: drMerry \n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" +"PO-Revision-Date: 2013-04-11 11:16+0000\n" +"Last-Translator: Kovid Goyal \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-04-03 05:26+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:26+0000\n" +"X-Generator: Launchpad (build 16580)\n" "X-Poedit-Country: NETHERLANDS\n" "X-Poedit-Language: Dutch\n" @@ -81,16 +81,16 @@ msgid "Does absolutely nothing" msgstr "Doet helemaal niets" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -145,8 +145,8 @@ msgstr "Doet helemaal niets" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -157,9 +157,9 @@ msgstr "Doet helemaal niets" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -168,7 +168,7 @@ msgstr "Doet helemaal niets" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -181,7 +181,7 @@ msgstr "Doet helemaal niets" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -203,13 +203,13 @@ msgstr "Doet helemaal niets" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -218,33 +218,33 @@ msgstr "Doet helemaal niets" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -382,74 +382,74 @@ msgstr "Metadata van e-book uit ZIP-archieven lezen" msgid "Set metadata in %s files" msgstr "Metadata van %s-bestanden instellen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "Boeken toevoegen aan calibre of verbonden apparaat" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "Annotaties van een verbonden Kindle verkrijgen (experimenteel)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "Een catalogus maken van boeken in uw calibre bibliotheek" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "Boeken naar verschillende e-book formaten converteren" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "E-boeken afwerken" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "Bewerk de inhoudsopgave in uw boeken" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "Verwijder boeken uit uw calibrebibliotheek of verbonden apparaat" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "Bewerk de metadata van boeken in uw calibrebibliotheek" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "Gelezen boeken in uw calibrebibliotheek" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "Nieuws van het Internet downloaden in e-bookformaat" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Toon snel een lijst van gerelateerde boeken" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "Exporteer boeken van uw calibrebibliotheek naar de harde schijf" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "Toon details van boeken in een aparte popup" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "Herstart calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" "Open de map waar de boekbestanden in uw calibre bibliotheek zich bevinden" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "Verstuur boeken naar het verbonden apparaat" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" @@ -457,45 +457,45 @@ msgstr "" "Stuur boeken via e-mail of het web, tevens verbinden met iTunes of mappen op " "uw computer alsof het apparaten zijn" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "Blader door de handleiding van calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "Calibre aanpassen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" "Gemakkelijk overeenkomende boeken vinden op basis van het geselecteerde boek" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" "Wissel tussen verschillende calibrebibliotheken en voer er onderhoud op uit" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "Kopieer boeken van het apparaat naar uw calibre bibliotheek" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "Bewerk de collecties waar de boeken zich in bevinden op uw apparaat" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "Kopieer een boek van de ene calibre bibliotheek naar een andere" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" "Make kleine aanpassingen aan epub of htmlz bestanden in uw calibre " "bibliotheek" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" @@ -503,57 +503,57 @@ msgstr "" "Vind het volgende of vorige resultaat indien gezocht wordt in uw calibre-" "bibliotheek gebruikmakend van de markeer modus" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "Kies een willekeurig boek uit uw calibre bibliotheek" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "Zoek naar boeken van diverse boekwinkels" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "Verkrijg nieuwe calibre plugins of werk uw huidige plugins bij" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Uiterlijk en gedrag" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Interface" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "Pas uiterlijk en gedrag van calibre aan uw eigen smaak aan" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "Gedrag" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "Wijzig het gedrag van calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Voeg eigen kolommen toe" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" "Eigen kolommen aan de calibre boekenlijst toevoegen of eruit verwijderen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Werkbalk" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -561,65 +561,65 @@ msgstr "" "Pas de werkbalken en contextmenu's aan en verander daarmee de beschikbare " "acties" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "Zoeken" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "Pas de manier waarop calibre naar boeken zoekt aan" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "Invoeropties" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Conversie" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "Stel de conversie-instellingen voor elk specifiek invoerformaat in" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Algemene opties" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "Stel de conversie-instellingen die voor elk invoerformaat gelden in" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "Uitvoeropties" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "Stel de conversie-instellingen voor elk specifiek uitvoerformaat in" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "Boeken toevoegen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "Importeren/Exporteren" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Stel in hoe calibre metadata uit bestanden leest als boeken worden toegevoegd" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "Boeken op schijf bewaren" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -627,50 +627,50 @@ msgstr "" "Stel in hoe calibre bestanden uit de database op schijf bewaart als u " "'Opslaan op schijf' gebruikt" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "Boeken naar apparaten sturen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "Stel in hoe calibre de bestanden naar uw e-reader verstuurt" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "Metadata adapters" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "Wijzig metadata vóór opslaan/versturen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "Sjabloonfuncties" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "Geavanceerd" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "Maak uw eigen sjabloonfuncties" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "Deel boeken via e-mail" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "Delen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -678,11 +678,11 @@ msgstr "" "Configureer het delen van boeken via e-mail. Dit kan gebruikt worden om " "gedownload nieuws automatisch naar uw apparaten te sturen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "Delen via (Inter)net" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -690,20 +690,20 @@ msgstr "" "Configureer de calibre-inhoudsserver, waarmee u overal vandaan, met elk " "apparaat, via het Internet toegang heeft tot uw calibre-bibliotheek" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "Metadata downloaden" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "Stel in hoe calibre e-boek metadata van het Internet dowload" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "Genegeerde apparaten" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." @@ -711,37 +711,37 @@ msgstr "" "Bepaal welke apparaten calibre zal negeren als deze worden verbonden aan de " "computer." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Plug-ins" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Diverse (deel)functies van calibre toevoegen/verwijderen/aanpassen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "Aanpassingen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "Stem af hoe calibre zich in bepaalde situaties gedraagt" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "Toetsenbord" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "Sneltoetsen die calibre gebruikt aanpassen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Diversen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "Diverse geavanceerde instellingen" @@ -1054,8 +1054,8 @@ msgstr "Activeer de genoemde plug-in" msgid "Disable the named plugin" msgstr "Deactiveer de genoemde plug-in" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -1065,11 +1065,22 @@ msgstr "Deactiveer de genoemde plug-in" msgid "Path to library too long. Must be less than %d characters." msgstr "Pad naar bibliotheek is te lang. Moet minder dan %d tekens zijn." -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "voorkeuren hersteld " + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "aangepaste kolom aanmaken " + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -1081,26 +1092,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "%(tt)sGemiddelde waardering is %(rating)3.1f" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "Hoofdgeheugen" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "Geheugenkaart A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "Geheugenkaart B" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1113,11 +1124,11 @@ msgstr "Geheugenkaart B" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Nieuws" @@ -1125,14 +1136,14 @@ msgstr "Nieuws" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "aangevinkt" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "ja" @@ -1140,7 +1151,7 @@ msgstr "ja" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "nee" @@ -1148,45 +1159,70 @@ msgstr "nee" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "niet aangevinkt" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "vandaag" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "gisteren" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "dezemaand" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "dagengeleden" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "leeg" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "blanco" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "Foutieve boolean opdracht \"{0}\"" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1220,7 +1256,7 @@ msgstr "Geen plugin gevonden met de naam %s" msgid "Communicate with Android phones." msgstr "Communiceer met Android telefoons." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" @@ -1229,7 +1265,7 @@ msgstr "" "waar E-boeken moeten worden geplaatst. De eerste map die bestaat zal worden " "gebruikt" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" @@ -1238,11 +1274,11 @@ msgstr "" "E-boeken moeten worden geplaatst. De eerste map die bestaat zal worden " "gebruikt" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "Communiceer met S60 telefoons." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "Communiceer met WebOS tablets." @@ -1396,8 +1432,8 @@ msgstr "" "Klik op ‘Toon details’ voor een overzicht." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "Catalogus" @@ -1453,10 +1489,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1497,6 +1533,7 @@ msgstr "Boeken aan metadatalijst op apparaat toevoegen..." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1832,17 +1869,17 @@ msgstr "" "is handig als u de omslag hebt gewijzigd." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "Upload zwart/wit omslag" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "Toon verlopen boeken" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1854,12 +1891,12 @@ msgstr "" "manier." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "Toon voorbeelden" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1870,7 +1907,7 @@ msgstr "" "ze te tonen. Schakel dit in als u de voorbeelden wilt zien of wilt wissen." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "Toon aanbevelingen" @@ -1885,7 +1922,7 @@ msgstr "" "of verwijderen." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "Probeer de nieuwe firmware te ondersteungen" @@ -1903,10 +1940,12 @@ msgstr "" "van software." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "Kobo database versie niet ondersteund - Zie details" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1987,19 +2026,19 @@ msgstr "" "/>Hoofdstuk voortgang: %(chapter_progress)s%%
Markering: " "%(text)s
Notities: %(annotation)s

" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "De Kobo Touch ondersteunt vanaf firmware V2.0.0 boekenplanken" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "Specificeer een label type kolom voor automatisch beheer" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "Boekenplanken maken" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." @@ -2007,11 +2046,11 @@ msgstr "" "Maak, als deze niet bestaan, nieuwe boekenplanken op de Kobo Touch. Dit geld " "enkel voor firmware v2.0.0 of later." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "Verwijder lege boekenplanken" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." @@ -2019,11 +2058,11 @@ msgstr "" "Verwijder alle lege boekenplanken van de Kobo Touch zodra de synchronisatie " "is voltooid. Dit is enkel voor firmware v2.0.0 of later." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "Omslagen voor boeken uploaden" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." @@ -2031,11 +2070,11 @@ msgstr "" "Omslag afbeelding van calibre bibliotheek meesturen als een boek naar het " "apparaat wordt gestuurd" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "Bewaar verhoudingen omslag" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." @@ -2044,7 +2083,7 @@ msgstr "" "verhoudingen tijdens het schalen voor het apparaat. Dit is van toepassing " "voor firmware versie 2.3.1 en later." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " @@ -2054,11 +2093,11 @@ msgstr "" "andere gevallen zijn het enkel verwijzingen naar de koop-website. Bevestigen " "om ze te bekijken of te verwijderen." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "Series informatie instellen" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -2070,7 +2109,7 @@ msgstr "" "informatie can enkel aan het apparaat worden toegevoegd nadat het boek is " "verwerkt door het apparaat. Schakel in als u serie informatie wilt instellen." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -2084,11 +2123,11 @@ msgstr "" "met herstellen naar de fabrieks-instellingen van de kobo en met test " "software. Deze driver ondersteund firmware V2.x.x en DBVersies tot en met " -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "Titel om te testen tijdens debugging" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -2111,55 +2150,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "Communiceer met de Sweex/Kogan/Q600/Wink" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "Communiceer met de Pandigital Novel" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "Communiceer met de VelocityMicro" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "Communiceer met de GM2000" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "Communiceer met de Acer Lumiread" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "Communiceer met de Aluratek Color" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "Communiceer met de Trekstor" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "Communiceer met de EEE Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "Communiceer met de Adam tablet" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "Communiceer met de Nextbook Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "Communiceer met de Moovybook e-reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "Communiceer met de COBY" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "Communiceer met de Ex124G" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "Communiceer met de WayteQ en SPC Dickens E-readers" @@ -2287,7 +2326,7 @@ msgstr "De Nook" msgid "Communicate with the Nook eBook reader." msgstr "Communiceer met de Nook e-reader." -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "Communiceer met de Nook Color, TSR en Tablet eBook readers." @@ -2850,7 +2889,7 @@ msgid "There is insufficient free space on the storage card" msgstr "Er is onvoldoende vrije ruimte op de geheugenkaart" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "Gegenereerd %s" @@ -3268,13 +3307,13 @@ msgstr "" "mappenstructuur. Gebruik deze optie alleen als u weet wat u doet: hij kan " "wat nare bijwerkingen hebben in de rest van de conversieketen." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" "CSS-bestand dat gebruikt word voor de uitvoer, in plaats van het " "standaardbestand" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" @@ -3282,7 +3321,7 @@ msgstr "" "Sjabloon gebruikt voor het maken van een html-indexbestand, in plaats van " "het standaardbestand" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" @@ -3290,7 +3329,7 @@ msgstr "" "Sjabloon gebruikt voor het maken van de html-inhoud van het boek, in plaats " "van het standaardbestand" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3656,22 +3695,20 @@ msgstr "" "voorrang op deze optie." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" -"Een HTML sjabloon te gebruiken om voetteksten te genereren op iedere pagina. " -"De string _PAGENUM_ zal worden vervangen door het nummer van de huidige " -"pagina." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" -"Een HTML sjabloon te gebruiken om kopteksten te genereren voor iedere " -"pagina. De string _PAGENUM_ zal worden vervangen door het nummer van de " -"huidige pagina." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 msgid "" @@ -4909,7 +4946,7 @@ msgstr "" msgid "Set book ID" msgstr "Geef boek-ID op" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4935,27 +4972,27 @@ msgstr "Nee" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "Titel" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "Auteur(s)" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "Uitgever" @@ -4991,13 +5028,14 @@ msgstr "Opmerkingen" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "Labels" @@ -5006,9 +5044,10 @@ msgstr "Labels" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -5018,7 +5057,7 @@ msgstr[0] "Reeksen" msgstr[1] "Reeksen" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -5030,8 +5069,8 @@ msgstr "Tijdsaanduiding" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "Gepubliceerd" @@ -5174,62 +5213,62 @@ msgstr "" "Haal een omslagafbeelding of sociale metadata (labels, waarderingen, enz) op " "van LibraryThing.com voor het met het ISBN aangeduide boek op\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "Omslag" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "Download metadata en omslagen van Amazon" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "Verenigde Staten" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "Frankrijk" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "Duitsland" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "Verenigd Koninkrijk" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "Italië" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "Japan" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "Spanje" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "Brazilië" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "Amazon website om te gebruiken:" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" "Metadata van Amazon worden opgehaald met gebruik van de Amazon-website van " "dit land." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "Time-out van Amazon. Probeer later opnieuw." @@ -5237,6 +5276,24 @@ msgstr "Time-out van Amazon. Probeer later opnieuw." msgid "Metadata source" msgstr "Externe metadatabron" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " @@ -5245,7 +5302,7 @@ msgstr "" "Download metadata en omslagen van Douban.com. Alleen nuttig voor boeken in " "het Chinees." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -5257,6 +5314,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "Download metadata en omslagen van Google boeken" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "Groot" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "Download metadata van isbndb.com" @@ -5329,12 +5427,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "Dit is een Amazon Topaz boek. Het kan niet verwerkt worden." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "Dit is geen MOBI bestand maar een Topaz bestand." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "Dit is geen MOBI bestand." @@ -5367,72 +5465,72 @@ msgid "No details available" msgstr "Geen details beschikbaar" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "Inhoudsopgave" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "Titelpagina" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "Index" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "Verklarende woordenlijst" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "Dankwoord" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "Bibliografie" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "Colofon" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "Copyright" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "Opgedragen aan" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "Epigraaf" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "Voorwoord" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "Lijst met afbeeldingen" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "Lijst met tabellen" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "Aantekeningen" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "Voorwoord" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "Hoofdtekst" @@ -5441,7 +5539,7 @@ msgstr "Hoofdtekst" msgid "%s format books are not supported" msgstr "boeken in %s-formaat worden niet ondersteund" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " @@ -5451,7 +5549,7 @@ msgstr "" "van Amazon. Calibre kan enkel MOBI bestanden bewerken in KF8-formaat. Oudere " "MOBI bestanden zonder KF8 zijn niet te bewerken." -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -5478,28 +5576,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" -"

Boeken bijschaven draait om het toevoegen van de glans van " -"perfectie\n" -"aan uw zorgzaam samengestelde E-boeken.

\n" -"\n" -"

Bijschaven probeert de aanpassingen in van de interne code van uw\n" -"E-boek te minimalizeren.\n" -"Anders dan bij conversie, wordt geen css herschreven, bestand " -"hernoemd,\n" -"lettergrootte aangepast, marche veranderd, enz. Iedere actie voert enkel\n" -"het minimaal aantal wijzigingen door om het gewenste effect te " -"bereiken.

\n" -"\n" -"

U dient deze functie als laatste stap te gebruiken bij de ontwikkeling " -"van uw E-boek.

\n" -"\n" -"

NB, bijschaven werkt enkel bij bestanden in de %s formaten.

\n" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -5550,11 +5632,8 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" -"

Voeg een 'inlegvel' aan het begin van een boek toe met alle\n" -"metadata van het zoek zoals titel, labels, auteurs, series, commentaar,\n" -"enz.

" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 msgid "

Remove a previous inserted book jacket page.

\n" @@ -5689,9 +5768,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "De referentie %(a)s bestaat niet in bestand %(f)s" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "(Naamloos)" @@ -5707,11 +5786,11 @@ msgid "HTML TOC generation options." msgstr "Opties voor aanmaken HTML-inhoudsopgave." #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "Waardering" @@ -5758,6 +5837,10 @@ msgstr "Pagina %d" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "Kan pdftohtml niet vinden, controleer of het in uw PATH aanwezig is" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5926,7 +6009,7 @@ msgid "Show this confirmation again" msgstr "Deze vraag blijven tonen" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "Herstart vereist" @@ -6053,12 +6136,12 @@ msgstr "Beheer het toevoegen van boeken." #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -6141,8 +6224,8 @@ msgstr "Aan bibliotheek toevoegen" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -6271,7 +6354,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "Selecteer een bestemming voor %(title)s.%(fmt)s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -6322,7 +6405,7 @@ msgid "No existing calibre library found at %s" msgstr "Geen bestaande calibre bibliotheek gevonden op %s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "Bibliotheek kiezen" @@ -6336,7 +6419,7 @@ msgstr "Verwissel/maak bibliotheek…" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -6348,12 +6431,12 @@ msgid "Pick a random book" msgstr "Kies een willekeurig boek" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "Snel schakelen" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "Bibliotheek hernoemen" @@ -6511,7 +6594,7 @@ msgstr "" "de database?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -6541,7 +6624,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -6585,7 +6668,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "Creëer een catalogus van de boeken in uw bibliotheek" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "Kan niet converteren" @@ -6598,89 +6681,102 @@ msgstr "Conversie van %d boek(en) starten" msgid "Empty output file, probably the conversion process crashed" msgstr "Leeg uitvoerbestand, waarschijnlijk is het conversieproces gecrasht" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "%(title)s door %(author)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "Bibliotheek kiezen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "Bibliotheek &pad:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "Zoek een bibliotheek" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" -msgstr "&Wis na kopie" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" +msgstr "&Kopiëren" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "Naar bibliotheek kopiëren" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "Kopieer geselecteerde boeken naar de aangegeven bibliotheek" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "(Verwijder na kopiëren)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "Kies bibliotheek pad..." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "Kan niet kopiëren" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "Kan niet kopiëren naar huidige bibliotheek." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "Geen bibliotheek" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "Geen bibliotheek gevonden in %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "Kopiëren naar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "Verplaatsen naar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "Boeken %(num)d naar %(loc)s gekopieerd" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "%(num)d boeken verplaatst naar %(loc)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "Kon boeken niet kopiëren: " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "Automatische samengevoegd" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " @@ -6691,7 +6787,7 @@ msgstr "" "actie is uitgevoerd op basis van de \"Automatisch samenvoegen\"-optie onder " "Voorkeuren->Boeken toevoegen." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -6712,6 +6808,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "Weet u het zeker?" @@ -6792,11 +6889,11 @@ msgstr "" "Het %(fmt)s formaat zal definitief verwijderd worden van %(title)s. " "Weet u het zeker?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "Kies formaten om te verwijderen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." @@ -6804,7 +6901,7 @@ msgstr "" "Kies de formaten die niet verwijderd moeten worden.

NB: dit " "verwijdert nooit alle formaten uit een boek." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" @@ -6813,44 +6910,44 @@ msgstr "" "worden uit uw bibliotheek.
De metadata ervan zal worden bewaard. Weet u " "het zeker?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "Kan boeken niet verwijderen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "Geen apparaat verbonden" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "Hoofdgeheugen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "Geheugenkaart A" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "Geheugenkaart B" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "Er zijn geen boeken om te verwijderen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "Geen van de geselecteerde boeken bevindt zich op het apparaat" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "Boeken worden van het apparaat verwijderd." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" @@ -6858,22 +6955,19 @@ msgstr "" "Sommige geselecteerde boeken staan op het verbonden apparaat. Waarvan " "wilt u de geselecteerde bestanden verwijderen?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -"De geselecteerde boeken zullen permanent verwijderd worden en de " -"bestanden zullen uit de calibre-bibliotheek verwijderd worden. Weet u het " -"zeker?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" -"De geselecteerde boeken zullen permanent verwijderd worden van uw " -"apparaat. Weet u het zeker?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 msgid "Start wireless device connection" @@ -6950,12 +7044,12 @@ msgstr "" "speciale apparaten, enz." #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "Stoppen" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" "Server wordt gestopt, dit kan tot een minuut duren. Een moment geduld…" @@ -7043,8 +7137,8 @@ msgstr "Downloaden metadata mislukt" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "Download mislukt" @@ -7085,7 +7179,7 @@ msgid "Download complete" msgstr "Downloaden voltooid" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "Log downloaden" @@ -7181,15 +7275,15 @@ msgstr "" "wordt permanent uit de bibliotheek verwijderd.

Weet u " "zeker dat u door wilt gaan?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "Wijzigingen in metadata toepassen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "Enkele fouten" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -7297,17 +7391,28 @@ msgstr "%d boeken bijschaven" msgid "

About Polishing books

%s" msgstr "

Over het bijschaven van boeken

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "

Lettertypes uitdunnen

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "

Verbeter interpunctie

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -7321,7 +7426,7 @@ msgstr "" "van calibre ondersteunen.

Er is een aparte optie om de omslag bij te " "werken.

" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " @@ -7331,175 +7436,186 @@ msgstr "" "omslag in de calibre bibliotheek.

Als het Eboek geen herkenbare omslag " "heeft, wordt een nieuwe omslag ingevoegd.

" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "

Boek data-omslag

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "

Verwijder boek data-omslag

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "Selecteer taken om uit te voeren:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "Alle ingesloten lettertypen &uitdunnen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "Inter&punctie verbeteren" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "&Metadata in boekbestand bijwerken" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "&Omslag in boekbestand bijwerken" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "Metadata als een \"Inleg&vel\" toevoegen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "&Verwijder een eerder gemaakt inlegvel" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "Uitleg" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "Toon &rapport" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" "Toon een rapport van alle taken die zijn uitgevoerd nadat het bijschaven is " "voltooid" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "Instellingen op&slaan" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "Instellingen &laden" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "Selecteren &allemaal" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "Selecteer &geen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "Geen taken geselecteerd" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "U moet minimaal één taak selecteren voor het opslaan" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "Kies naam" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "Kies een naam voor deze instellingen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "Verwijder opgeslagen instellingen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "U dient minimaal één taak te selecteren, of klik Annuleren" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "Boeken doorlopen voor bijschaving" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "%s bijschaven" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "Boek %(nums)s van %(tot)s bijschaven (%(title)s)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "Boek %(nums)s van %(tot)s (%(title)s) in wachtrij zetten" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "Negeer hernoemen %d reapporten" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "Toon volledig &log" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "Bijschaven van %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "Het originele bestand is opgeslagen als %s." msgstr[1] "De originele bestanden zijn opgeslagen als %s." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr " en " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" "Als u nogmaals bijschaaft, zal het bijschaven worden uitgevoerd op de " "originelen." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "Boeken bijschaven" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "De glans van perfectie toepassen op uw boeken" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "B" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "Bijschaven onmogelijk" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " @@ -7508,7 +7624,7 @@ msgstr "" "Bijschaven wordt enkel ondersteund voor boeken in de %s formaten. Zet het " "boek om naar één van deze formaten voor het bijschaven." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "Start bijschaven van %d boek(en)" @@ -7628,7 +7744,7 @@ msgid "Click the show details button to see which ones." msgstr "Klik op ‘Toon details’ om die boeken te zien." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "Toon boekdetails" @@ -7734,7 +7850,7 @@ msgid "this book" msgstr "dit boek" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "Naar %s zoeken" @@ -7746,17 +7862,17 @@ msgstr "Winkels" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "Kies winkels" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "Kan niet zoeken" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." @@ -7764,7 +7880,7 @@ msgstr "" "Calibre helpt u om e-books te vinden, door websites van diverse commerciële- " "en publieke-domein aanbieders voor u te doorzoeken." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " @@ -7774,7 +7890,7 @@ msgstr "" "boek dat u zoek aanbieden, en tegen welke prijs. U kunt ook DRM-status en " "andere nuttige informatie inzien." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -7790,11 +7906,11 @@ msgstr "" "het boek DRM " "gebruikt." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "Bericht nogmaals tonen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "Over boeken verkrijgen" @@ -8094,7 +8210,7 @@ msgid "The specified directory could not be processed." msgstr "De geselecteerde map kan niet worden bewerkt." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "Geen boeken" @@ -8322,7 +8438,7 @@ msgid "Click to open" msgstr "Klik om te openen" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "Id's" @@ -8332,7 +8448,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "Boek %(sidx)s van %(series)s" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "Collecties" @@ -8366,16 +8482,25 @@ msgstr "Pad" msgid "Cover size: %(width)d x %(height)d" msgstr "Omvang omslag: %(width)d x %(height)d" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "Verwijder het %s formaat" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "Sla het %s formaat op schijf op" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "Opties voor BibTex" @@ -8443,7 +8568,7 @@ msgstr "uitvoer" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -8640,7 +8765,7 @@ msgstr "Waar" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "Naam" @@ -9001,8 +9126,8 @@ msgid "Style the selected text block" msgstr "Styleer gelselecteerd tekstblok" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "Standaard" @@ -9982,7 +10107,7 @@ msgstr "Geen afbeeld&ingen" msgid "PDF Output" msgstr "PDF-uitvoer" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " @@ -9992,52 +10117,56 @@ msgstr "" "toepassing als u het \"Overschrijven\" vinkje onderaan plaatst. Anders " "zullen de instellen van het uitvoer profiel worden gebruikt." -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "Papierformaat van uitvoer profiel &overschrijven" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "&Papiergrootte:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "&Aangepaste omvang:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "&Eenheid:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "&Beeldverhouding omslag behouden" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "Voeg pagina &nummers toe aan de onderkant van iedere pagina" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "Lettertype met sch&reef:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "&Schreefloos lettertype:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "Niet-proportionele familie (&Monospace):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "S&tandaardlettertype:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "Standaard letter&grootte:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -10049,14 +10178,30 @@ msgstr "Standaard letter&grootte:" msgid " px" msgstr " px" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "&Lettergrootte niet-proportionele letters:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" -msgstr "Voeg pagina &nummers toe aan de onderkant van iedere pagina" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 msgid "PMLZ Output" @@ -10314,6 +10459,10 @@ msgstr "" "bronbestand. Als u tevreden bent met het resultaat, klik dan op Toevoegen om " "de expressie aan de lijst toe te voegen." +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "Converteren" @@ -10915,7 +11064,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "%s herkend. Wilt u dat calibre dit apparaat beheert?" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "Geen geschikte formaten" @@ -10965,68 +11114,68 @@ msgstr "Apparaat: " msgid " detected." msgstr " gedetecteerd." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "geselecteerd om te versturen" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "Geen apparaat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "Geen apparaat verbonden" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "%(num)i of %(total)i boeken" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "0 van %i boeken" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "Kies formaat om naar apparaat te versturen" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "Kan niet versturen: geen apparaat aangesloten" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "Geen kaart aanwezig" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "Kan niet versturen: Apparaat heeft geen opslagkaart" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" "De volgende boeken automatisch converteren voordat ze naar het appraat " "verstuurd worden?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "Catalogus wordt naar het apparaat verzonden." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "Nieuws wordt naar het apparaat verzonden." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "Boeken worden naar het apparaat verzonden." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." @@ -11035,18 +11184,18 @@ msgstr "" "er geen geschikte bestandsformaten gevonden kunnen worden. Converteer " "boek(en) eerst naar een formaat dat door uw apparaat wordt ondersteund." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "Geen schijfruimte op het apparaat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" "

Kan boeken niet uploaden naar het apparaat. Er is geen schijfruimte " "beschikbaar " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "Verkeerde bestemming" @@ -11229,7 +11378,7 @@ msgstr "Toon apparaat informatie" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -11864,13 +12013,13 @@ msgid "Where do you want to delete from?" msgstr "Waaruit wilt u verwijderen?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "Bibliotheek" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "Apparaat" @@ -11906,8 +12055,8 @@ msgid "Location" msgstr "Locatie" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -11926,13 +12075,13 @@ msgstr "%(curr)s (was %(initial)s)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "Veld is leeg" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "Een veld mag niet leeg zijn. Verwijder het veld." @@ -12042,7 +12191,7 @@ msgstr "Koppeling" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "Geen zoekresultaten gevonden" @@ -12090,12 +12239,12 @@ msgid "Copy to author" msgstr "Kopieer naar auteur" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "Ongeldige auteursnaam" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "Namen van auteurs mogen geen &-teken bevatten." @@ -12196,40 +12345,40 @@ msgstr "&Verberg alle taken" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "Naar klembord &kopieren" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "Toon &details" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "Verberg &details" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "Toon gedetailleerde info over deze fout" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "Gekopieerd" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "Log weergeven" @@ -13190,6 +13339,7 @@ msgstr "Afbreken…" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -13229,12 +13379,12 @@ msgstr "Onderdelen" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "Zoeken" @@ -13886,12 +14036,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "Het poortnummer moet in het gebied 8000 - 32000 vallen." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "Probleem bij het starten van het draadloze apparaat" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -13951,6 +14101,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "&Automatisch verbindingen toestaan bij opstarten van calibre" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "Uitgevers" @@ -13965,6 +14116,7 @@ msgstr "Zoeknaam voor categorie: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "Ongeldige naam" @@ -14893,7 +15045,7 @@ msgid "&Shortcut:" msgstr "&Sneltoets:" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "Klaar" @@ -14937,7 +15089,7 @@ msgstr "Zoek naar een snelkoppeling op naam" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "Geen resultaten" @@ -14947,48 +15099,52 @@ msgstr "Geen resultaten" msgid "Could not find any shortcuts matching %s" msgstr "Kon geen sneltoetsen vinden overeenkomstig %s" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "Dit apparaat ontkoppelen" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "Dit apparaat instellen" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "Boeken in de calibre-bibliotheek weergeven" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "Boeken in hoofdgeheugen van het apparaat weergeven" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "Boeken op geheugenkaart A weergeven" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "Boeken op geheugenkaart B weergeven" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "Bibliotheek verwijderen" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "beschikbaar" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "Uitgebreid zoeken" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "Shift+Ctrl+F" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" @@ -14997,19 +15153,19 @@ msgstr "" "commentaar, enz.

Woorden gescheiden door spaties moeten allemaal " "voorkomen (AND)" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "&Gaan!" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "Snel zoeken (u kunt ook op Enter drukken)" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "Snelzoeken wissen" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "Kopieer de huidige zoektekst (in plaats van zoeknaam)" @@ -15022,32 +15178,32 @@ msgstr "sterren" msgid "Y" msgstr "Y" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "Op apparaat" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "Grootte (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "Gewijzigd" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "De zoekopdracht is ‘{0}’" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "De UUID van dit boek is ‘{0}’" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -15058,30 +15214,30 @@ msgstr "" "Kan van dit boek de locatie op de harde schijf niet wijzigen. Is dit boek " "geopend in een ander programma?" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "Kan de data niet wijzigen" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "Kan de data niet wijzigen. Klik \"Toon Details\" om te zien waarom." -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "In bibliotheek" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "Grootte" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "Geselecteerd om te verwijderen" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "Dubbelklik om me te wijzigen

" @@ -15188,7 +15344,7 @@ msgid "Previous Page" msgstr "Vorige pagina" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -15727,7 +15883,7 @@ msgid "Edit Metadata" msgstr "Metadata bewerken" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -15883,15 +16039,15 @@ msgstr "&Commentaar" msgid "Basic metadata" msgstr "Basismetadata" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "Heeft omslag" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "Heeft samenvatting" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -15903,28 +16059,28 @@ msgstr "" "bij het downloaden terwijl er geen is aangeduid\n" "of vice versa." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "Kijk bij" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "calibre haalt metadata op bij: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "Een moment geduld" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "Zoekopdracht: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" "Metadata downloaden mislukt. Klik op ‘Toon details’ voor meer informatie" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -15936,41 +16092,45 @@ msgstr "" "auteur of één enkel sleutelwoord uit de titel. Om alle meldingen te zien " "klikt u op ‘Details tonen’." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "Huidige omslag" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "Bezig met zoeken…" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "Omslagen voor %s aan het downloaden, even geduld…" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" "Geen omslagen gedownload. Klik op ‘Toon details’ voor meer informatie." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "Geen omslagen voor %s gevonden" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -"%(num)d omslagen voor %(title)s gevonden. Kies de gene die u het " -"meeste aanstaat." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "Metadata aan het downloaden…" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "Omslag aan het downloaden…" @@ -16150,8 +16310,9 @@ msgid "The Add &Process" msgstr "Het toevoegings&proces" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " -msgstr "Bij automatisch toevoegen, de volgende bestandsextensies negeren " +msgid "" +"Ignore files with the following extensions when automatically adding " +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 msgid "" @@ -16204,34 +16365,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "&Automatisch toevoegen" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "Hoog" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "Laag" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "Zeer laag" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "Compacte metadata" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "Standaard" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "Alles in één tabblad" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "Alle bevestigingsmeldingen zijn teruggezet" @@ -16287,18 +16448,15 @@ msgid "Job &priority:" msgstr "&Prioriteit van taak:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" -msgstr "Te gebruiken beperkingen als de huidige bibliotheek wordt geopend:" +msgid "Virtual library to apply when the current library is opened:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" -"Pas deze beperking toe bij opstarten van calibre als de huidige bibliotheek " -"in gebruik is. Wordt ook gebruikt als naar deze bibliotheek wordt " -"overgeschakeld. Let op dat dit per bibliotheek ingesteld moet worden. " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170 msgid "Edit metadata (single) layout:" @@ -17328,10 +17486,6 @@ msgstr "Uit" msgid "Small" msgstr "Klein" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "Groot" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "Gemiddeld" @@ -17349,7 +17503,7 @@ msgid "Never" msgstr "Nooit" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "Op eerste letter" @@ -18484,20 +18638,20 @@ msgstr "" "individuele apparaten door de apparaatverbinding-plug-ins aan te passen in " "Voorkeuren->Geavanceerd->Plug-ins" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "Starten van inhoudsserver mislukt" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "Logbestand met foutmeldigen:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "Toegangslogbestand:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "U moet de server herstarten om de veranderingen door te voeren" @@ -18538,23 +18692,19 @@ msgid "Max. &OPDS items per query:" msgstr "Max. &OPDS-onderdelen per zoekopdracht:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" -msgstr "Maxim&um ongegroepeerde OPDS-items:" +msgid "Max. &ungrouped items:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" -msgstr "Beperking (opgeslagen zoekactie) om toe te passen:" +msgid "Virtual library to apply:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" -"Deze beperking (gebaseerd op een opgeslagen zoekactie) zal de door de " -"inhoudsserver beschikbare boeken beperken tot diegene die met de zoekactie " -"overeenkomen. Deze instelling is per bibliotheek (dit betekent dat u per " -"bibliotheek een andere beperking kunt instellen)." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 msgid "" @@ -19027,43 +19177,53 @@ msgstr "Stan&daardwaarde terugzetten" msgid "Apply any changes you made to this tweak" msgstr "Wijzigingen aan deze tweak toepassen" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" +msgstr "Opgeslagen zoekopdracht aanmaken" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 msgid "Delete current search" msgstr "Huidige zoekopdracht verwijderen" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 msgid "No search is selected" msgstr "Geen zoekopdracht geselecteerd" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" "De geselecteerde zoekopdracht zal permanent verwijderd worden. Weet u " "het zeker?" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "Zoeken (Klik voor uitgebreid zoeken op de knop links)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "Begin met zoeken" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "Zoekmarkering in- of uitschakelen." -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "Opgeslagen zoekopdrachten" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" "Kies een opgeslagen zoekopdracht of geef een naam voor een nieuwe opgeslagen " "zoekopdracht" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." @@ -19071,47 +19231,185 @@ msgstr "" "Huidige zoekopdracht opslaan onder de naam weergegeven in het tekstveld. " "Indrukken en vasthouden geeft een pop-up menu met meer opties." -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "Opgeslagen zoekopdracht aanmaken" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "Opgeslagen zoekopdracht verwijderen" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "Opgeslagen zoekopdrachten beheren" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" -msgstr "*Huidige zoekopdracht" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" -msgstr "Beperken tot" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "(alle boeken)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -"Weergave van boeken aan de hand van de geselecteerde opgeslagen zoekopdracht " -"gefilterd worden" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " -msgstr " of de zoekopdracht " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "({0} van {1})" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "({0} van het alle)" @@ -19412,35 +19710,35 @@ msgstr "Downloaden…" msgid "Goto in store..." msgstr "Ga in winkel naar…" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" "Door in deze winkel te kopen ondersteunt u de ontwikkelaar van calibre: " "%s

" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "Geen zoekopdracht" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" "U dient een titel, auteur of sleutelwoord op te geven om naar te zoeken." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "Zoekopties voor boeken aanpassen" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "Zoeken configureren" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "Er zijn geen boeken gevonden die met uw zoekterm overeenkomen." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "Kies het formaat dat u naar uw bibliotheek wilt downloaden." @@ -19563,50 +19861,50 @@ msgstr "Vernieuwen" msgid "%p%" msgstr "%p%" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "De kolomgroep heet \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" "Het veranderen van auteurs voor meerdere boeken kan even duren. Weet u het " "zeker?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" "Het veranderen van metadata voor zoveel boeken kan lang duren. Weet u het " "zeker?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "Zoekopdrachten" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "Gebruikerscategorie hernoemen" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "Punten zijn niet toegestaan in de naam van een gebruikerscategorie" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "De naam %s is al in gebruik" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "Al gebruikte naam voor zoekopdracht" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "De opgeslagen zoekopdracht %s bestaat al." @@ -19628,13 +19926,13 @@ msgid "Manage Tags" msgstr "Labels beheren" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "Gebruikerscategorieën beheren" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "Opgeslagen zoekopdrachten beheren" @@ -19735,7 +20033,7 @@ msgid "Alter Tag Browser" msgstr "Labelbrowser opties" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "Sortering" @@ -19778,138 +20076,138 @@ msgstr "" "Al deze categoriebeheerders zijn beschikbaar door rechts te klikken op een " "onderdeel in de labelbrowser hierboven" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "Wijzig pictogram voor: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "%s hernoemen" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "Verwijder %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "Sortering van %s bewerken" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "Link voor %s bewerken" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "%s aan gebruikerscategorie toevoegen" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "Kinderen van %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "Zoekopdracht %s verwijderen" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "%(item)s uit categorie%(cat)s verwijderen" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "Zoek naar alles, behalve %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "Deelcategorie aan %s toevoegen" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "Gebruikerscategorie %s verwijderen" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "Categorie %s verbergen" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "Categorie weergeven" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "In categorie %s naar boeken zoeken" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "Buiten categorie %s naar boeken zoeken" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "%s beheren" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "Wijzig categorie-pictogram" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "Standaard pictogram herstellen" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "Alle categorieën weergeven" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "Schema deelcategorieën veranderen" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "Uitschakelen" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "Onderdeel" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "Eerste letter is enkel te gebruiken bij sorteren op naam" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "Selecteer een doel (locatie) voor het inhoudsopgave item" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "Zoek naar tekst..." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "Vo&lgende vinden" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "Vo&rige vinden" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -19927,25 +20225,25 @@ msgstr "" "verplaatst binnen het centrale paneel, zal een groen vinkje verschijnen, " "deze geeft de exacte locatie aan die wordt geselecteerd als u klikt." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "&Naam van het inhouds item:" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "Huidig geselecteerde doel:" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "Geen overeenkomst gevonden" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "Geen overeenkomst gevonden voor: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " @@ -19954,31 +20252,31 @@ msgstr "" "Geen overeenkomsten voor %(text)s gevonden in het huidige bestand " "[%(current)s]. Wilt u zoeken in het %(which)s bestand [%(next)s]?" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "volgende" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "vorige" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "Bestand:" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "Bovenaan het bestand" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "Ongeveer %d%% van de bovenkant" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "Locatie: een <%s> tag binnen het bestand" @@ -20023,7 +20321,7 @@ msgstr "Geen XPaths ingevoerd" msgid "The XPath expression %s is not valid." msgstr "De XPaths uitdrukking %s is ongeldig." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." @@ -20031,7 +20329,7 @@ msgstr "" "U kunt bestaande items van de inhoudsopgave bewerken door er op te klikken " "in het linker paneel." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " @@ -20041,15 +20339,15 @@ msgstr "" "bestaat. Items met een rood vinkje zijn 'doelloos' en moet mogelijk worden " "gerepareerd." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "Een &nieuw item maken" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "Genereer inhoudsopgave op basis van &belangrijkste koppen" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " @@ -20059,11 +20357,11 @@ msgstr "" "Dit werkt als het boek de koppen identificeert met behulp van HTML koppen-" "tags. Gebruikt de

,

en

tags." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "Genereer inhoudsopgave op basis van &alle koppen" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " @@ -20073,11 +20371,11 @@ msgstr "" "als het boek de koppen identificeert met behulp van HTML koppen-tags. " "Gebruikt de tags." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "Genereer inhoudsopgave op basis van &links" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " @@ -20087,24 +20385,35 @@ msgstr "" "naar een locatie welke niet in het boek bestaat, worden genegeerd. Ook " "meerdere links met dezelfde bestemming of dezelfde tekst worden genegeerd." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 msgid "Generate ToC from &XPath" msgstr "genereer een inhoudsopgave op basis van &XPath" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 msgid "Generate a Table of Contents from arbitrary XPath expressions." msgstr "" "Genereer een inhoudsopgave op basis van een willekeurige XPath uitdrukking." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" -msgstr "Inhoudsopgave plat maken" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "Maak de inhoudsopgave plat, zet alle items op het hoogste niveau" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -20117,7 +20426,7 @@ msgstr "" "niet lineaire inhoudsopgave maakt, zal deze automatisch worden herschikt in " "het bestand." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" @@ -20125,82 +20434,122 @@ msgstr "" "U kunt dit item verplaatsen binnen de inhoudsopgave door te slepen of door " "gebruik te maken van de op en neer knoppen aan de linker kant" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "Wijzig de &locatie waar dit item naar verwijst" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "Ve&rwijder dit item" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "Nieuw &item binnen dit item" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "Nieuw item &boven dit item" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "Nieuw item &onder dit item" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "Dit item a&fvlakken" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" "Alle kinderen van dit item worden naar hetzelfde niveau gebracht als dit " "item." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "&Terug naar welkomstvenster" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "Ga terug naar de hoofdoverzichts-weergave" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "Dit item wijst naar een bestaande bestemming" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "De locatie waar dit item naar verwijst bestaat niet" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" -msgstr "Huidige item omhoog verplaatsen" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "Alle geselecteerde items verwijderen" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" -msgstr "Huidige item omlaag verplaatsen" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "Alles &uitklappen" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "Alles &inklappen" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "Dubbelklik een item om de tekst aan te passen" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "Titel: {0} Bestemming: {1}{2}" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" @@ -20209,48 +20558,53 @@ msgstr "" "De locatie waar dit item naar verwijst bestaat niet:\n" "%s" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "Geen items gevonden" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "Geen items gevonden om toe te voegen aan de inhoudsopgave." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "Geen links gevonden om toe te voegen aan de inhoudsopgave." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "Wijzig de inhoudsopgave van %s" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "%s laden, een moment a.u.b. ..." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "%s wordt geschreven, een moment a.u.b. ..." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "Schrijven van boek mislukt" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "Kon %s niet schrijven. Klik \"Toon details\" voor meer informatie" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "Laden van boek mislukt" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "Kon %s niet laden. Klik op \"Toon details\" voor meer informatie." @@ -20340,31 +20694,31 @@ msgstr "" "De volgende boeken zijn al naar %s-formaat geconverteerd. Wilt u dit opnieuw " "doen?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "&Doneer om calibre te steunen" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "He&rstellen" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "Aangesloten apparaat ontkopp&elen" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "Calibre afsluiten" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "Huidige zoekterm wissen" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "Debugmodus" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -20375,11 +20729,11 @@ msgstr "" "debuglog beschikbaar zijn in dit bestand: %s

De log zal automatisch " "weergegeven worden." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "Inhoudsserver starten mislukt" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -20401,16 +20755,16 @@ msgstr "" "probeert deze automatisch te herstellen? Het herstellen lukt mogelijk niet " "volledig." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "Conversiefout" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "

Omzetten mislukt: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -20450,23 +20804,23 @@ msgstr "" " garantie is voor succes.\n" " " -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "Omzetten mislukt" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "Recept uitgeschakeld" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "Mislukt" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "Er zijn taken actief. Weet u zeker dat u wilt afsluiten?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" @@ -20476,11 +20830,11 @@ msgstr "" " Afsluiten kan het apparaat beschadigen.
\n" " Weet u zeker dat u wilt afsluiten?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "Actieve taken" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -21052,29 +21406,29 @@ msgstr "Standaard lettertype formaat" msgid "S&earch Google for '%s'" msgstr "Zoek in Google naar '%s'" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "&Inzoomen" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "&Uitzoomen" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "Opslaan &als" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "&Draaien" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "Kies een bestand om naartoe op te slaan" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "Bekijk afbeelding: %s" @@ -22560,8 +22914,8 @@ msgstr "" "zoekopdracht kunt u de zoek-gerelateerde documentatie in de " "gebruikershandleiding raadplegen. Standaard word er niet gefilterd." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." @@ -22569,13 +22923,13 @@ msgstr "" "De maximale breedte van een enkele regel in de uitvoer. Standaard is dit " "hetzelfde als de schermgrootte." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" "De tekenreeks gebruikt om velden van elkaar te scheiden. Standaard is dit " "een spatie." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." @@ -22583,15 +22937,15 @@ msgstr "" "De prefix voor mappaden. Standaard is het absolute pad naar de " "bibliotheekmap." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "Ongeldige velden. Beschikbare velden:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "Ongeldig sorteerveld. Beschikbare velden:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" @@ -22599,13 +22953,13 @@ msgstr "" "De volgende boeken zijn niet toegevoegd omdat ze al in de database aanwezig " "zijn. (Zie de --duplicates-optie):" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "Boek-ID's toegevoegd: %s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -22619,7 +22973,7 @@ msgstr "" "ook worden\n" "opgegeven, zie de opties over mappen hieronder.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" @@ -22627,11 +22981,11 @@ msgstr "" "Neem aan dat iedere map slechts een enkel logisch boek bevat, en dat alle " "bestanden in de map verschillende bestandsformaten voor dat ene boek zijn" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "Mappen recursief verwerken" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." @@ -22639,44 +22993,44 @@ msgstr "" "Voeg boeken toe aan de database, zelfs als deze al bestaan. Vergelijking is " "gebaseerd op de boektitels." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" "Voeg een leeg boek toe (een boek dat van geen enkel formaat gebruikt maakt)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "Stel de titel in voor toegevoegde boek(en)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "Stel de auteur in voor toegevoegde boek(en)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "Stel het ISBN-nummer in voor toegevoegde boek(en)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "Stel tags in voor toegevoegde boek(en)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "Stel de serie in voor toegevoegde boek(en)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "Stel het nummer in de serie in voor toegevoegde boek(en)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "Pad naar de omslag voor het toegevoegde boek" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "U moet tenminste één boek opgegeven om toe te voegen" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -22693,33 +23047,38 @@ msgstr "" "commando te gebruiken). Bijvoorbeeld: 23,34,57-85 (bij opgave van een reeks, " "wordt het laatste nummer niet opgenomen).\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "U moet minstens één boek opgeven om te verwijderen" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" -"%prog aa_format [opties] ID e-book_bestand\n" -"\n" -"Voeg het e-book in e-book_bestand toe aan de beschikbare formaten voor het " -"logische boek geïdentificeerd door ID. U kunt het list-commando gebruiken om " -" ID's te vinden. Als het formaat al bestaat, wordt het vervangen.\n" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "U moet een ID en een e-bookbestand opgeven" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "E-bookbestand moet een extensie hebben" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -22736,11 +23095,11 @@ msgstr "" "LRF, TXT of EPUB. Als het logische boek niet in dit formaat bestaat zal er " "niets gebeuren.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "U moet een id en een formaat opgeven" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -22756,15 +23115,15 @@ msgstr "" "boek dat bij de id hoort.\n" "id is een nummer verkregen met het list-commando.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "Metadata in OPF-formaat (XML) afdrukken" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "U moet een id opgeven" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -22791,7 +23150,7 @@ msgstr "" "zetten met\n" "de --field optie.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -22807,41 +23166,41 @@ msgstr "" "Engels, fr voor Frans enzovoort). Voor identificatoren, de syntaxis is {0} " "{2}. Voor booleaans (ja/nee) velden gebruik waar en niet waar of ja en nee." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" "Toon de metadata veldnamen die kunnen worden gebruikt met de --field optie" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "Veldnaam" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "U moet een item id specificeren als eerste parameter" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "U moet een veld of opf-bestand specificeren" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "Geen boek met id: %s in de database" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "Het OPF bestand %s bestaat niet" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "%s is een onbekend veld" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -22859,28 +23218,28 @@ msgstr "" "(in een opf-bestand). \n" "U kunt id-nummers met het list-commando vinden.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "Exporteer alle boeken in de database, negeer de lijst met id's." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "Exporteer boeken naar de opgegeven map. Standaard is dit" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "Exporteer alle boeken naar een enkele map" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "Als u dit opgeeft zal het gedrag uitgeschakeld worden." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "U moet id's opgeven of de %s-optie gebruiken" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -22897,7 +23256,7 @@ msgstr "" "bevatten. name is de aan de menselijke taal aangepaste naam van de kolom.\n" "datatype één van: {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." @@ -22905,7 +23264,7 @@ msgstr "" "Deze kolom slaat informatie op als bij labels (waarden gescheiden door " "komma's). Van toepassing op datatype tekst." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -22943,11 +23302,11 @@ msgstr "" "kolom is toegevoegd). U vindt de JSON voor het \"display\" voor de nieuwe " "kolom in de OPF." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "U moet een label, naam en datatype opgeven" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -22965,7 +23324,7 @@ msgstr "" "catalogus uit zien.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" @@ -22975,7 +23334,7 @@ msgstr "" "Indien gebruikt, zal --search genegeerd worden.\n" "Standaard: all" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" @@ -22985,18 +23344,18 @@ msgstr "" "zoekopdracht, zie de zoekfunctionaliteit in de gebruikershandleiding.\n" "Standaard: geen filter" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" "Laat gedetailleerde uitvoerinformatie zien. Nuttig bij het opsporen van " "problemen" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "Fout: U moet een uitvoerbestand voor de catalogus opgeven" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -23017,7 +23376,7 @@ msgstr "" " te maken van het custom_columns-commando.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." @@ -23025,11 +23384,11 @@ msgstr "" "Als de kolom meerde waardes bevat, voeg dan de opgegeven waarden aan de " "bestaande toe, in plaats van ze te vervangen." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "Fout: U moet een veldnaam, id en waarde opgeven" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -23043,20 +23402,20 @@ msgstr "" " Geef beschikbare persoonlijke kolommen weer. Toont kolom labels en IDs.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "Toon details voor iedere kolom." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "U zal alle data van de kolom %s verliezen. Weet u het zeker (j/n)? " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "j" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " @@ -23066,7 +23425,7 @@ msgstr "" "labels, niet de titels. Gebruik calibredb custom_columns om een lijst van " "labels te krijgen." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -23082,15 +23441,15 @@ msgstr "" " beschikbare kolommen met het custom_columns-commando weergeven.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "Niet om bevestiging vragen" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "Fout: U moet een kolomlabel opgeven" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -23112,42 +23471,42 @@ msgstr "" " dan wordt de oude opdracht vervangen.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "Fout: U moet een taak opgeven (add|remove|list)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "Naam:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "Zoektekst:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "Fout: U moet een naam en een zoektekst opgeven" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "toegevoegd" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "Fout: U moet een naam opgeven" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "verwijderd" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" "Fout: Taak %s wordt niet herkend, het moet een van deze zijn : " "(add|remove|list)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -23172,7 +23531,7 @@ msgstr "" "up\n" "automatically, every time metadata is changed.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." @@ -23180,7 +23539,7 @@ msgstr "" "Normaal gesproken werkt dit commando enkel op boeken met verouderde OPF " "bestanden. Deze optie zorgt dat het op alle boeken werkt." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -23192,12 +23551,12 @@ msgstr "" "Voer controles uit op het bestandssysteem van de bibliotheek. Rapporten zijn " "{0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "Uitvoer naar CSV" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" @@ -23205,7 +23564,7 @@ msgstr "" "Kommagescheiden lijst van rapporten.\n" "Standaard: all" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" @@ -23213,7 +23572,7 @@ msgstr "" "Kommagescheiden lijst van te negeren extensies.\n" "Standaard: all" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" @@ -23221,11 +23580,11 @@ msgstr "" "Kommagescheiden lijst van te negeren namen.\n" "Standaard: all" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "Onbekende rapportcontrole" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -23254,7 +23613,7 @@ msgstr "" "gevonden is in de OPF-bestanden.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." @@ -23262,12 +23621,12 @@ msgstr "" "Het herstel echt uitvoeren. Het commando zal niet uitgevoerd worden tenzij " "deze optie ingesteld is." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "U moet de %s-optie meegeven om herstel uit te voeren" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -23279,7 +23638,7 @@ msgstr "" "Maak een rapport van de categorie-informatie in de database. De\n" "informatie is gelijk aan wat er in het labelpaneel staat.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" @@ -23287,7 +23646,7 @@ msgstr "" "Toon alleen het aantal items in een categorie in plaats van de aantallen per " "item binnen in de categorie" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." @@ -23295,7 +23654,7 @@ msgstr "" "Het teken om rondom de categorie waarde te plaatsen in CSV modus. Standaard " "is dubbele aanhalingstekens (\")." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" @@ -23303,17 +23662,17 @@ msgstr "" "Kommagescheiden lijst van categorie-opzoeknamen.\n" "Standaard: all" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" "Het teken dat gebruikt wordt om velden te scheiden in CSV-modus. Standaard " "is dit een komma." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "Categorie-items" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -23346,31 +23705,22 @@ msgstr "" "Het label mag alleen bestaan uit kleine letters, cijfers en lage streepjes " "en moet met een letter beginnen" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "voorkeuren hersteld " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "aangepaste kolom aanmaken " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr " (%s boeken)" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "

Migreer oude database naar e-book-bibliotheek op %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "%s kopiëren" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "Database comprimeren" @@ -23652,20 +24002,20 @@ msgstr "" "Apache/nginx/enz." #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "Alle boeken" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "Nieuwste" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "Laden, een moment geduld" @@ -23688,7 +24038,7 @@ msgid "Browsing %d books" msgstr "Verken %d boeken" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "Gemiddelde waardering" @@ -23697,98 +24047,98 @@ msgstr "Gemiddelde waardering" msgid "%(prefix)s: %(rating).1f stars" msgstr "%(prefix)s: %(rating).1f sterren" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "%d sterren" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "Populariteit" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "bibliotheek" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "thuis" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "Willekeurig boek" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "Bekijk boeken per" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "Kies een categorie om te bekijken:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "Bekijken per" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "Omhoog" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "in" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "Boeken in" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "Andere formaten" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "%(title)s in het %(fmt)s-formaat lezen" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "Ophalen" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "Details" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "Permalink" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "Een permanente koppeling naar dit boek" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "Dit boek is verwijderd" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "Kies een ander willekeurig boek" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "Ander willekeurig boek" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "zoekende" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "Overeenkomstige boeken" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -23811,24 +24161,23 @@ msgstr "" "\n" "De OPDS-interface wordt automatisch via Bonjour gepresenteerd.\n" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "Pad naar de bibliotheekmap voor de inhoudsserver" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "Schrijf het PID van het proces naar het opgegeven bestand" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -"Specificeert een beperking die gebruikt wordt bij deze aanroep. Deze optie " -"overschrijft elke instelling die in de grafische gebruikersomgeving per " -"bibliotheek is ingesteld" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -25130,10 +25479,6 @@ msgstr "am" msgid "pm" msgstr "pm" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "&Kopiëren" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "Alles selecteren" @@ -25234,6 +25579,31 @@ msgstr "Code wordt uitgevoerd" msgid "Restart console" msgstr "Console herstarten" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "URL heeft het sftp-schema nodig" @@ -25282,101 +25652,101 @@ msgstr "Het ophalen van %s is mislukt." msgid "The \"%s\" recipe needs a username and password." msgstr "Het ‘%s’-recept heeft een gebruikersnaam en wachtwoord nodig." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "Download is voltooid" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "De volgende artikelen kunnen niet gedownload worden:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "Delen van de volgende artikelen kunnen niet gedownload worden:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr " van " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "\tMislukte links:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "Kan artikel niet ophalen." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "De debug traceback is eerder in dit log beschikbaar" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "Start met -vv om de reden te zien" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "Feeds downloaden…" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "Feeds van indexpagina opgehaald" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "Probeer omslag te downloaden…" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "Colofon aanmaken…" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "Begin download [%d thread(s)]…" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "Feeds naar %s gedownload" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "Kan omslag niet downloaden: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "Omslag van %s aan het downloaden" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "Colofonafbeelding gedownload" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "Artikelen in deze editie: " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "Artikel zonder titel" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "Artikel gedownload: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "Downloaden artikel mislukt: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "Feed ophalen" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 msgid "" "Failed to log in, check your username and password for the calibre " "Periodicals service." @@ -25384,7 +25754,7 @@ msgstr "" "Inloggen niet gelukt. Controleer uw gebruikersnaam en wachtwoord voor de " "calibre-tijdschriftendienst." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -25738,16 +26108,9 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" -"Standaard splitst calibre een string met meerdere auteursnamen op\n" -"ampersands, en de woorden \"and\" en \"with\". U kan deze spitsing " -"personaliseren\n" -"door de onderstaande reguliere expressie aan te passen. Strings worden " -"gesplitst\n" -"op iedere match van de regexp.\n" -"Standaard: r'(?i),?\\s+(and|with)\\s+'" #: /home/kovid/work/calibre/resources/default_tweaks.py:85 msgid "Use author sort in Tag Browser" diff --git a/src/calibre/translations/nn.po b/src/calibre/translations/nn.po index 478ab92862..7269b56248 100644 --- a/src/calibre/translations/nn.po +++ b/src/calibre/translations/nn.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2012-01-04 03:30+0000\n" "Last-Translator: Yngve Spjeld Landro \n" "Language-Team: Norwegian Nynorsk \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:18+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:34+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "Gjer absolutt ingenting" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "Gjer absolutt ingenting" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "Gjer absolutt ingenting" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "Gjer absolutt ingenting" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "Gjer absolutt ingenting" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "Gjer absolutt ingenting" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "Gjer absolutt ingenting" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -325,345 +325,345 @@ msgstr "" msgid "Set metadata from %s files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -941,8 +941,8 @@ msgstr "" msgid "Disable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -952,11 +952,22 @@ msgstr "" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -968,26 +979,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1000,11 +1011,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" @@ -1012,14 +1023,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1027,7 +1038,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1035,45 +1046,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1101,23 +1137,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1240,8 +1276,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "" @@ -1289,10 +1325,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1333,6 +1369,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1651,17 +1688,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1669,12 +1706,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1682,7 +1719,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1694,7 +1731,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1707,10 +1744,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1767,66 +1806,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1834,7 +1873,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1843,11 +1882,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1867,55 +1906,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2040,7 +2079,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2521,7 +2560,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2830,23 +2869,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3134,15 +3173,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4093,7 +4136,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4117,27 +4160,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4173,13 +4216,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4188,9 +4232,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4200,7 +4245,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4212,8 +4257,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4325,60 +4370,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4386,13 +4431,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4402,6 +4465,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4461,12 +4565,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4493,72 +4597,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4567,14 +4671,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4599,12 +4703,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4637,7 +4741,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4762,9 +4866,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4780,11 +4884,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4827,6 +4931,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4981,7 +5089,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5103,12 +5211,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5185,8 +5293,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5307,7 +5415,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5355,7 +5463,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5369,7 +5477,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5381,12 +5489,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5526,7 +5634,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5554,7 +5662,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5595,7 +5703,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5608,96 +5716,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5716,6 +5837,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5788,75 +5910,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5932,12 +6056,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6021,8 +6145,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6058,7 +6182,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6128,15 +6252,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6241,17 +6365,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6260,185 +6395,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6555,7 +6701,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6660,7 +6806,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6672,30 +6818,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6705,11 +6851,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -6973,7 +7119,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7183,7 +7329,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7193,7 +7339,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7227,16 +7373,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7304,7 +7459,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7490,7 +7645,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7830,8 +7985,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8747,59 +8902,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8811,13 +8970,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9055,6 +9230,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9621,7 +9800,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9667,81 +9846,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9903,7 +10082,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10414,13 +10593,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10454,8 +10633,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10474,13 +10653,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10579,7 +10758,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10627,12 +10806,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10727,40 +10906,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11628,6 +11807,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11663,12 +11843,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12242,12 +12422,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12299,6 +12479,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12313,6 +12494,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13189,7 +13371,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13233,7 +13415,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13243,66 +13425,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13315,32 +13501,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13349,30 +13535,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13477,7 +13663,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13975,7 +14161,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14120,15 +14306,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14136,27 +14322,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14164,38 +14350,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14336,7 +14528,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14379,34 +14572,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14455,12 +14648,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15373,10 +15566,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15394,7 +15583,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16362,20 +16551,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16408,18 +16597,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16794,83 +16983,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17146,32 +17485,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17285,46 +17624,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17346,13 +17685,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17445,7 +17784,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17484,138 +17823,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17626,56 +17965,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17717,73 +18056,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17791,134 +18141,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -17997,31 +18392,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18029,11 +18424,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18049,16 +18444,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18081,34 +18476,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18649,29 +19044,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19919,44 +20314,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19965,59 +20360,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20028,28 +20423,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20059,11 +20464,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20073,15 +20478,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20096,7 +20501,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20106,40 +20511,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20150,28 +20555,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20182,13 +20587,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20208,11 +20613,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20223,30 +20628,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20258,17 +20663,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20277,27 +20682,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20307,15 +20712,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20328,40 +20733,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20375,13 +20780,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20389,34 +20794,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20431,18 +20836,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20450,33 +20855,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20499,31 +20904,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20765,20 +21161,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20801,7 +21197,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20810,98 +21206,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20914,21 +21310,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21931,10 +22329,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22033,6 +22427,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22081,107 +22500,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22444,7 +22863,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/oc.po b/src/calibre/translations/oc.po index e5b9d599a9..b8d4c404aa 100644 --- a/src/calibre/translations/oc.po +++ b/src/calibre/translations/oc.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2012-04-29 09:54+0000\n" "Last-Translator: Cédric VALMARY (Tot en òc) \n" "Language-Team: Occitan (post 1500) \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:18+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:35+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "Fa estrictament pas res" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "Fa estrictament pas res" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "Fa estrictament pas res" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "Fa estrictament pas res" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "Fa estrictament pas res" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "Fa estrictament pas res" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "Fa estrictament pas res" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -325,349 +325,349 @@ msgstr "" msgid "Set metadata from %s files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "Telecargar las news dempuèi internet al format ebook" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Afichar rapidament una lista dels libres connèxes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "Exportar de libres a partir d'una librariá calibre cap al disc dur" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "Afichar los detalhs del libre dins una infobulla separada" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "Reaviar calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "Personalizar calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Aparéncia e ergonomia" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Interfàcia" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" "Ajustar l'aspècte e l'ergonomia de l'interfàcia de Calibre a vòstra " "convenéncia" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "Compòrtament" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "Cambiar lo compòrtament de calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Apondre vòstras colomnas personalizadas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "Apondre/levar vòstras pròprias colomnas dins la lista dels libres" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Barra d'aisinas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "Recèrca en cors" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "Personalizar lo biais que la recèrca de libres fonciona dins calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "Opcions de picada" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Conversion" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Opcions comunas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "Opcions de sortida" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "Apondre de libres" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "Importar/Exportar" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Definir cossí las metadonadas son legidas per Calibre al moment de l'apondon " "de libres" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "Salvar los libres sul disc" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "Mandar los libres als aparelhs" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "Tablèu de connexions de metadonadas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "Modèls de foncions" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "Detalhs avançat" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "Crear vòstre pròpri modèl de foncion" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "Partejar de libres per corrièl" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "Partiment" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "Partejar a travèrs la ret" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "Telecargar las metadonadas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Moduls extèrnes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "Ajustaments" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "Clavièr" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Divèrs" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -946,8 +946,8 @@ msgstr "" msgid "Disable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -957,11 +957,22 @@ msgstr "" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -973,26 +984,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "General" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "Carta A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "Carta B" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1005,11 +1016,11 @@ msgstr "Carta B" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Nòvas" @@ -1017,14 +1028,14 @@ msgstr "Nòvas" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1032,7 +1043,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1040,45 +1051,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1106,23 +1142,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "Comunica amb una tableta WebOS" @@ -1249,8 +1285,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "Catalòg" @@ -1298,10 +1334,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1342,6 +1378,7 @@ msgstr "Apond los libres a la lista de las metadonadas de l'aparelh..." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1660,17 +1697,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1678,12 +1715,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1691,7 +1728,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1703,7 +1740,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1716,10 +1753,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1776,66 +1815,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1843,7 +1882,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1852,11 +1891,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1876,55 +1915,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "Comunicar amb lo Sweex/Kogan/Q600/Wink" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "Comunicar amb lo Pandigital Novel" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "Comunicar amb lo VelocityMicro" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "Comunicar amb lo GM2000" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "Comunicar amb l'Acer Lumiread" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "Comunicar amb lo Aluratek Color" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "Comunicar amb lo Trekstor" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "Comunicar amb lo lector EEE" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "Comunicar amb la tableta adam" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "Comunicar amb lo lector Nextbook" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "Comunicar amb lo lector Moovybook" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "Comunicar amb lo COBY" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "Comunicar amb lo Ex124G" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2049,7 +2088,7 @@ msgstr "Lo Nook" msgid "Communicate with the Nook eBook reader." msgstr "Comunica amb lo lector d'ebook Nook." -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "Comunicar amb los lectors Nook Color, TSR et Tablet" @@ -2530,7 +2569,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2839,23 +2878,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3143,15 +3182,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4102,7 +4145,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4126,27 +4169,27 @@ msgstr "Non" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "Títol" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "Autor(s)" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "Editor" @@ -4182,13 +4225,14 @@ msgstr "Comentaris" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "Etiquetas" @@ -4197,9 +4241,10 @@ msgstr "Etiquetas" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4209,7 +4254,7 @@ msgstr[0] "Serias" msgstr[1] "Serias" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4221,8 +4266,8 @@ msgstr "Orodatatge" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "Publicat" @@ -4334,60 +4379,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "Pocheta" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "FR" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "França" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "Alemanha" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "RU" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "Itàlia" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "Japon" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "Espanha" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4395,13 +4440,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4411,6 +4474,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4470,12 +4574,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4502,72 +4606,72 @@ msgid "No details available" msgstr "Pas cap d'entresenha disponibla" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "Ensenhador" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "Indèx" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "Glossari" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "Mercejaments" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "Bibliografia" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "Colofon" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "Dreches d'autor" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "Dedicàcia" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "Epigraf" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "Nòtas" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "Prefàcia" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4576,14 +4680,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4608,12 +4712,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4646,7 +4750,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4771,9 +4875,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4789,11 +4893,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "Nòta" @@ -4836,6 +4940,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4990,7 +5098,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5112,12 +5220,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5194,8 +5302,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5316,7 +5424,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5364,7 +5472,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5378,7 +5486,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5390,12 +5498,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5535,7 +5643,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5563,7 +5671,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5604,7 +5712,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5617,96 +5725,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5725,6 +5846,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5797,75 +5919,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5941,12 +6065,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "En cors d'arrèst" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6030,8 +6154,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "Fracàs del telecargament" @@ -6067,7 +6191,7 @@ msgid "Download complete" msgstr "Telecargament acabat" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6137,15 +6261,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6250,17 +6374,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6269,185 +6404,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6564,7 +6710,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6669,7 +6815,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6681,30 +6827,30 @@ msgstr "Botigas" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6714,11 +6860,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -6982,7 +7128,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7192,7 +7338,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7202,7 +7348,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "Colleccions" @@ -7236,16 +7382,25 @@ msgstr "Camin" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7313,7 +7468,7 @@ msgstr "sortida" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7499,7 +7654,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "Nom" @@ -7839,8 +7994,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "Normal" @@ -8756,59 +8911,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8820,13 +8979,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9064,6 +9239,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "Convertir" @@ -9630,7 +9809,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9676,81 +9855,81 @@ msgstr "Periferic : " msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9912,7 +10091,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10423,13 +10602,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "Bibliotèca" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "Periferic" @@ -10463,8 +10642,8 @@ msgid "Location" msgstr "Emplaçament" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10483,13 +10662,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10588,7 +10767,7 @@ msgstr "Ligam" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "Cap de correspondéncia pas trobada." @@ -10636,12 +10815,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10736,40 +10915,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "&Copiar cap al quichapapièrs" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "Copiat" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11637,6 +11816,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11672,12 +11852,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12251,12 +12431,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12308,6 +12488,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12322,6 +12503,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13198,7 +13380,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13242,7 +13424,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13252,66 +13434,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13324,32 +13510,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13358,30 +13544,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13486,7 +13672,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13984,7 +14170,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14129,15 +14315,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14145,27 +14331,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14173,38 +14359,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14345,7 +14537,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14388,34 +14581,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14464,12 +14657,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15382,10 +15575,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15403,7 +15592,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16371,20 +16560,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16417,18 +16606,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16803,83 +16992,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17155,32 +17494,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17294,46 +17633,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17355,13 +17694,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17454,7 +17793,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17493,138 +17832,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17635,56 +17974,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17726,73 +18065,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17800,134 +18150,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18006,31 +18401,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18038,11 +18433,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18058,16 +18453,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18090,34 +18485,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18658,29 +19053,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19928,44 +20323,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19974,59 +20369,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20037,28 +20432,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20068,11 +20473,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20082,15 +20487,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20105,7 +20510,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20115,40 +20520,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20159,28 +20564,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20191,13 +20596,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20217,11 +20622,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20232,30 +20637,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20267,17 +20672,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20286,27 +20691,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20316,15 +20721,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20337,40 +20742,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20384,13 +20789,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20398,34 +20803,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20440,18 +20845,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20459,33 +20864,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20508,31 +20913,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20774,20 +21170,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20810,7 +21206,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20819,98 +21215,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20923,21 +21319,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21940,10 +22338,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22042,6 +22436,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22090,107 +22509,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22453,7 +22872,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/pa.po b/src/calibre/translations/pa.po index 12708c0254..dc19c86b5f 100644 --- a/src/calibre/translations/pa.po +++ b/src/calibre/translations/pa.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2011-08-05 16:48+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: Punjabi \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:19+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:35+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -325,345 +325,345 @@ msgstr "%s ਫਾਇਲਾਂ ਦਾ ਮੈਟਾ-ਡਾਟਾ ਚੁਣੋ" msgid "Set metadata from %s files" msgstr "%s ਫਾਇਲਾਂ ਤੋਂ ਮੈਟਾ-ਡਾਟਾ ਚੁਣੋ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "ਦਿੱਖ ਅਤੇ ਵਰਤੋਂ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "ਇੰਟਰਫੇਸ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "Calibre ਦੀ ਦਿੱਖ ਅਤੇ ਵਰਤੋਂ ਨੂੰ ਆਪਣੀ ਪਸੰਦ ਮੁਤਾਬਿਕ ਬਦਲੋ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "ਵਿਵਹਾਰ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "Calibre ਦੇ ਵਿਵਹਾਰ ਨੂੰ ਬਦਲੋ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "ਤਬਦੀਲੀ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "ਕਿਤਾਬਾਂ ਸ਼ੁਮਾਰ ਕਰਨੀਆਂ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "ਇਮ੍ਪੋਰਟ / ਏਕ੍ਸ੍ਪੋਰਟ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "ਕਿਤਾਬਾਂ ਨੂੰ disk ਤੇ save ਕਰਨਾ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "ਕਿਤਾਬਾਂ ਨੂੰ device ਤੇ ਭੇਜਣਾ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "Save/Send ਕਰਨ ਤੋਂ ਪੈਹ੍ਲਾਂ ਮੈਟਾ-ਡਾਟਾ ਫ਼ੀਲਡ ਬਦਲੋ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "ਖਸੂਸੀ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "Email ਰਾਹੀਂ ਕਿਤਾਬਾਂ ਸਾਂਝੀਆਂ ਕਰਨਾ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "ਸਾਂਝਾ ਕਰਨਾ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "Internet ਉੱਤੇ ਸਾਂਝਾ ਕਰਨਾ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "ਪਲੱਗ-ਇਨ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Calibre ਦੀ ਕਾਰਜ-ਪ੍ਰਣਾਲੀ ਵਿੱਚ ਇਜ਼ਾਫ਼ਾ/ਘਾਟਾ/ਬਦਲਾਓ ਕਰੋ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -948,8 +948,8 @@ msgstr "" msgid "Disable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -959,11 +959,22 @@ msgstr "" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -975,26 +986,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1007,11 +1018,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" @@ -1019,14 +1030,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1034,7 +1045,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1042,45 +1053,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1108,23 +1144,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1247,8 +1283,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "" @@ -1296,10 +1332,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1340,6 +1376,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1658,17 +1695,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1676,12 +1713,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1689,7 +1726,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1701,7 +1738,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1714,10 +1751,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1774,66 +1813,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1841,7 +1880,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1850,11 +1889,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1874,55 +1913,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2047,7 +2086,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2528,7 +2567,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2837,23 +2876,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3141,15 +3180,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4100,7 +4143,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4124,27 +4167,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4180,13 +4223,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4195,9 +4239,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4207,7 +4252,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4219,8 +4264,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4332,60 +4377,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4393,13 +4438,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4409,6 +4472,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4468,12 +4572,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4500,72 +4604,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4574,14 +4678,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4606,12 +4710,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4644,7 +4748,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4769,9 +4873,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4787,11 +4891,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4834,6 +4938,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4988,7 +5096,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5110,12 +5218,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5192,8 +5300,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5314,7 +5422,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5362,7 +5470,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5376,7 +5484,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5388,12 +5496,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5533,7 +5641,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5561,7 +5669,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5602,7 +5710,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5615,96 +5723,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5723,6 +5844,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5795,75 +5917,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5939,12 +6063,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6028,8 +6152,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6065,7 +6189,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6135,15 +6259,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6248,17 +6372,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6267,185 +6402,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6562,7 +6708,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6667,7 +6813,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6679,30 +6825,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6712,11 +6858,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -6980,7 +7126,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7190,7 +7336,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7200,7 +7346,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7234,16 +7380,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7311,7 +7466,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7497,7 +7652,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7837,8 +7992,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8754,59 +8909,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8818,13 +8977,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9062,6 +9237,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9628,7 +9807,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9674,81 +9853,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9910,7 +10089,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10421,13 +10600,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10461,8 +10640,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10481,13 +10660,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10586,7 +10765,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10634,12 +10813,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10734,40 +10913,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11635,6 +11814,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11670,12 +11850,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12249,12 +12429,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12306,6 +12486,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12320,6 +12501,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13196,7 +13378,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13240,7 +13422,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13250,66 +13432,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13322,32 +13508,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13356,30 +13542,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13484,7 +13670,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13982,7 +14168,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14127,15 +14313,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14143,27 +14329,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14171,38 +14357,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14343,7 +14535,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14386,34 +14579,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14462,12 +14655,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15380,10 +15573,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15401,7 +15590,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16369,20 +16558,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16415,18 +16604,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16801,83 +16990,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17153,32 +17492,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17292,46 +17631,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17353,13 +17692,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17452,7 +17791,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17491,138 +17830,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17633,56 +17972,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17724,73 +18063,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17798,134 +18148,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18004,31 +18399,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18036,11 +18431,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18056,16 +18451,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18088,34 +18483,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18656,29 +19051,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19926,44 +20321,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19972,59 +20367,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20035,28 +20430,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20066,11 +20471,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20080,15 +20485,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20103,7 +20508,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20113,40 +20518,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20157,28 +20562,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20189,13 +20594,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20215,11 +20620,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20230,30 +20635,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20265,17 +20670,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20284,27 +20689,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20314,15 +20719,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20335,40 +20740,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20382,13 +20787,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20396,34 +20801,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20438,18 +20843,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20457,33 +20862,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20506,31 +20911,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20772,20 +21168,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20808,7 +21204,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20817,98 +21213,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20921,21 +21317,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21938,10 +22336,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22040,6 +22434,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22088,107 +22507,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22451,7 +22870,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/pl.po b/src/calibre/translations/pl.po index 48a052ce6b..be121de6d0 100644 --- a/src/calibre/translations/pl.po +++ b/src/calibre/translations/pl.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" -"PO-Revision-Date: 2013-04-03 14:03+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" +"PO-Revision-Date: 2013-04-29 18:36+0000\n" "Last-Translator: Piotr Parafiniuk \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" @@ -16,8 +16,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2013-04-04 05:25+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-30 05:16+0000\n" +"X-Generator: Launchpad (build 16580)\n" "X-Poedit-Bookmarks: -1,3588,-1,-1,-1,-1,-1,-1,-1,-1\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -25,16 +25,16 @@ msgid "Does absolutely nothing" msgstr "Ta opcja zupełnie nic nie zmienia" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -89,8 +89,8 @@ msgstr "Ta opcja zupełnie nic nie zmienia" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -101,9 +101,9 @@ msgstr "Ta opcja zupełnie nic nie zmienia" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -112,7 +112,7 @@ msgstr "Ta opcja zupełnie nic nie zmienia" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -125,7 +125,7 @@ msgstr "Ta opcja zupełnie nic nie zmienia" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -147,13 +147,13 @@ msgstr "Ta opcja zupełnie nic nie zmienia" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -162,33 +162,33 @@ msgstr "Ta opcja zupełnie nic nie zmienia" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -333,74 +333,74 @@ msgstr "Ustaw metadane w %s plikach" msgid "Set metadata from %s files" msgstr "Pobierz metadane z %s plików" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "Dodaj książki do calibre lub podłączonego urządzenia" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" "Ściągnij notatki z podłączonego czytnika Kindle (funkcja eksperymentalna)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "Utwórz katalog książek w bieżącej bibliotece" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "Konwertuj książki na różne formaty" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "Dopracuj swoje książki" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "Edycja spisu treści w książkach" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "Usuń książki z biblioteki calibre lub podłączonego urządzenia" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "Edytuj metadane książek z biblioteki calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "Czytaj ksiązki z biblioteki calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "Pobierz wiadomości z Internetu w formie ebooka" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Pokaż szybko listę powiązanych książek" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "Ekspotuj książki z biblioteki calibre na dysk twardy" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "Pokaż informacje o książce w nowym okienku" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "Restartuj calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "Otwórz katalog zawierający bibliotekę calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "Wyślij książki na podłączone urządzenie" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" @@ -408,42 +408,42 @@ msgstr "" "Wyślij książki poprzez email lub stronę oraz połącz się z iTunes lub " "katalogami na twoim komputerze tak jakby były urządzeniami" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "Przeglądaj Podręcznik Użytkownika calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "Dostosuj calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "Łatwo odszukaj książki podobne do aktualnie wybranej" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "Przełącz się pomiędzy bibliotekami calibre i zarządzaj nimi" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "Skopiuj książki z urządzenia do biblioteki calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "Edytuj kolekcje w których znajdują się książki na twoim urządzeniu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "Skopiuj książkę z jednej biblioteki calibre do drugiej" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" "Wprowadź drobne zmiany do plików epub oraz htmlz w Twojej bibliotece Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" @@ -451,56 +451,56 @@ msgstr "" "Pokaż następne lub poprzednie dopasowanie przy wyszukiwaniu w bibliotece w " "trybie podświetlania." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "Wybierz losową książkę z biblioteki calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "Szukaj książek w różnych księgarniach" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "Pobierz nowe wtyczki do calibre lub zaktualizuj zainstalowane" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Wygląd" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Interfejs" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "Dostosuj wygląd interfejsu calibre do indywidualnych upodobań" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "Zachowanie" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "Zmień zachowanie calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Dodaj własne kolumny" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "Dodaj/usuń swoje kolumny do/z listy książek" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Pasek narzędzi" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -508,66 +508,66 @@ msgstr "" "Dostosuj paski narzędzi i menu kontekstowe, wybierając, jakie polecenia są w " "nich dostępne" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "Szukanie" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "Dostosuj sposób działania wyszukiwarki książek w calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "Opcje wejścia" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Konwersja" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "Ustaw opcje konwersji dla poszczególnych formatów wejściowych" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Opcje wspólne" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "Ustaw opcje konwersji wspólne dla wszystkich formatów" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "Opcje wyjściowe" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "Ustaw opcje konwersji dla poszczególnych formatów wyjściowych" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "Dodawanie książek" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "Importuj/Eksportuj" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Skonfiguruj sposób, w jaki calibre odczytuje metadane z plików podczas " "dodawania książek" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" -msgstr "Zapisuje książki na dysku" +msgstr "Zapis książek na dysk" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -575,50 +575,50 @@ msgstr "" "Skonfiguruj sposób, w jaki calibre eksportuje pliki ze swojej bazy danych " "podczas zapisywania na dysk" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "Przesyłanie książek na urządzenia" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "Skonfiguruj sposób przesyłania książek do czytnika" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "Panel kontrolny metadanych" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "Zmień pola metadanych przed zapisaniem/wysłaniem" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "Funkcje szablonów" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "Zaawansowane" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "Stwórz własne funkcje szablonów" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "Udostępnianie książek poprzez email" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "Udostępnianie" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -626,11 +626,11 @@ msgstr "" "Skonfiguruj udostępnianie książek poprzez email. Możesz użyć tej opcji do " "automatycznego wysyłania newsów na swoje urządzenia" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "Współdzielenie poprzez sieć" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -638,20 +638,20 @@ msgstr "" "Skonfiguruj serwer calibre Content Server, aby z każdego miejsca i " "urządzenia mieć dostęp przez Internet do swojej biblioteki calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "Pobieranie metadanych" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "Kontroluj sposób, w jaki calibre pobiera metadane z Sieci" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "Ignorowane urządzenia" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." @@ -659,37 +659,37 @@ msgstr "" "Konfiguruje urządzenia ignorowane przez calibre przy podłączeniu do " "komputera." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Wtyczki" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Dodaj/usuń/dostosuj różne funkcje calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "Parametry" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "Dostosuj jak calibre zachowa się w różnych sytuacjach" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "Klawiatura" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "Dostosuj skróty klawiszowe używane w calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Różne" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "Zaawansowana konfiguracja (różne funkcje)" @@ -1001,8 +1001,8 @@ msgstr "Włącz wtyczkę" msgid "Disable the named plugin" msgstr "Wyłącz wtyczkę" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -1012,11 +1012,22 @@ msgstr "Wyłącz wtyczkę" msgid "Path to library too long. Must be less than %d characters." msgstr "Zbyt długa ścieżka biblioteki. Nie może być dłuższa niż %d znaków." -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "odzyskane ustawienia " + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "tworzenie kolumny użytkownika " + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -1028,26 +1039,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "%(tt)sŚrednia ocena: %(rating)3.1f" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "Główna" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "Karta A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "Karta B" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1060,11 +1071,11 @@ msgstr "Karta B" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Newsy" @@ -1072,14 +1083,14 @@ msgstr "Newsy" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "zaznaczony" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "tak" @@ -1087,7 +1098,7 @@ msgstr "tak" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "nie" @@ -1095,45 +1106,71 @@ msgstr "nie" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "odznaczony" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "dzisiaj" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "wczoraj" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "w tym miesiącu" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "dni temu" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "Błąd konwersji liczby {0}" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "Błąd konwersji daty: {0}" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "Nienumeryczna wartość w zapytaniu: {0}" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "pusty" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "pusty" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "Nieprawidłowe zapytanie \"{0}\"" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" +"Niewłaściwy format zapytania dla wyszukiwania zawierającego dwukropek: {0}" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "Wykryto rekursywne zapytanie: {0}" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1167,7 +1204,7 @@ msgstr "Nie znaleziono wtyczki o nazwie %s" msgid "Communicate with Android phones." msgstr "Umożliwia komunikację z telefonami z Androidem." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" @@ -1175,7 +1212,7 @@ msgstr "" "Oddzielana przecinkami lista katalogów w głównej pamięci urządzenia, " "do których będą przesyłane książki. Zostanie użyty pierwszy istniejący" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" @@ -1183,11 +1220,11 @@ msgstr "" "Oddzielana przecinkami lista katalogów na karcie pamięci urządzenia, " "do których będą przesyłane książki. Zostanie użyty pierwszy istniejący" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "Umożliwia komunikację z telefonami S60." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "Umożliwia komunikację z tabletami z systemem WebOS." @@ -1338,8 +1375,8 @@ msgstr "" "Kliknij 'Pokaż szczegóły', aby zobaczyć listę." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "Katalog" @@ -1394,10 +1431,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1438,6 +1475,7 @@ msgstr "Dodawanie książek do listy metadanych urządzenia..." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1775,17 +1813,17 @@ msgstr "" "jeśli okładka została zmodyfikowana." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "Wyślij czarno-białe okładki" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "Pokaż" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1796,12 +1834,12 @@ msgstr "" "pokazanie martwych wpisów i usunięcie ich przy pomocy nowej metody." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "Pokaż podgląd" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1812,7 +1850,7 @@ msgstr "" "jeśli chcesz mieć do niego dostęp." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "Pokaż rekomendacje" @@ -1826,7 +1864,7 @@ msgstr "" "linkami do stron księgarń. Włącz jeśli chcesz je widzieć/usunąć." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "Próba wsparcia nowego oprogramowania firmware" @@ -1843,10 +1881,12 @@ msgstr "" "ustawień fabrycznych i testowaniu oprogramowania" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "Nieobsługiwana wersja bazy danych Kobo - patrz szczegóły" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1925,19 +1965,19 @@ msgstr "" "/>Postęp: %(chapter_progress)s%%
Zaznaczenie: %(text)s
Notatki: %(annotation)s

" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "Firmware Kobo Touch od wersji V2.0.0 wspiera biblioteczki." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "Określ kolumnę typu etykiety na potrzeby automatycznego zarządzania" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "Utwórz biblioteczkę" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." @@ -1945,32 +1985,32 @@ msgstr "" "Utwórz nową biblioteczkę na Kobo Touch jeśli nie istnieje. Opcja tylko dla " "firmware w wersji V2.0.0 lub późniejszej." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "Usuń puste bilblioteczki" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "Usuń pui" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "Wgraj okładki książek" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" "Prześlij również okładki z biblioteki przy przesyłaniu książek na urządzenie." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "Utrzymaj proporcje okładki" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." @@ -1978,7 +2018,7 @@ msgstr "" "W czasie przesyłania okładek nie zmieniaj proporcji przy przeskalowaniu na " "potrzeby urządzenia. Działa z firmware'em w wersji 2.3.1 i późniejszych." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " @@ -1988,11 +2028,11 @@ msgstr "" "pliku, ale czasem są po prostu odsyłaczami do księgarni internetowej. Włącz " "tę opcję jeśli chcesz je widzieć/usunąć." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "Ustaw informację od seriach" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -2004,7 +2044,7 @@ msgstr "" "przetworzeniu książki przez urządzenie. Włącz tę opcję jeśli chcesz podać " "informację o seriach." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -2018,11 +2058,11 @@ msgstr "" "fabrycnych i testowaniem oprogramowania. Ten sterownik wspiera wersję " "firmware'u 2.x.x. " -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "Tytuł do testów w czasie debugowania" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -2045,55 +2085,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "Umożliwia komunikację z czytnikami książek Sweex/Kogan/Q600/Wink" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "Umożliwia komunikację z czytnikiem Pandigital Novel" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "Umożliwia komunikację z czytnikiem książek VelocityMicro" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "Umożliwia komunikację z czytnikiem książek GM2000" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "Umożliwia komunikację z czytnikiem książek Acer Lumiread" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "Umożliwia komunikację z czytnikiem książek Aluratek Color" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "Umożliwia komunikację z czytnikiem książek Trekstor" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "Umożliwia komunikację z czytnikiem książek EEE" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "Umożliwia komunikację z tabletem Adam" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "Umożliwia komunikację z czytnikiem książek Nextbook" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "Umożliwia komunikację z czytnikiem książek Moovybook" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "Umożliwia komunikację z czytnikiem książek COBY" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "Umożliwia komunikację z Ex124G" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "Umożliwia komunikację z czytnikamivWayteQ i SPC Dickens" @@ -2221,7 +2261,7 @@ msgstr "Nook" msgid "Communicate with the Nook eBook reader." msgstr "Umożliwia komunikację z czytnikiem książek Nook." -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "Umożliwia komunikację z czytnikami Nook Color, TSR i Tablet eBook" @@ -2779,7 +2819,7 @@ msgid "There is insufficient free space on the storage card" msgstr "Na karcie pamięci jest niewystarczająca ilość wolnego miejsca" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "Wykonane %s" @@ -3199,24 +3239,24 @@ msgstr "" "gdyż może ona mieć różne nieprzyjemne efekty uboczne w dalszym procesie " "konwersji." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "plik CSS użyty do dokumentu wyjściowego, zamiast domyślnego" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "Wzór użyty do wygenerowania indeksu pliku html, zamiast domyślnego" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" "Wzór użyty do wygenerowania zawartości pliku html, zamiast domyślnego" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3574,20 +3614,23 @@ msgstr "" "szablon stopki będzie on miał pierwszeństwo przed ustawieniem tej opcji." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." msgstr "" -"Szablon HTML używany do wygenerowania stopki strony. Numer strony zostanie " -"umieszczony w miejsce ciągu _PAGENUM_." +"Szablon HTML użyty do utworzenia %s na każdej stronie. Tekst _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ zostanie zamieniony na odpowiadające im " +"wartości." + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" +msgstr "stopki" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." -msgstr "" -"Szablon HTML używany do wygenerowania nagłówka strony. Numer strony zostanie " -"umieszczony w miejsce ciągu _PAGENUM_." +msgid "headers" +msgstr "nagłówki" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 msgid "" @@ -4805,7 +4848,7 @@ msgstr "" msgid "Set book ID" msgstr "Wpisz identyfikator książki" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4831,27 +4874,27 @@ msgstr "Nie" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "Tytuł" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "Autor(rzy)" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "Wydawca" @@ -4887,13 +4930,14 @@ msgstr "Komentarze" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "Etykiety" @@ -4902,9 +4946,10 @@ msgstr "Etykiety" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4915,7 +4960,7 @@ msgstr[1] "Cykle" msgstr[2] "Cykli" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4927,8 +4972,8 @@ msgstr "Data" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "Opublikowano" @@ -5064,60 +5109,60 @@ msgstr "" "Pobierz okładkę/metadane społeczne dla książki określonej numerem ISBN z " "LibraryThing.com\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "Okładka" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "Pobierz metadane i okładki z Amazon" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "US" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "Francja" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "Niemcy" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "UK" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "Włochy" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "japoński" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "hiszpański" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "Brazylia" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "Użyj tej strony Amazon:" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "Metadane z Amazon będą pobrane z wybranego oddziału Amazon." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "Upłynął czas zapytania Amazon. Spróbuj ponownie później." @@ -5125,6 +5170,26 @@ msgstr "Upłynął czas zapytania Amazon. Spróbuj ponownie później." msgid "Metadata source" msgstr "Źródło metadanych" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" +"Pobiera wiele okładek z Amazonu. Przydatne przy wyszukiwaniu alternatywnych " +"okładek." + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "Konfiguruj wtyczkę Big Book Search" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "Maksymalna liczba okładek do pobrania" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "Maksymalna liczba okładek przetwarzanych w czasie przeszukiwania" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " @@ -5133,7 +5198,7 @@ msgstr "" "Pobieranie metadanych i okładekz Douban.com. Użyteczne tylko dla książek w " "języku chińskim." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -5145,6 +5210,50 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "Pobierz metadane i okładki z Google Books" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" +"Pobierz okładaki z wyszukiwania obrazów Google. Przydaje się do wyszukiwania " +"większych/alternatywnych okładek." + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "Konfiguruj wtyczkę wyszukiwania obrazów Google" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" +"Maksymalna liczba okładek do przetworzenia z wyniku wyszukiwania google" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "Rozmiar okładki" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "Wyszukaj okładki większe niż zakładany rozmiar" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "Dowolny rozmiar" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "Duże" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "Większy niż %s" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "Pobierz metadane z isbndb.com" @@ -5215,12 +5324,12 @@ msgstr "" "To jest książka z czytnika Amazon Topaz. Nie może ona zostać przetworzona." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "To nie jest plik MOBI. Jest to plik Topaz." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "To nie jest plik MOBI" @@ -5254,72 +5363,72 @@ msgid "No details available" msgstr "Informacje nie są dostępne" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "Spis treści" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "Strona tytułowa" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "Spis" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "Słowniczek" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "Podziękowania" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "Bibliografia" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "Kolofon" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "Prawa autorskie" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "Dedykacja" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "Epigraf" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "Przedsłowie" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "Lista ilustracji" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "Lista tabel" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "Notatki" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "Wstęp" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "Tekst główny" @@ -5328,7 +5437,7 @@ msgstr "Tekst główny" msgid "%s format books are not supported" msgstr "książki formatu %s nie są wspierane" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " @@ -5338,7 +5447,7 @@ msgstr "" "wprowadzonym prze Amazon. calibre może edytować jednynie pliki zawierające " "książki KF8. Starsze formaty, bez KF8 nie mogą być edytowane." -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -5365,26 +5474,24 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" -"

Dopraccowywanie książek oznacza dodanie ostatniego szlifu\n" -"twoim książkom.

\n" -"

Wprowadzane są drobne zmiany w kodzie książki. W odróżnieniu od " -"konwersji\n" -"nie są zmieniane arkusze stylów, nazwy plików, rozmiar czcionki, " -"marginesy itp.\n" -"Każda czynność zmienia tylko tyle ile jest potrzebne do uzyskania " -"oczekiwanego efektu.

\n" +"

Dopracowywanie książek jest dodawaniem ostatniego szlifu do \n" +"twoich książek.

\n" "\n" -"

To narzedzie powinno zostać użyte na ostatnim etapie tworzenia " -"książki.

\n" +"

Dopracowywanie powoduje jedynie niewielkie zmiany w kodzie książki.\n" +"W odróżnieniu od konwersji w tym przypadku nie są zmieniane arkusze CSS, \n" +"nazwy plików, rozmiar czcionki, marginesy itp. Na każdym etapie wykonywane " +"są\n" +"jedynie minimalne zmiany, potrzebne do uzyskania pożądanego efektu.

\n" "\n" -"

Należy pamiętać, że dopracowywane mogą być jedynie książki w formatach " -"%s.\n" +"

Tego narzędzia należy użyć na ostatnim etapie tworzenia książki

\n" +"{0}\n" +"

Należy pamiętać, że dopracować można jedynie książki w formatach %s

" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -5432,11 +5539,12 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" -"

Umieszcza na początku książki stronę z \"metryczką\", zawierającą\n" -"wszystkie metadane takie jak tytuł, etykiety, autora(ów), serię, komentarz " -"itp." +"

Wstaw na początku książki \"metryczkę\", która zawiera wszystkie\n" +"informacje o książce takie jak tytuł, etykiety, autorów, serię, komentarze " +"itp.\n" +"Jeśli wcześniej wstawiono metryczkę zostanie ona zamieniona na nową.

" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 msgid "

Remove a previous inserted book jacket page.

\n" @@ -5569,9 +5677,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "Zakładka %(a)s nie istnieje w pliku %(f)s" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "(Bez tytułu)" @@ -5587,11 +5695,11 @@ msgid "HTML TOC generation options." msgstr "Opcje generowania spisu treści w HTML." #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "Ocena" @@ -5638,6 +5746,10 @@ msgstr "Strona %d" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "Nie mogę znaleźć pdftohtml, sprawdź zmienną PATH" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "Bez tytułu" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5805,7 +5917,7 @@ msgid "Show this confirmation again" msgstr "Pokazuj to potwierdzenie ponownie" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "Wymagane ponowne uruchomienie" @@ -5932,12 +6044,12 @@ msgstr "Sposób dodawania książek" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -6019,8 +6131,8 @@ msgstr "Dodaj do biblioteki" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -6144,7 +6256,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "Wybierz położenie dla %(title)s.%(fmt)s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -6197,7 +6309,7 @@ msgid "No existing calibre library found at %s" msgstr "Nie znaleziono biblioteki w %s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "Wybierz bibliotekę" @@ -6211,7 +6323,7 @@ msgstr "Zmień bibliotekę lub utwórz nową...." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -6223,12 +6335,12 @@ msgid "Pick a random book" msgstr "Wybierz losową książkę" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "Szybki przełącznik" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "Zmień nazwę biblioteki" @@ -6383,7 +6495,7 @@ msgstr "" "sprawdził czy pliki w bibliotece zgadzają się z informacjami w bazie danych?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -6414,7 +6526,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -6457,7 +6569,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "Stwórz katalog książek w swojej bibliotece calibre" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "Nie można przekonwertować" @@ -6470,89 +6582,102 @@ msgstr "Rozpoczynam konwersję %d książki(ek)" msgid "Empty output file, probably the conversion process crashed" msgstr "Plik wyjściowy pusty, prawdopodobnie proces konwersji się wysypał" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "%(title)s autorstwa %(author)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "Wybierz bibliotekę" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "Ścieżka do &biblioteki" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "Szukaj biblioteki" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" -msgstr "&Usuń po skopiowaniu" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" +msgstr "Kopiuj" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "Kopiuj do wybranej biblioteki" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "&Przenieś" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "Skopiuj do wybranej biblioteki i usuń z bieżącej" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "Kopiuj do biblioteki" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "Kopiuj wybrane książki do wybranej biblioteki" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "(po skopiowaniu skasuj)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "Wybierz bibliotekę wg ścieżki..." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "Nie można skopiować" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "Nie można kopiować do bieżącej biblioteki" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "Nie ma biblioteki" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "Nie znaleziono żadnej biblioteki w lokalizacji %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "Kopiowanie do" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "Przenoszenie do" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "Skopiowano %(num)d książek do %(loc)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "Przeniesiono %(num)d książek do %(loc)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "Nie można skopiować książek: " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "Automatycznie scalone" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " @@ -6563,7 +6688,7 @@ msgstr "" "Automatyczne łączenie książek może być ustawiane w Ustawienia -> Dodawanie " "książek." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -6584,6 +6709,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "Na pewno?" @@ -6663,11 +6789,11 @@ msgstr "" "Format %(fmt)s zostanie nieodwracalnie usunięty z %(title)s. Na pewno " "usunąć?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "Wybierz formaty do usunięcia" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." @@ -6675,7 +6801,7 @@ msgstr "" "Wybierz formaty, które nie mają być usunięte.

Ta opcja nigdy nie " "usuwa wszystkich formatów książki." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" @@ -6683,44 +6809,44 @@ msgstr "" "Wszystkie formaty wybranych książek zostaną usunięte z Twojej " "biblioteki.
Metadane książki zostaną zachowane. Jesteś pewien?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "Nie udało się usunąć książek" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "Żadne urządzenie nie jest podłączone" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "Pamięć główna" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "Karta pamięci A" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "Karta pamięci B" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "Brak książek do usunięcia" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "Żadna z wybranych książek nie znajduje się na urządzeniu" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "Usuwanie książek z urządzenia." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" @@ -6728,21 +6854,23 @@ msgstr "" "Niektóre z zaznaczonych książek są również na urządzeniu. Skąd chcesz " "usunąć zaznaczone książki?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -"Wybrane książki zostaną trwale usunięte oraz pliki zostaną usunięte z " -"twojej biblioteki calibre. Czy jesteś pewien?" +"Wybrane książki (%d) zostaną całkowicie skasowane, a ich pliki " +"usunięte z biblioteki calibre. Na pewno usunąć?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" -"Wybrane książki zostaną trwale usunięte z twojego urządzenia. Jesteś " -"pewien?" +"Wybrane książki (%d) zostaną całkowicie usunięte z urządzenia. Na " +"pewno usunąć?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 msgid "Start wireless device connection" @@ -6819,12 +6947,12 @@ msgstr "" "specjalnych urządzeń itp." #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "Zatrzymywanie" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "Zatrzymuję serwer, to może zająć minutkę, proszę czekać..." @@ -6910,8 +7038,8 @@ msgstr "Nie udało się pobrać metadanych" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "Błąd pobierania" @@ -6954,7 +7082,7 @@ msgid "Download complete" msgstr "Pobieranie zakończone" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "Dziennik pobierania" @@ -7049,15 +7177,15 @@ msgstr "" "wskazanych książkach zostaną całkowicie usunięte z twojej biblioteki " "calibre.

Jesteś pewien, że chcesz kontynuować?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "Zapisywanie zmienionych metadanych" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "Wystąpiły błędy" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -7165,17 +7293,33 @@ msgstr "Dopracuj %d książek" msgid "

About Polishing books

%s" msgstr "

O dopracowywaniu książek

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" +"

Jeśli w książce istnieją formaty EPUB i ORIGINAL_EPUB to \n" +"dopracowany zostanie ORIGINAL_EPUB (tak samo dzieje się z innymi\n" +"formatami ORIGINAL_*). Jeśli więc nie chcesz pracować na oryginalnym " +"formacie\n" +"należy usunąc ORIGINAL_* przed uruchomieniem dopracowywania ksiażki.

" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "

Podzbiór czcionki

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "

Inteligentna interpunkcja

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -7189,7 +7333,7 @@ msgstr "" "wszystkich metadanych przechowywanych w bibliotece.

Okładka jest " "uaktualniana oddzielną opcją

" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " @@ -7199,140 +7343,154 @@ msgstr "" "przechowywanej w bibliotece.

Jeśli nie istnieje możliwa do " "identyfikacji okładka to jest tworzona nowa.

" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "

Metryczka książki%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "

Usuń metryczkę

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "Wybierz czynność" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "Podzbiór wszystkich osadzonych czcionek" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "Inteligentna &interpunkcja" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "Uaktualnij &metadane w plikach książki" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "Uaktualnij &okładkę w plikach książki" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "Dodaj metadane jako stronę z \"metryczką\"" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "&Usuń uprzednio dodaną metryczkę książi" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "Więcej" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "Pokaż &raport" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" "Po dopracowaniu książki pokaż raport o wszystkich wykonanych czynnościach" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "&Zapisz ustawienia" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "&Wczytaj ustawienia" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "&Zaznacz wszystko" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "&Odznacz wszystko" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "Nie wybrano czynności" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "Musisz wybrać przynajmniej jedną czynność przed zapisaniem" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "Wybierz nazwę" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "Wybierz nazwę dla tych ustawień" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "Usuń zapisane ustawienia" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "Konieczna aktualizacja danych" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" +"Wybrano opcję dodania metadanych jako \"metryczki\" książki. Aby ta opcja " +"zadziałała konieczne jest wybranie również opcji aktualizacji metadanych w " +"plikach książki. Czy zaznaczyć tę opcję?" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "Musisz wybrać co najmniej jedną czynność albo kliknąć Anuluj" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "Kolejkowanie książek do dopracowania" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "Dopracuj %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "Dopracowywanie książki %(nums)s z %(tot)s (%(title)s)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "Kolejkowanie książki %(nums)s z %(tot)s (%(title)s)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "Pomiń ostatnich %d zapisów" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "Pokaż cały log" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "Dopracowywanie %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." @@ -7340,34 +7498,34 @@ msgstr[0] "Oryginalny plik został zapisany jako %s." msgstr[1] "Oryginalne pliki zostały zapisane jako %s." msgstr[2] "Oryginalne pliki zostały zapisane jako %s." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr " i " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" "Jeśli ponownie będziesz dopracowywać książkę to operacja będzie " "przeprowadzona na oryginale." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "Dopracuj książki" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "Dodaj ostatnie szlify do swoich książek" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "P" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "Nie da się dopracować" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " @@ -7376,7 +7534,7 @@ msgstr "" "Dopracowywanie jest możliwe tylko dla formatów %s. Przekonwertuj książki do " "jednego z tych formatów aby je dopracować." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "Rozpoczynam dopracowywanie %d książek" @@ -7496,7 +7654,7 @@ msgid "Click the show details button to see which ones." msgstr "Kliknij \"Pokaż szczegóły\", aby zobaczyć które." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "Pokaż szczegóły książki" @@ -7603,7 +7761,7 @@ msgid "this book" msgstr "tej książki" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "Szukaj %s" @@ -7615,17 +7773,17 @@ msgstr "Sklepy" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "Wybierz sklepy" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "Nie można wyszukać" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." @@ -7633,7 +7791,7 @@ msgstr "" "Calibre ułatwia znalezienie książek których szukasz, sprawdzając oferty " "sklepów i bezpłatne źródła książek." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " @@ -7643,7 +7801,7 @@ msgstr "" "sklepach kupisz poszukiwaną książkę i znajdziesz najniższą cenę. Dowiesz się " "także o tym, czy użyto zabezpieczeń DRM." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -7660,11 +7818,11 @@ msgstr "" "urządzeniu, zwłaszcza, jeśli kupowane książki posiadają zabezpieczenia DRM." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "Pokaż tę wiadomość ponownie" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "O zdobywaniu książek" @@ -7960,7 +8118,7 @@ msgid "The specified directory could not be processed." msgstr "Wybrany folder nie może być przetworzony." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "Brak książek" @@ -8189,7 +8347,7 @@ msgid "Click to open" msgstr "Kliknij, aby otworzyć" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "Identyfikatory" @@ -8199,7 +8357,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "Książka %(sidx)s z %(series)s" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "Kolekcje" @@ -8233,16 +8391,25 @@ msgstr "Ścieżka" msgid "Cover size: %(width)d x %(height)d" msgstr "Rozmiar okładki: %(width)d x %(height)d" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "S&kopiuj odsyłacz" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "Usuń format %s." -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "Zapisz format %s na dysk" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "Przywróć format %s" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "Opcje BibTex" @@ -8310,7 +8477,7 @@ msgstr "wyjście" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -8504,7 +8671,7 @@ msgstr "Prawda" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "Nazwa" @@ -8858,8 +9025,8 @@ msgid "Style the selected text block" msgstr "Zastosuj styl do wybranego bloku tekstu" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "Normalny" @@ -9143,7 +9310,7 @@ msgstr " KB" #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:63 msgid "&Flatten EPUB file structure" -msgstr "&Spłaszcz strukturę pliku EPUB" +msgstr "&Usuń strukturę pliku EPUB" #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input.py:12 msgid "FB2 Input" @@ -9828,7 +9995,7 @@ msgstr "Brak &grafik" msgid "PDF Output" msgstr "Wyjściowy PDF" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " @@ -9838,52 +10005,56 @@ msgstr "" "\"Nadpisz\" poniżej jest ustawiona. W innym przypadku zostaną użyte " "ustawienia z profilu wyjściowego." -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "&" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "Rozmiar &papieru:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "Niestandardowy rozmiar:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "&Jednostka:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "Zachowaj &proporcje rozmiaru okładki" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "Dodaj &paginację na dole każdej strony" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "Rodzina czcionek sze&ryfowych:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "Rodzina czcionek &sans:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "Rodzina czcionek o s&tałej szerokości:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "Czcionka pods&tawowa:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "Domyślna wielkość czcion" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -9895,14 +10066,34 @@ msgstr "Domyślna wielkość czcion" msgid " px" msgstr " piks." -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "&Rozmiar czcionki o stałej szerokości:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" -msgstr "Dodaj &paginację na dole każdej strony" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "Nagłówki i stopki strony" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" +"Możesz dodać nagłówki i stopki do każdej strony tworzonego dokumentu PDF " +"przy użyciu szablonów. Przykłady znajdziesz w dokumentacji." + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "Szablon &nagłówka:" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" +msgstr "Szablon &stopki:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 msgid "PMLZ Output" @@ -10158,6 +10349,10 @@ msgstr "" "przetestowanie wyrażenia regularnego na bieżącej treści książki. Jeśli efekt " "jest satysfakcjonujący kliknij przycisk Dodaj aby dodać wyrażenie do listy." +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "Przywróć &domyślne" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "Konwertuj" @@ -10755,7 +10950,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "Wykryto %s. Czy calibre ma nim zarządzać?" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "Brak odpowiednich formatów" @@ -10803,68 +10998,68 @@ msgstr "Urządzenie: " msgid " detected." msgstr " wykryte" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "wybranych do wysłania" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "Brak urządzenia" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "Żadne urządzenie nie jest przyłączone" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "%(num)i z %(total)i Książek" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "0 z %i Książek" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "Wybierz format plików przesyłanych na urządzenie" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "Nie można było przesłać: Żadne urządenie nie jest podłączone" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "Brak karty" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "Nie można przesłać: Urządzenie nie posiada karty pamięci" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" "Dokonać automatycznej konwersji następujących książek przed przesłaniem ich " "na urządzenie?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "Trwa wysyłanie katalogów do urządzenia" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "Przesyłanie newsów na urządzenie." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "Wysyłanie książek do urządzenia." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." @@ -10873,17 +11068,17 @@ msgstr "" "znaleziono odpowiedniego formatu. Najpierw skonwertuj książkę(-i) do formatu " "obsługiwanego przez twoje urządzenie." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "Brak miejsca na urządzeniu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" "

Nie można umieścić książek na urządzeniu z powodu braku wolnego miejsca " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "Niewłaściwe miejsce docelowe" @@ -11065,7 +11260,7 @@ msgstr "Pokaż informacje o urządzeniu" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -11691,13 +11886,13 @@ msgid "Where do you want to delete from?" msgstr "Skąd chcesz skasować?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "Biblioteka" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "Urządzenie" @@ -11733,8 +11928,8 @@ msgid "Location" msgstr "Lokalizacja" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -11753,13 +11948,13 @@ msgstr "%(curr)s (było %(initial)s)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "Element jest pusty" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "Element nie może zostać ustawiony jako pusty. Po prostu go usuń." @@ -11869,7 +12064,7 @@ msgstr "Odnośnik" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "Brak pasujących wyników" @@ -11917,12 +12112,12 @@ msgid "Copy to author" msgstr "Kopiuj do pola autora" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "Błędna nazwa autora" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "Nazwy autorów nie mogą zawierać znaków &." @@ -12024,40 +12219,40 @@ msgstr "Ukryj &wszystkie zadania" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "&Kopiuj do schowka" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "Pokaż &szczegóły" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "Ukryj &szczegóły" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "Pokaż szczegółowe informacje na temat tego błędu" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "Skopiowano" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "Pokaż dziennik" @@ -13018,6 +13213,7 @@ msgstr "Przerywanie..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -13055,12 +13251,12 @@ msgstr "Elementy" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "Szukaj" @@ -13713,12 +13909,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "Numer portu musi zawierać się między 8000 i 32000." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "Problem przy uruchamianiu urządzenia bezprzewodowego" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -13779,6 +13975,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "Automatycznie zezwól na połączenia przy uruchamianiu calibre" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "Wydawcy" @@ -13793,6 +13990,7 @@ msgstr "Kategoria nazwy wyszukania: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "Błędna nazwa" @@ -14712,7 +14910,7 @@ msgid "&Shortcut:" msgstr "&Skrót:" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "Gotowe" @@ -14758,7 +14956,7 @@ msgstr "Szukaj nazwy polecenia" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "Brak trafień" @@ -14768,48 +14966,52 @@ msgstr "Brak trafień" msgid "Could not find any shortcuts matching %s" msgstr "Nie znaleziono żadnego polecenia zawierającego %s" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "Odłącz urządzenie" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "Konfiguruj urządzenie" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "Pokaż książki w bibliotece calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "Pokaż książki w pamięci głównej urządzenia" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "Pokaż książki na karcie pamięci A" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "Pokaż książki na karcie pamięci B" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "Skasuj bibliotekę" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "dostępne" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "Wirtualna biblioteka" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "Wyszukiwanie zaawansowane" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "Shift+Ctrl+F" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" @@ -14818,19 +15020,19 @@ msgstr "" "komentarzach, itd.

Słowa rozdzielone spacją są traktowane jako " "warunek ORAZ (AND)" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "Szukaj!" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "Wykonaj szybkie wyszukiwanie (możesz też nacisnąć Enter)" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "Wyczyść pasek wyszukiwania" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "Skopiuj aktualny tekst wyszukiwania (zamiast nazwy wyszukiwania)" @@ -14843,32 +15045,32 @@ msgstr "gwiazdek" msgid "Y" msgstr "Y" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "Na urządzeniu" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "Rozmiar (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "Zmodyfikowano" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "Poszukiwana nazwa to \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "UUID tej książki to \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -14879,32 +15081,32 @@ msgstr "" "NIe można zmienić lokalizacji książki na dysku. Czy nie jest ona otwarta w " "innym programie?" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "Nie można ustawić danych" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" "Nie dało się ustawić danych, kliknij Pokaż szczegóły, by przekonać się " "dlaczego." -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "W bibliotece" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "Rozmiar" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "Oznaczone do usunięcia" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "Kliknij dwa razy, aby rozpocząć edycję

" @@ -15011,7 +15213,7 @@ msgid "Previous Page" msgstr "Poprzednia strona" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -15552,7 +15754,7 @@ msgid "Edit Metadata" msgstr "Edycja metadanych" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -15707,15 +15909,15 @@ msgstr "&Komentarze" msgid "Basic metadata" msgstr "Podstawowe metadane" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "Ma okładkę" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "Ma streszczenie" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -15726,29 +15928,29 @@ msgstr "" "Zdarza się, że książka, oznaczona jako mająca okładkę nie ma jej\n" "albo odwrotnie." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "Zobacz" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "calibre pobiera metadane z: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "Proszę czekać" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "Zapytanie: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" "Nie udało się ściągnąć metadanych. Kliknij Pokaż szczegóły aby zobaczyć " "szczegóły" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -15760,40 +15962,48 @@ msgstr "" "autora i jedno słowo z tytułu.

Aby zobaczyć więcej informacji kliknij " "przycisk Pokaż szczegóły." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "Aktualnie ustawiona okładka" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "Wyszukiwanie..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "Pokaż tę okładkę w pełnym rozmiarze" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "Pobieranie okładek dla %s. Proszę czekać..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" "Nie udało się ściągnąć okładek, kliknij \"Pokaż szczegóły\", by zobaczyć " "informację." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "Nie znaleziono żadnej okładki dla %s" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." -msgstr "Znaleziono %(num)d okładek dla %(title)s. Wybierz najlepszą." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." +msgstr "" +"Znaleziono %(num)d możliwych okładek dla %(title)s. Po zakończeniu " +"pobierania okładki zostaną posortowane wg wielkości." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "Pobieranie metadanych..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "Pobieranie okładki..." @@ -15974,9 +16184,11 @@ msgid "The Add &Process" msgstr "Dodawanie" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" -"Ignoruj pliki z następującymi rozszerzeniami przy automatycznym dodawaniu " +"Ignoruj pliki z następującymi rozszerzeniami przy automatycznym " +"dodawaniu " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 msgid "" @@ -16027,34 +16239,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "&Automatyczne dodawanie" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "Wysoki" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "Niski" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "Bardzo niski" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "Układ kompaktowy" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "Domyślne" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "Wszystko na jednej zakładce" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "Wszystkie zapytania o potwierdzenie zostały zresetowane" @@ -16108,17 +16320,20 @@ msgid "Job &priority:" msgstr "&Priorytet zdań:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" -msgstr "Zastosowane ograniczenie gdy jest otwarta bieżąca biblioteka:" +msgid "Virtual library to apply when the current library is opened:" +msgstr "" +"Automatycznie uaktywnij wirtualną bibliotekę kiedy aktualna biblioteka jest " +"otwierana:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" -"Zastosuj to ograniczenie podczas uruchamiania programu calibre jeśli bieżąca " -"biblioteka jest w użyciu. To ustawienie jest dla biblioteki. " +"Użyj tej wirtualnej biblioteki przy uruchamianiu calibre jeśli bieżąca " +"biblioteka jest używana. Działa także przy przełączaniu bibliotek. " +"Ustawienie odnosi się do konretnej biblioteki. " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170 msgid "Edit metadata (single) layout:" @@ -17141,10 +17356,6 @@ msgstr "Wyłączone" msgid "Small" msgstr "Małe" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "Duże" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "Średnie" @@ -17162,7 +17373,7 @@ msgid "Never" msgstr "Nigdy" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "Od pierwszej litery" @@ -18303,20 +18514,20 @@ msgstr "" "uchylone dla indywidualnych urządzeń poprzez dostosowanie wtyczek interfejsu " "urzadzenia w Ustawienia->Zaawansowane->Wtyczki" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "Włączanie serwera zakończone niepowodzeniem" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "Dziennik błędów:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "Dziennik dostępów:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "Musisz ponownie uruchomić serwer, aby zmiany były widoczne" @@ -18357,23 +18568,22 @@ msgid "Max. &OPDS items per query:" msgstr "Maks. elementy &OPDS dla zapytań:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" -msgstr "Maks. niezgr&upowane elementy OPDS:" +msgid "Max. &ungrouped items:" +msgstr "Maks. niezgrupowanych elementów:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" -msgstr "Ograniczenie (zapisane wyszukiwanie) do zastosowania:" +msgid "Virtual library to apply:" +msgstr "Użyj wirtualnej biblioteki:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" -"To ograniczenie (oparte na zapisanym wyszukaniu) ograniczy ilość dostępnych " -"książek na serwerze zawartości do tych spełniających kryteria wyszukiwania. " -"To ustawienie dotyczy biblioteki (np. możesz mieć różne ograniczenia dla " -"każdej biblioteki)." +"Użycie wirtualnej biblioteki ograniczy dostęp serwera zawartości tylko do " +"wybranych przez nią książek. Ustawienia działa dla konkretnej biblioteki " +"(można mieć różne ustawienia dla różnych bibliotek)." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 msgid "" @@ -18842,41 +19052,51 @@ msgstr "Przywróć &domyślne" msgid "Apply any changes you made to this tweak" msgstr "Zastosuj wszystkie zmiany, których dokonałeś do tego ulepszenia" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" +msgstr "Zapisz wyszukiwanie" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" +msgstr "Nie ma wyników wyszukiwania do zapisania" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 msgid "Delete current search" msgstr "Usuń aktualne wyszukiwanie" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 msgid "No search is selected" msgstr "Nie wybrano wyszukiwania" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "Wybrane wyszukania zostaną trwale usunięte. Jesteś pewien?" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" "Szukaj (Aby użyć zaawansowanego wyszukiwania kliknij przycisk po lewej)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "Szukaj" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "Włącz lub wyłącz zaznaczanie wyszukanych elementów" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "Zapisane wyszukania" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" "Wybierz zapisane wyszukanie lub wpisz nazwę dla nowego wyszukania do zapisu" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." @@ -18884,46 +19104,206 @@ msgstr "" "Zapisz bieżące wyszukiwanie pod nazwą widniejącą w polu. Kliknięcie i " "przytrzymanie klawisza myszy otworzy menu z opcjami." -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "Zapisz wyszukiwanie" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "Usuń zapisane wyszukiwanie" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "Zarządzaj zapisanymi wyszukiwaniami" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" -msgstr "*Bieżące wyszukiwanie" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" +msgstr "Utwórz Wirtualną bibliotekę na podstawie %s" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" -msgstr "Ogranicz do:" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" +msgstr "Dopasuj wszystkie nazwy %s" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "Edytuj wirtualną bibliotekę" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "Utwórz wirtualną bibliotekę" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "&Nazwa wirtualnej biblioteki:" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "Wyrażenie wyszukiwania:" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "Utwórz wirtualną bibliotekę na podstawie: " + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" +"\n" +"

Wirtualne Biblioteki

\n" +"\n" +"

Używając wirtualnych bibliotek możesz ograniczyć wyświetlane przez " +"calibre książki do pasujących\n" +"do zapytania. Kiedy wirtualna biblioteka jest używana, calibre zachowuje się " +"jakby biblioteka zawierała wyłącznie\n" +"te książki. Przeglądarka etykiet wyświetla tylko etykiety/autorów/serie/itp. " +"dotyczące wyświetlanych książek,\n" +"wyszukiwanie jest również ograniczone do nich. Jest to dobra metoda na " +"podzielenie biblioteki na mniejsze części, z którymi łatwiej jest pracować.\n" +"\n" +"

Można na przykład użyć Wirtualnej Biblioteki do wyświetlenia jedynie " +"książek z etykietą \"nieprzeczytane\"\n" +"albo \"moi ulubieni autorzy\" albo konkretnych serii.

\n" +" " + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "Zapisane wyszukiwania rozpoznane w wyrażeniu:" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "Zmieniono tekst wyszukiwania" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "Nazwa albo zapytanie zostały zmienione. Chcesz usunąć te zmiany?" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "Brak nazwy" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "Musisz podać nazwę nowej wirtualnej biblioteki" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "Nazwa wirtualnej biblioteki nie może się zaczynać od \"*\"" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "Nazwa jest już używana" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "Ta nazwa jest już używna. Czy zamienić ją nowym wyszukiwaniem?" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "Brak zapytania" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" +"Aby utworzyć nową wirtualną bibliotekę należy podać definicję wyszukiwania" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "Nieprawidłowe wyszukiwanie" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "Zapytanie w polu wyszukiwania jest nieprawidłowe" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "Nie znaleziono książek" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" +"Wyszukiwanie nie zwróciło żadnej książki więc wirtualna biblioteka będzie " +"pusta. Czy na pewno chcesz użyć tego zapytania?" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" +"Użyj \"wirtualnej biblioteki\" aby pokazać tylko część książek z tej " +"biblioteki" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "(wszystkie książki)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" -msgstr "" -"Lista wyświetlanych książek zostanie ograniczona do zapisanego wyszukiwania" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" +msgstr "Dodatkowe ograniczenie" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " -msgstr " lub wyszukiwanie " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" +msgstr "Edytuj Wirtualną Bibliotekę" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "Usuń wirtualną Bibliotekę" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "Utwórz Wirtualną Bibliotekę" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "*bieżące wyszukiwanie" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "Brak wyszukiwania" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "Brak zapytania, którego można by użyć" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "Czy na pewno usunąć wirtualną bibliotekę {0}" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "({0} z {1})" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "({0} ze wszystkich)" @@ -19217,32 +19597,32 @@ msgstr "Pobieranie..." msgid "Goto in store..." msgstr "Idź do sklepu..." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "Kupując w tym sklepie wspierasz dewelopera calibre: %s

" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "Brak zapytania" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "Musisz wpisać tytuł, autora lub słowo kluczowe które chesz znaleźć." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "Dostosuj zdobywanie książek" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "Konfiguruj wyszukiwanie" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "Nie udało się znaleźć książek pasujących do zapytania." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "Wybierz format, który ma zostać pobrany do biblioteki." @@ -19364,47 +19744,47 @@ msgstr "Odśwież" msgid "%p%" msgstr "%p%" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "Nazwa zgrupowanego wyszukiwania to \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "Zmiana autorów dla kilku książek może chwilę zająć. Jesteś pewien?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "Zmiana metadanych dla tylu książek może chwilę zająć. Jesteś pewien?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "Wyszukiwania" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "Zmień kategorię użytkownika" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" "Nie możesz używać okresów w nazwie podczas zmiany nazwy kategorii użytkownika" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "Nazwa %s już jest w użyciu" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "Powtórzona nazwa wyszukania" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "Nazwa zapisanego wyszukania %s jest już używana." @@ -19426,13 +19806,13 @@ msgid "Manage Tags" msgstr "Zarządzaj etykietami" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "Zarządzaj kategoriami użytkownika" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "Zarządzaj zapisanymi wyszukaniami" @@ -19538,7 +19918,7 @@ msgid "Alter Tag Browser" msgstr "Zmień przeglądarkę etykiet" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "Sortuj według" @@ -19581,138 +19961,138 @@ msgstr "" "Zarządzanie kategoriami jest dostępne po kliknięciu nazwy kategorii prawym " "klawiszem myszy" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "Zmień ikonę dla %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "Zmień nazwę %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "Usuń %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "Edytuj sortowanie dla %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "Edytuj odsyłacz do %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "Dodaj %s do kategorii użytkownika" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "Dzieci %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "Skasuj wyszukiwania %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "Usuń %(item)s z kategorii %(cat)s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "Szukaj wszystkiego oprócz %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "Dodaj podkategorię do %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "Skasuj kategorię użytkownika %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "Ukryj kategorię %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "Wyświetl kategorię" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "Szukaj książek w kategorii %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "Szukaj książek nie w kategorii %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "Zarządzaj %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "Zmień ikonę kategorii" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "Przywróć domyślną ikonę" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "Wyświetl wszystkie kategorie" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "Zmień schemat pod-kategoryzacji" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "Wyłącz" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "Partycja" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "Pierwsza litera jest używana wyłącznie przy sortowaniu wg nazwy." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "Wybierz miejsce docelowe dla pozycji spisu treści" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "Szukaj tekstu..." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "Znajdź &następny" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "Znajdź &poprzedni" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -19729,25 +20109,25 @@ msgstr "" "przesuwaniu myszy nad środkowym panelem pojawi się zielony znacznik, " "wskazujący dokładne miejsce, które zostanie zaznaczone kiedy klikniesz." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "&Nazwa pozycji spisu treści" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "Aktualnie wybrane miejsce docelowe:" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "Nie znaleziono" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "Nie znaleziono: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " @@ -19756,31 +20136,31 @@ msgstr "" "W bieżącym pliku [%(current)s] nie znaleziono tekstu %(text)s. Czy chcesz " "przeszukać plik %(which)s [%(next)s]?" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "następny" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "poprzedni" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "Plik:" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "Początek pliku" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "Mniej więcej %d%% od początku" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "Lokalizacjia: znacznik A <%s> w pliku" @@ -19825,7 +20205,7 @@ msgstr "Nie wprowadzono wyrażeń XPath" msgid "The XPath expression %s is not valid." msgstr "Wyrażenie XPath %s jest nieprawidłowe." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." @@ -19833,7 +20213,7 @@ msgstr "" "Można edytować istniejące pozycje spisu treści kliknąwszy je w panelu po " "lewej stronie." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " @@ -19843,15 +20223,15 @@ msgstr "" "zweryfikowane. Pozycje z czerwoną kropką są nieprawidłowe i wymagają " "poprawienia." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "Utwórz &nową pozycję" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "Utwórz spis treści dla najwyższych nagłówków" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " @@ -19861,11 +20241,11 @@ msgstr "" "książce zaznaczono nagłówki za pomocą znaczników HTML. Używane są znaczniki " "

,

and

." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "Utwórz spis treści dla wszystkich nagłówków" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " @@ -19875,11 +20255,11 @@ msgstr "" "książce zaznaczono nagłówki za pomocą znaczników HTML. Używane są znaczniki " "." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "Utwórz spis treści z odsyłaczy" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " @@ -19889,24 +20269,39 @@ msgstr "" "nie znajduje się w książce są ignorowane. Jeśli wiele odsyłaczy odnosi się " "do tego samego miejsca albo tego samego tekstu to również są one ignorowane." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" +msgstr "Wygeneruj spis treści na podstawie &plików" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." +msgstr "" +"Wygeneruj spis treści na podstawie poszczególnych plików książki. Każda " +"pozycja spisu treści będzie wskazywać na początek pliku, następna - na " +"\"pierwszy wiersz\" tekstu w pliku." + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 msgid "Generate ToC from &XPath" msgstr "Utwórz spis treści z &XPath" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 msgid "Generate a Table of Contents from arbitrary XPath expressions." msgstr "Utwórz spis treści z bezwzględnych wyrażeń XPath" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" -msgstr "Spłaszcz spis treści" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "Usuń strukturę spisu treści" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -"Spłaszcz spis treści umieszczając wszystkie pozycje na jednym poziomie" +"Usuń strukturę spisu treści, umieszczając wszystkie pozycje na jednym " +"poziomie" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -19918,7 +20313,7 @@ msgstr "" "poprzednią pozycją. Jeśli stworzysz nieliniowy spis treści zostanie on " "automatycznie przesortowany wewnątrz pliku AZW3." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" @@ -19926,82 +20321,122 @@ msgstr "" "Możesz przesuwać tę pozycję w obrębie spisu treści przeciągając ją albo " "używając przycisków w dół i do góry po lewej" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "Zmień lokalizację, na którą wskazuje ta pozycja na" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "&Usuń tę pozycję" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "Nowa pozycja wewnątrz &bieżącej" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "Nowa pozycja po&niżej bieżącej" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "Nowa pozycja po&niżej bieżącej" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" -msgstr "&Spłaszcz tę pozycję" +msgstr "&Resetuj strukturę tej pozycji" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" "Wszystkie pozycje potomne bieżącej są przenoszone na ten sam poziom co " "bieżąca." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "Wróć do ekranu &powitalnego" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "Wróć do widoku głównego poziomu" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "Ta pozycja wskazuje na istniejącą lokalizację" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "Ta pozycja wskazuje na nieistniejącą lokalizację" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" -msgstr "Przesuń bieżącą pozycję do góry" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" +msgstr "Przenieś \"%s\" do góry" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "Przenieś \"%s\" do dołu" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "Usuń wszystkie zaznaczone pozycje" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "Usuń wcięcie \"%s\"" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "Dodaj wcięcie \"%s\"" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "Zmień miejsce, na które wskazuje ta pozycja" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "Zmień wszystkie wybrane pozycje na \"title case\"" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "Przenieś bieżącą pozycję do góry [Ctrl+Up]" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "Usuń wcięcie bieżącej pozycji [Ctrl+Left]" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "Usuń wszystkie wybrane pozycje" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" -msgstr "Przesuń bieżącą pozycję do dołu" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" +msgstr "Zwiększ wcięcie aktualnej pozycji [Ctrl+Prawo]" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "Przesuń bieżącą pozycję do dołu [Ctrl+Down]" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "&Rozwiń wszystkie" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "&Zwiń wszystkie" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "Kliknij pozycję dwa razy aby zmienić tekst" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "Tytuł: {0} Cel: {1}{2}" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" @@ -20010,52 +20445,57 @@ msgstr "" "Lokalizacja tej pozycji nie istnieje:\n" "%s" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "Nie znaleziono elementów" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" "Nie znaleziono żadnych elementów, które mogłyby być włączone do spisu treści." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" "Nie znaleziono odsyłaczy, które mogłyby być włączone do spisu treści." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "Nie znaleziono plików, które mogłyby zostać dodane do spisu treści." + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "Edytuj spis treści w %s" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "Wczytywanie %s, proszę czekać" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "Zapisywanie %s, proszę czekać..." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "Nie udało się zapisać książki" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" "Nie można było zapisać %s. Kliknij \"Pokaż szczegóły\" aby dowiedzieć się " "więcej." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "Nie udało się wczytać książki" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -20146,31 +20586,31 @@ msgstr "" "Następujące książki zostały już skonwertowane do formatu %s. Czy chcesz, by " "zostały ponownie skonwertowane?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "&Wpłać i wesprzyj rozwój calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "&Przywróć" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "&Odłącz połączone urządzenie" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "Zakończ calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "Wyczyść aktualne wyszukiwanie" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "Tryb debugowania" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -20181,11 +20621,11 @@ msgstr "" "debugowania będzie dostępny w pliku: %s

Dziennik zostanie automatycznie " "wyświetlony." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "Nie udało się uruchomić serwera treści Calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -20207,16 +20647,16 @@ msgstr "" "chcesz, żeby calibre automatycznie przebudował bazę? Niektóre dane mogą " "zostać utracone." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "Błąd podczas konwersji" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "

Konwertowanie nie powiodło się: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -20257,24 +20697,24 @@ msgstr "" " że czytnik będzie miał problemy z odczytem książki.\n" " " -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "Konwertowanie nie powiodło się" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "Źródło wyłączone" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "Nie powiodło się" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" "Niektóre zadania są aktywne. Jesteś pewien, że chcesz zamknąć program?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" @@ -20284,11 +20724,11 @@ msgstr "" " Wyjście może spowodować uszkodzenie urządzenia.
\n" " Jesteś pewny, że chcesz wyjść?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "Aktywne zadania" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -20857,29 +21297,29 @@ msgstr "Domyślna wielkość czcionki" msgid "S&earch Google for '%s'" msgstr "Szukaj %s w Google" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "Powięsz" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "Zmniejsz" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "Zapisz jako" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "Ob&róć" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "Wybierz plik do zapisu" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "Pokaż obraz: %s" @@ -22350,8 +22790,8 @@ msgstr "" "dokumentację w Podręczniku Użytkownika. Domyślnie nie jest włączone żadne " "filtrowanie." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." @@ -22359,11 +22799,11 @@ msgstr "" "Maksymalna szerokość pojedynczej linii w pliku wynikowym. Domyślnie " "dostosowana do wykrytego rozmiaru ekranu." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "Znak używany do oddzielania pól. Domyślny to spacja." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." @@ -22371,15 +22811,15 @@ msgstr "" "Przedrostek dla wszystkich ścieżek do plików. Domyślnie jest to ścieżka " "absolutna do folderu biblioteki." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "Niewłaściwe pola. Dostepne pola:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "Niewłaściwe pole sortowania. Dostępne pola:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" @@ -22387,13 +22827,13 @@ msgstr "" "Następujące książki nie zostały dodane ponieważ istnieją już one w bazie " "danych (zobacz opcję --duplicates):" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "Id dodanych książek: %s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -22406,7 +22846,7 @@ msgstr "" "Dodaje określone pliki jako książki do bazy danych. Możesz również określić " "katalogi, zobacz opcje odnośnie katalogów poniżej.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" @@ -22414,11 +22854,11 @@ msgstr "" "Zakładaj, że każdy katalog ma tylko jedną logiczną książkę i że wszystkie " "pliki znajdujące się w nim są innymi formatami tej samej książki" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "Przetwarzaj katalogi rekursywnie" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." @@ -22426,43 +22866,43 @@ msgstr "" "Dodaj książki do bazy danych nawet jeśli są już w niej. Porównanie odbywa " "się na podstawie tytułów." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "Dodaj pustą książkę (książkę bez żadnych formatów)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "Określ tytuły dodanych książek" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "Określ autorów dodanych książek" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "Podaj ISBN dodanych książek" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "Podaj etykiety dla dodanych książek" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "Podaj serie dla dodanych książek" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "Określ numer w serii dla dodanych książek" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "Ścieżka do okładki, która zostanie użyta dla dodanej książki." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "Musisz określić co najmniej jeden plik do dodania" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -22479,33 +22919,43 @@ msgstr "" "polecenia list). Na przykład 23,34,57-85 (w przypadku zakresów ostatni " "identyfikator nie jest wliczany).\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "Wybierz co najmniej jedną książkę do usunięcia" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "Plik %s już istnieje w książce %d, nie zamieniam" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" -"%prog add_format [options] id ebook_file\n" +"%prog add_format [opcje] id plik_książki\n" "\n" -"Dodaj książkę w pliku (ebook_file) do dostępnych formatów dla logicznej " -"książki określonej przez id. Możesz uzyskać id używając listy komend. Jeśli " -"format już istnieje, zostanie nadpisany.\n" +"Dodaj plik_książki do dostępnych formatów książki o identyfikatorze id. " +"Identyfikator można uzyskać za pomocą polecenia list. Jeśli format istnieje, " +"jest zamieniany - o ile nie użyto opcji do not replace." #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "Nie zamieniaj formatu jeśli istnieje" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "Musisz podać identyfikator i plik książki" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "Plik książki musi mieć rozszerzenie" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -22521,11 +22971,11 @@ msgstr "" "używając listy komend. fmt powinien być rozszerzenie takim jak LRF lub TXT " "lub EPUB. Jeśli logiczna książka nie ma dostępnego fmt, nie rób nic.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "Musisz podać identyfikator i format książki" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -22541,15 +22991,15 @@ msgstr "" "określonych przez id.\n" "id is to numer id z listy komend.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "Wydrukuj metadane w formacie OPF (XML)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "Musisz podać identyfikator" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -22573,7 +23023,7 @@ msgstr "" "przy poleceniu show_metadata. Możesz również ustawić poszczególne pola\n" "metadanych korzystając z opcji --field.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -22590,40 +23040,40 @@ msgstr "" "identyfikatorów należy użyć składni {0} {2}. W przypadku pól boolean " "(tak/nie) należy użyć true/false albo tak/nie." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "Lista pól, które mogą być użyte z opcją --field" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "Nazwa pola" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "Musisz podać identyfikator rekordu jako pierwszy argument" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "Musisz podać pole albo plik opf" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "W bazie nie ma książki o id %s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "Plik OPF %s nie istnieje" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "%s nie jest prawidłową nazwą pola" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -22641,28 +23091,28 @@ msgstr "" "(w pliku\n" "opf). Możesz uzyskać numeryid z listy komend.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "Eksportuj wszystkie książki w bazie, ignoruj listę identyfikatorów." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "Eksportuj książki do podanego katalogu. Domyślny to" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "Eksportuj wszystkie książki do pojedynczego katalogu" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "Określając ten przełącznik wyłączysz to zachowanie" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "Musisz określić jakieś id albo opcję %s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -22678,7 +23128,7 @@ msgstr "" "powinna zawierać spacji ani dwukropka. name to nazwa ludzka kolumny.\n" "datatype to jeden z: {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." @@ -22686,7 +23136,7 @@ msgstr "" "Ta kolumna przechowuje dane etykietopodobne (np. wielokrotne wartości " "oddzielone przecinkami). Ma zastosowanie tylko jeśli typ danych to tekst." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -22722,11 +23172,11 @@ msgstr "" "książki (upewniając się, że w momencie dodania kolumny został stworzony nowy " "plik OPF). Tam można znaleźć ciąg JSON dla nowej kolumny." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "Musisz wskazać etykietę, nazwę i typ danych" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -22745,7 +23195,7 @@ msgstr "" "wynikowym.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" @@ -22755,7 +23205,7 @@ msgstr "" "Jeśli jest zadeklarowane, --search jest ignorowane.\n" "Domyślnie: wszystkie (all)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" @@ -22765,17 +23215,17 @@ msgstr "" "dokumentację w Podręczniku Użytkownika.\n" "Domyślnie: brak filtrowania" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" "Pokazuj szczegółowową informację wyjściową. Przydatne przy debugowaniu." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "Błąd: musisz podać plik wyjściowy katalogu" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -22795,7 +23245,7 @@ msgstr "" "custom_columns.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." @@ -22803,11 +23253,11 @@ msgstr "" "Jeśli kolumna przechowuje wielokrotne wartości, dołącz określone wartości do " "istniejących, zamiast je zastępować." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "Błąd: Musisz określić identyfikator, nazwę i wartość pola" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -22821,20 +23271,20 @@ msgstr "" " Lista dostępnych dodatkowych kolumn. Pokazuje etykiety kolumn i id.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "Pokaż szczegóły dla każdej kolumny." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "Zostaną utraconne dane z kolumny %s. Jesteś pewien (y/n)? " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "t" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " @@ -22843,7 +23293,7 @@ msgstr "" "Nie znaleziono kolumny o nazwie %s. Należy użyć nazw kolumn, a nie tytułów. " "Użyj calibredb custom_columns aby otrzymać listę nazw." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -22859,15 +23309,15 @@ msgstr "" " kolumny używając komendy custom_columns.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "Nie pytaj o potwierdzenie" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "Błąd: Musisz podać nagłówek kolumny" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -22889,40 +23339,40 @@ msgstr "" " nadpisane.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "Błąd: Musisz wybrać akcję (dodaj|usuń|lista)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "Nazwa:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "Wyszukanie:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "Błąd: Musisz wskazać nazwę i wyszukiwanie" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "dodano" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "Błąd: Musisz podać nazwę" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "usunięto" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "Błąd: Akcja %s nierozpoznana, musi być jedno z: (dodaj|usuń|lista)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -22945,7 +23395,7 @@ msgstr "" "Normalnie nie ma potrzeby tego robić - plik OPF są aktualizowane\n" "automatycznie przy każdej zmianie metadanych.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." @@ -22953,7 +23403,7 @@ msgstr "" "Domyślnie to polecenie operuje na ksiązkach, które mają nieaktualne pliki " "OPF. Ta opcja powoduje, że działaniem zostaną obięte wszystkie książki." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -22964,12 +23414,12 @@ msgstr "" "\n" "Wykonaj sprawdzenie w systemie plików biblioteki. Zgłoszenia są {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "Wynik w CSV" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" @@ -22977,7 +23427,7 @@ msgstr "" "Lista raportów rozdzielona przecinkiem.\n" "Domyślnie: wszystkie" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" @@ -22985,7 +23435,7 @@ msgstr "" "Lista rozszerzeń rozdzielona przecinkiem do zignorowania.\n" "Domyślnie: wszystkie" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" @@ -22993,11 +23443,11 @@ msgstr "" "Lista nazw rozdzielona przecinkiem do zignorowania.\n" "Domyślnie: wszystkie" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "Nieznany status raportu" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -23025,7 +23475,7 @@ msgstr "" "w plikach OPF.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." @@ -23033,12 +23483,12 @@ msgstr "" "Naprawdę dokonaj przywrócenia. Ta komenda nie uruchomi się dopóki ta opcja " "nie zostanie określona." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "Musisz zaznaczyć opcję %s aby dokonać przywrócenia" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -23050,7 +23500,7 @@ msgstr "" "Wygeneruj raport z informacji kategorii w bazie danych. Informacja\n" "jest równoznaczna z tym co jest pokazane na ekranie etykiet.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" @@ -23058,7 +23508,7 @@ msgstr "" "Wyprowadź tylko taką ilość elementów w kategorii zamiast wyliczać na każdy " "element wewnątrz kategorii" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." @@ -23066,7 +23516,7 @@ msgstr "" "Znak do ustawienia w wartości kategorii w trybie CSV. Domyślnie jest to " "cudzysłów (\")." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" @@ -23074,17 +23524,17 @@ msgstr "" "Lista kategorii wyszukiwań nazw oddzielona przecinkami.\n" "Domyślnie: wszystkie" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" "Ciąg znaków użyty do oddzielenia pól w trybie CSV. Domyślnie jest to " "przecinek." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "ELEMENTY KATEGORII" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -23118,32 +23568,23 @@ msgstr "" "Etykieta musi zawierać tylko małe litery, cyfry i podkreślniki oraz zaczynać " "się od litery" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "odzyskane ustawienia " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "tworzenie kolumny użytkownika " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr " (%s books)" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" "

Przenoszenie starej bazy danych do biblioteki książek w %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "Kopiowanie %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "Kompaktowanie bazy danych" @@ -23422,20 +23863,20 @@ msgstr "" "reverseproxying dla tego serwera z Apache/nginx/itd." #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "Wszystkie książki" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "Najnowsze" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "Wczytywanie, proszę czekać" @@ -23458,7 +23899,7 @@ msgid "Browsing %d books" msgstr "Przeglądanie %d książek" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "Średnia ocen" @@ -23467,98 +23908,98 @@ msgstr "Średnia ocen" msgid "%(prefix)s: %(rating).1f stars" msgstr "%(prefix)s: %(rating).1f gwiazdek" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "%d gwiazdki" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "Popularność" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "biblioteka" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "strona główna" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "Losowa książka" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "Przeglądaj książki po" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "Wybierz kategorię do przeglądania:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "Przeglądanie po" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "Góra" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "w" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "Książki w" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "Inne formaty" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "Czytaj %(title)s w formacie %(fmt)s" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "Pobierz" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "Szczegóły" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "Bezpośredni odnośnik" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "Stały link do tej książki" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "Książka została skasowana" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "Wybierz inną losową książkę" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "Inna losowa książka" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "w poszukiwaniu" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "Odpowiadające książki" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -23582,24 +24023,28 @@ msgstr "" "\n" "Interfejs OPDS jest ogłaszany automatycznie poprzez BonJour.\n" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" "Ściezka do folderu biblioteki, który ma być uzywany w serwerze zawartości" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "Zapisz identyfikator procesu do określonego pliku" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -"Określa ograniczenia użyte w tej inwokacji. Ta opcja nadpisuje wszystkie " -"ustawienia dla biblioteki określone w interfejsie graficznym" +"Określa wirtualną bibliotekę, która ma być użyta przy tym wywołaniu. Ta " +"opcja nadpisuje wszelkie ustawienia dla biblioteki określone w GUI. Dla " +"zgodności - jeśli podana nazwa nie jest wirtualną biblioteką, a zapisanym " +"wyszukiwaniem, to zostanie ono użyte." -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -24896,10 +25341,6 @@ msgstr "am" msgid "pm" msgstr "pm" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "Kopiuj" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "Wybierz wszystkie" @@ -25000,6 +25441,33 @@ msgstr "Trwa wykonywanie kodu" msgid "Restart console" msgstr "Uruchom ponownie konsolę" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "Dodatkowe znaki na kończu zapytania" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "brakuje )" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "Nieprawidłowa składnia. Oczekiwano nazwy kolumny lub słowa." + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" +"Nie da się przetworzyć zapytania, został osięgnięty limit rekursywnego " +"zagnieżdżenia: %s" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "Zapisane wyszukiwane rekursywne: {0}" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "Nierozpoznany błąd w zapisanym wyszukiwaniu: {0}" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "URL musi mieć schemat sftp" @@ -25048,101 +25516,101 @@ msgstr "Nie udało się pobrać %s" msgid "The \"%s\" recipe needs a username and password." msgstr "Źródło \"%s\" wymaga podania nazwy użytkownika i hasła." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "Pobranie zakończone" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "Nie udało się pobrać następujących artykułów:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "Nie udało się pobrać części następujących artykułów:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr " z " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "\tNieprawidłowe linki:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "Nie udało się pobrać artykułu." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "Informacje dotyczące debugowania są dostępne wcześniej w tym lgou" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "Uruchom z opcją -vv aby zobaczyć powód" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "Pobieram strumienie..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "Pobierz strumienie ze strony głównej" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "Próbuję pobrać okładkę..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "Generuje nagłówek..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "Rozpoczynam pobieranie [%d wątek(ków)]..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "Strumienie pobrano do %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "Nie można pobrać okładki: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "Pobieranie okładki z %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "Obrazek nagłówka pobrany" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "Artykuły w tym wydaniu: " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "Artykuł bez tytułu" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "Artykuł pobrany: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "Pobieranie artykułu nie powiodło się: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "Pobieram strumień" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 msgid "" "Failed to log in, check your username and password for the calibre " "Periodicals service." @@ -25150,7 +25618,7 @@ msgstr "" "Nie udało się zalogować, sprawdź nazwę użytkownika i hasło do usługi " "czasopisma calibre." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -25493,14 +25961,16 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" -"Domyślnie calibre dzieli tekst zawierający nazwiska autorów używając\n" -"znaku ampersand oraz słów \"and\" i \"with\". Możesz zmienić sposób " -"podziału\n" -"modyfikując poniższe wyrażenie regularne. Tekst jest dzielony przy użyciu\n" -"wszystkiego, co pasuje do tego wyrażenia.\n" +"Domyślnie calibre dzieli tekst pola autora, zawierający wiele nazwisk " +"autorów, przy użyciu\n" +"ampersandu, a także słów \"and\" i \"with\". Można zmienić ten sposób " +"dzielenia zmieniając\n" +"wyrażenie regularne poniżej. Tekst pola zostanie podzielony przy użyciu " +"ampersandów oraz \n" +"czegokolwiek, co pasuje do wyrażenia.\n" "Domyślnie: r'(?i),?\\s+(and|with)\\s+'" #: /home/kovid/work/calibre/resources/default_tweaks.py:85 diff --git a/src/calibre/translations/pt.po b/src/calibre/translations/pt.po index 53fad7f052..7870c0725e 100644 --- a/src/calibre/translations/pt.po +++ b/src/calibre/translations/pt.po @@ -7,32 +7,32 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" -"PO-Revision-Date: 2013-03-25 17:11+0000\n" -"Last-Translator: Tiago S. \n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" +"PO-Revision-Date: 2013-05-01 17:38+0000\n" +"Last-Translator: pedro jorge oliveira \n" "Language-Team: Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:19+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-05-02 05:10+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "Não faz absolutamente nada" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "Não faz absolutamente nada" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "Não faz absolutamente nada" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "Não faz absolutamente nada" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "Não faz absolutamente nada" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "Não faz absolutamente nada" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "Não faz absolutamente nada" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -253,7 +253,7 @@ msgstr "Loja" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:650 msgid "An ebook store." -msgstr "Uma loja de ebooks." +msgstr "Uma loja de livros digitais." #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:21 msgid "" @@ -307,11 +307,11 @@ msgstr "Ler metadados de %s ficheiros" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:337 msgid "Read metadata from ebooks in RAR archives" -msgstr "Ler metadados de ebooks em arquivos RAR" +msgstr "Lê meta-dados de livros digitais em ficheiros RAR" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:411 msgid "Read metadata from ebooks in ZIP archives" -msgstr "Ler metadados de ebooks em arquivos ZIP" +msgstr "Lê meta-dados de livros digitais em ficheiros ZIP" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:428 #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:438 @@ -331,73 +331,73 @@ msgstr "Definir metadados em %s ficheiros" msgid "Set metadata from %s files" msgstr "Definir detalhes a partir dos ficheiros %s" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "Adicionar livros ao Calibre ou ao dispositivo ligado" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "Obter anotações de um Kindle ligado (experimental)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "Gerar um catálogo dos livros na biblioteca do Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "Converter livros para diversos formatos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" -msgstr "Ajuste os seus livros" +msgstr "Ajuste os seus livros digitais" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "Editar a Tabela de Conteúdos dos seus livros" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "Eliminar livros da biblioteca Calibre ou do dispositivo ligado" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "Editar detalhes dos livros na biblioteca Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "Ler livros na biblioteca Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" -msgstr "Transferir novidades da Internet no formato \"ebook\"" +msgstr "Transferir novidades da Internet no formato de livro digital" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Mostrar lista de livros relacionados" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "Exportar livros da biblioteca Calibre para o disco rígido" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "Mostrar detalhes do livro numa janela distinta" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "Reiniciar Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "Abrir pasta que contém os ficheiros dos livros na biblioteca Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "Enviar livros para o dispositivo ligado" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" @@ -405,42 +405,42 @@ msgstr "" "Enviar livros por correio eletrónico ou pela web e ligar ao iTunes ou pastas " "noseu computador como se fossem dispositivos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "Explorar maual de utilizador do Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "Personalizar calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "Procurar livros semelhantes ao selecionado atualmente" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "Alternar entre bibliotecas do Calibre e executar a sua manutenção" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "Copiar livros do dispositivo para a sua biblioteca Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "Editar as coleções em que os livros estão no seu dispositivo" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "Copiar um livro de uma biblioteca Calibre para outra" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" "Realizar pequenos ajustes a ficheiros epub ou htmlz na sua biblioteca calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" @@ -448,56 +448,56 @@ msgstr "" "Encontrar a próxima e anterior correspondências ao pesquisar, na sua " "biblioteca calibre, em modo de destaques" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "Escolher aleatoriamente um livro da biblioteca Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "Procurar livros em diversos vendedores" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "Obter novos \"plug-ins\" Calibre ou atualizar os existentes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Aparência" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Interface" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "Ajustar aparência e o comportamento do Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "Comportamento" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "Alterar o comportamento do Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Adicione as suas colunas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "Adicionar/remover as suas colunas à lista de livros do Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Barra de ferramentas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -505,66 +505,66 @@ msgstr "" "Personalizar barras de ferramentas e menus de contexto, alterando as ações " "disponíveis" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "Procurar" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "Personalizar o modo de de procura de livros no Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "Opções de inserção" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Conversão" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "Definir opções de conversão, específicas a cada formato" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Opções comuns" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "Definir opções de conversão comuns a todos os formatos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "Opções de saída" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "Definir opções específicas para cada formato de saída" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "Adicionar livros" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "Importar/Exportar" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Controlar a forma como o Calibre lê os detalhes dos ficheiros ao adicionar " "livros" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "Gravar livros no disco" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -572,52 +572,52 @@ msgstr "" "Controlar a forma como o Calibre exporta ficheiros da base de dados ao " "gravar no disco" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "Enviar livros para os dispositivos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -"Controlar a forma como o Calibre envia os livros para o seu leitor de " -"\"ebooks\"" +"Controlar a forma como o Calibre envia os livros para o seu leitor de livros " +"digitais" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "Módulo de detalhes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "Alterar campos de detalhes antes de gravar/enviar" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "Funções modelo" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "Avançadas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "Criar as próprias funções modelo" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "Partilhar livros por correio eletrónico" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "Partilha" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -625,11 +625,11 @@ msgstr "" "Configurar partilha de livros por correio eletrónico. Pode ser utilizado " "para enviar automaticamente as novidades para os seus dispositivos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "Partilha através da Internet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -637,20 +637,20 @@ msgstr "" "Configurar o servidor de conteúdo do Calibre para permitir o acesso à " "biblioteca através da Internet, independentemente do dispositivo ou sítio" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "Transferir detalhes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "Controlar o modo de receção dos detalhes de um livro via Internet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "Dispositivos ignorados" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." @@ -658,37 +658,37 @@ msgstr "" "Controlar quais os dispositivos a ignorar pelo calibre, quando ligados ao " "seu computador." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "\"Plug-ins\"" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Adicionar/remover/personalizar as funcionalidades do Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "Ajustes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "Ajustar o comportamento do Calibre em vários contextos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "Teclado" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "Personalizar os atalhos de teclado utilizados pelo Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Diversos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "Outras opções de configuração" @@ -732,7 +732,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/conversion.py:310 #, python-format msgid "Convert ebooks to the %s format" -msgstr "Converter \"ebooks\" para o formato %s" +msgstr "Converter livros digitais para o formato %s" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:47 msgid "Input profile" @@ -1001,8 +1001,8 @@ msgstr "Activar o extra mencionado" msgid "Disable the named plugin" msgstr "Desactivar o extra mencionado" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -1013,11 +1013,22 @@ msgid "Path to library too long. Must be less than %d characters." msgstr "" "Caminho à biblioteca longo demais. Deve conter menos de %d caractéres." -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "preferências restauradas " + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "criar uma coluna personalizada " + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -1029,26 +1040,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "%(tt)sClassificação média é %(rating)3.1f" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "Principal" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "Cartão A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "Cartão B" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1061,11 +1072,11 @@ msgstr "Cartão B" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Notícias" @@ -1073,14 +1084,14 @@ msgstr "Notícias" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "Verificado" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "Sim" @@ -1088,7 +1099,7 @@ msgstr "Sim" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "Não" @@ -1096,45 +1107,70 @@ msgstr "Não" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "Não verificado" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "Hoje" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "Ontem" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "Este mês" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "Dias atrás" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "Data do erro na conversão : {0}" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "Vazio" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "Em branco" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "Consulta inválida de valor booleano \"{0}\"" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "Pesquisa recursiva de grupo detectada: {0}" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1170,7 +1206,7 @@ msgstr "Nenhum complemento chamado %s encontrado" msgid "Communicate with Android phones." msgstr "Estabelecer ligação a telefones Android." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" @@ -1179,7 +1215,7 @@ msgstr "" "dispositivo, para onde enviar e-books . O primeiro diretório que exista, " "será o utilizado" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" @@ -1188,11 +1224,11 @@ msgstr "" "dispositivo, para onde enviar e-books . O primeiro diretório que exista, " "será o utilizado." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "Estabelecer ligação a telefones S60." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "Comunicar-se com tablets WebOS" @@ -1247,7 +1283,7 @@ msgid "" "\"Copy files to iTunes Media folder %s\" is enabled in iTunes " "Preferences|Advanced" msgstr "" -"\"Copiar arquivos à pasta de mídia %s do iTunes\" está ativo nas " +"\"Copiar ficheiros à pasta de mídia %s do iTunes\" está ativo nas " "Preferências|Avançadas do iTunes" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:131 @@ -1345,8 +1381,8 @@ msgstr "" "Carregue em 'Mostrar Detalhes' para obter a lista." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "Catálogo" @@ -1402,10 +1438,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1446,6 +1482,7 @@ msgstr "A adicionar os livros à listagem de metadados do aparelho..." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1782,17 +1819,17 @@ msgstr "" "separada, que pode ser útil se tiver feito alterações na capa." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "Carregar capas a preto e branco" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "Mostar livros expirados" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1803,12 +1840,12 @@ msgstr "" "permitindo-lhe apagá-los com a nova lógica de exclusão." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "Mostrar pré-visualizações" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1819,7 +1856,7 @@ msgstr "" "para o fazer. Ative esta opção se pretende vê-las ou apagá-las." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "Mostrar recomendações" @@ -1834,7 +1871,7 @@ msgstr "" "poderá fazer uma compra. Ative esta opção se pretende vê-las ou apagá-las." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "Tentar suportar firmware mais recente" @@ -1853,10 +1890,12 @@ msgstr "" "software." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "Versão do banco de dados do Kobo não suportada - Ver detalhes" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1937,21 +1976,21 @@ msgstr "" "/>Progresso no Capítulo: %(chapter_progress)s%%
Destaques: %(text)s
Notas: %(annotation)s

" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" "O Kobo Touch, a partir da firmware versão 2.0.0 suporta prateleiras de " "livros." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "Especifique uma coluna de etiquetas para gestão automática" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "Criar prateleiras de livros" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." @@ -1959,11 +1998,11 @@ msgstr "" "Criar novas prateleiras de livros no Kobo Touch se estas não existirem. Esta " "funcionalidade apenas existe na firmware versão 2.0.0 ou superior." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "Apagar prateleiras de livros vazias" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." @@ -1972,11 +2011,11 @@ msgstr "" "sincronização. Esta funcionalidade apenas existe na firmware versão 2.0.0 ou " "superior." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "Enviar capas dos livros" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." @@ -1984,11 +2023,11 @@ msgstr "" "Enviar as imagens de capas para a biblioteca calibre quando enviar livros " "para o dispositivo." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "Manter a proporção do tamanho da capa" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." @@ -1996,7 +2035,7 @@ msgstr "" "Quando enviar capas, não mudar a proporção ao redimensionar para o " "dispositivo. Isto aplica-se ao firmware versão 2.3.1 ou mais recente." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " @@ -2006,11 +2045,11 @@ msgstr "" "ficheiros, mas noutros elas apontam apenas para uma página Web de compras. " "Ative se quiser ver/apagá-las." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "Definir informação da Série" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -2022,7 +2061,7 @@ msgstr "" "um PC. Informação de Séries apenas pode ser adicionada ao dispositivo depois " "deste ter processado o livro. Ative se pretende definir informação de Séries." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -2037,11 +2076,11 @@ msgstr "" "programas. Este driver suporta versões 2.x.x de firmware e versões de base " "de dados até " -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "Título a testar em depuração" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -2064,55 +2103,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "Comunicar com Sweex/Kogan/Q600/Wink" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "Comunicar com o leitor Pandigital Novel" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "Comunicar com o leitor VelocityMicro" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "Comunicar com o leitor GM2000" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "Comunicar com o leitor Acer Lumiread" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "Comunicar com o dispositivo Aluratek Color" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "Estabelecer ligação com o dispositivo Trekstor" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "Comunicar com o EEE Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "Comunicar com o tablet Adam" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "Comunicar com o Nextbook Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "Comunicar com o leitor Moovybook" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "Comunicar com o COBY" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "Comunicar com o Ex124G" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "Comunicar com os leitores WayteQ e SPC Dickens" @@ -2240,7 +2279,7 @@ msgstr "O Nook" msgid "Communicate with the Nook eBook reader." msgstr "Comunicar com o leitor Nook" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "Comunicar com os leitores Nook Color, TSR e Tablet." @@ -2802,7 +2841,7 @@ msgid "There is insufficient free space on the storage card" msgstr "O espaço livre no cartão de memória é insuficiente" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "%s representado" @@ -3219,20 +3258,20 @@ msgstr "" "o que está a fazer, pois pode ter efeitos colaterais desagradáveis no " "restante do processo de conversão." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" "Folha de estílos (CSS) utilizada para output em vez da folha de estílos " "padrão" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" "Template utilizado para gerar o ficheiro index html em vez do ficheiro padrão" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" @@ -3240,7 +3279,7 @@ msgstr "" "Template utilizado para gerar os conteúdos html do livro em vez do ficheiro " "padrão" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3603,20 +3642,20 @@ msgstr "" "essa opção." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." msgstr "" -"Um modelo HTML utilizado para geral rodapés em cada página. O texto " -"_PAGENUM_ será substituido pela número da página actual." + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" +msgstr "rodapés" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." -msgstr "" -"Um modelo HTML utilizado para geral cabeçalhos em cada página. O texto " -"_PAGENUM_ será substituido pela número da página actual." +msgid "headers" +msgstr "cabeçalhos" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 msgid "" @@ -4048,10 +4087,10 @@ msgid "" "of Contents at level three. Each entry is added under the previous level two " "entry. See the XPath Tutorial in the calibre User Manual for examples." msgstr "" -"Expressão XPath que especifica todas as estiquetas que deverão ser " +"Expressão XPath que especifica todas as etiquetas que deverão ser " "adicionadas no sumário do terceiro nível. Cada entrada será adicionada " "abaixo da entrada anterior no nível dois. Consulte o tutorial do XPath no " -"Manual do Usuário do calibre para exemplos." +"Manual do Utilizador do calibre para exemplos." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:256 msgid "" @@ -4868,7 +4907,7 @@ msgstr "" msgid "Set book ID" msgstr "Definir o ID do livro" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4894,27 +4933,27 @@ msgstr "Não" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "Título" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "Autor(es)" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "Editora" @@ -4950,13 +4989,14 @@ msgstr "Comentários" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "Etiquetas" @@ -4965,9 +5005,10 @@ msgstr "Etiquetas" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4977,7 +5018,7 @@ msgstr[0] "Série" msgstr[1] "Séries" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4989,8 +5030,8 @@ msgstr "Data e Hora" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "Editado" @@ -5131,60 +5172,60 @@ msgstr "" "Obter a imagem da capa/metadados socias para o livro identificado pelo ISBN " "a partir de LibraryThing.com\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "Capa" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "Descarregar metadados e capas da Amazon" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "EUA" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "França" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "Alemanha" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "GB" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "Itália" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "Japão" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "Espanha" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "Brasil" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "Website Amazon a utilizar:" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "Dados do Amazon vão ser buscados usando o site do Amazon desse país." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "O pedido à Amazon está a demorar demasiado. Tente mais tarde." @@ -5192,6 +5233,26 @@ msgstr "O pedido à Amazon está a demorar demasiado. Tente mais tarde." msgid "Metadata source" msgstr "Fonte de meta-dados" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" +"Transfere varias capas da Amazon. Útil para encontrar capas alternativas ." + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "Número máximo de capas a obter" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" +"Número máximo de capas que deve ser processado do resultado da pesquisa" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " @@ -5200,7 +5261,7 @@ msgstr "" "Descarregar metadados e capas de Douban.com. Útil apenas para livros em " "chinês." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -5212,6 +5273,49 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "Descarregar metadados e capas do Google Books" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" +"Transferir capas da pesquisa de imagens do google. Útil para encontrar capas " +"maiores/alternativas" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "Configurar o plugin a pesquisa de imagens do google" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "Tamanho de capa" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "Pesquisar por capas maiores que o tamanho especificado" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "Qualquer tamanho" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "Grande" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "Maior que %s" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "Descarregar os metadados de isbndb.com" @@ -5284,12 +5388,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "Isto é um livro Amazon Topaz. Não pode ser processado." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "Esse não é um arquivo MOBI. É um arquivo Topaz." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "Esse não é um arquivo MOBI." @@ -5325,72 +5429,72 @@ msgid "No details available" msgstr "Sem informação disponível" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "Índice" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "Página de Título" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "Índice" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "Glossário" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "Agradecimentos" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "Bibliografia" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "Marca Tipográfica" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "Direitos de Autor" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "Dedicatória" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "Epígrafe" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "Prefácio" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "Lista de Ilustrações" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "Lista de Tabelas" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "Notas" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "Prefácio" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "Texto Principal" @@ -5399,7 +5503,7 @@ msgstr "Texto Principal" msgid "%s format books are not supported" msgstr "Os livros no formato %s não são suportados" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " @@ -5409,7 +5513,7 @@ msgstr "" "da Amazon. O calibre só pode editar ficheiros MOBI que contenham livros em " "KF8. Ficheiros MOBI antigos sem KF8 não são editáveis." -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -5436,12 +5540,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -5474,15 +5578,15 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" -"

Inserir uma página de \"capa de livro\" no início do livro que contém\n" -"todos os meta-dados como por ex. título, etiquetas, autores, série,\n" -"comentários, etc.

" +"

Insere uma pagina de \"sobrecapa\" no inicio do livro que contem\n" +"todos os metadados como o titulo, etiquetas,autor, series, comentários,\n" +"etc.Qualquer sobrecapa anterior será substituída.

" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 msgid "

Remove a previous inserted book jacket page.

\n" -msgstr "

Remover a sobre capa inserida anteriormente.

\n" +msgstr "

Remover a sobrecapa inserida anteriormente.

\n" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:78 msgid "" @@ -5607,9 +5711,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "A âncora %(a)s não existe no ficheiro %(f)s" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "(Sem Título)" @@ -5625,11 +5729,11 @@ msgid "HTML TOC generation options." msgstr "Opções de geração do Índice em HTML." #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "Avaliação" @@ -5676,6 +5780,10 @@ msgstr "Página %d" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "É impossível encontrar pdftohtml, verifique se está no seu caminho" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "Sem Título" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5850,7 +5958,7 @@ msgid "Show this confirmation again" msgstr "Mostrar essa confirmação novamente" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "É necessário reiniciar" @@ -5980,12 +6088,12 @@ msgstr "Controlar a adição de livros" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5994,7 +6102,7 @@ msgstr "Nenhuns livros seleccionados" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:96 msgid "Cannot add files as no books are selected" -msgstr "Não pôde adicionar arquivos porque nenhum livro está selecionado" +msgstr "Não pôde adicionar ficheiros porque nenhum livro está selecionado" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:100 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding.py:120 @@ -6067,8 +6175,8 @@ msgstr "Adicionar à biblioteca" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -6196,7 +6304,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "Seleccione o destino para %(title)s.%(fmt)s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -6247,7 +6355,7 @@ msgid "No existing calibre library found at %s" msgstr "Nenhuma biblioteca do Calibre encontrada em %s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "Escolher biblioteca" @@ -6261,7 +6369,7 @@ msgstr "Mudar/crear biblioteca..." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -6273,12 +6381,12 @@ msgid "Pick a random book" msgstr "Escolher um livro aleatoriamente" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "Mudar rapidamente" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "Renomear a biblioteca" @@ -6433,7 +6541,7 @@ msgstr "" "à informação da sua base de dados?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -6465,7 +6573,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -6508,7 +6616,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "Criar um catálogo de livros na biblioteca do calibre" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "É impossível converter" @@ -6522,89 +6630,103 @@ msgid "Empty output file, probably the conversion process crashed" msgstr "" "Ficheiro de destino vazio, provavelmente o processo de conversão falhou" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "%(title)s pelo %(author)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "Escolher biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "Biblioteca &caminho:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "Procurar biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" -msgstr "&Eliminar após copia" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" +msgstr "&Copiar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "Copiar para a biblioteca especificada" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "&Mover" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" +"Copiar para a biblioteca especificada e eliminar da biblioteca actual" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "Copiar para a biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "Copiar livros seleccionados para a biblioteca escolhida" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "(apagar após cópia)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "Escolher biblioteca pelo caminho..." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "Não é possível copiar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "não é possível copiar a biblioteca actual" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "Não existe biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "Não foi encontrada a biblioteca em %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "A copiar para" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "A mover parar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "copiados %(num)d de livros para %(loc)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "Moveu %(num)d livros para %(loc)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "Não é possível copiar livros " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "Integrar automaticamente" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " @@ -6615,7 +6737,7 @@ msgstr "" "controlado pela opção \"Combinar Automaticamente\" em Preferências>Adicionar " "livros." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -6636,6 +6758,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "Tem a certeza?" @@ -6714,11 +6837,11 @@ msgstr "" "o %(fmt)s formato será eliminado para sempre do %(title)s. tem a " "certeza?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "Escolha os formatos a serem apagados" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." @@ -6726,7 +6849,7 @@ msgstr "" "Indique os formatos que não devem se apagados.

Note que isto nunca " "removerá todos os formatos de um livro." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" @@ -6734,44 +6857,44 @@ msgstr "" "todos so formatos do do livro seleccionado serão eliminados da " "sua biblioteca.
os meta-dados serão mantidos. Tem a certeza?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "Não é possível apagar os livros" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "Não existem dispositivos ligados" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "Memória principal" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "Armazenar no cartão A" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "Armazenar no cartão B" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "Não existem livros para apagar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "Nenhum dos livros seleccionados está no dispositvo" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "A apagar livros do aparelho." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" @@ -6779,20 +6902,22 @@ msgstr "" "Alguns dos livros seleccionados estão no dispositivo ligado. Onde " "deseja que os ficheiros sejam apagados?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -"Os livros seleccionados serão apagados permanentemente e os ficheiros " -"removidos da biblioteca do calibre. Tem a certeza?" +"O(s) %d livro(s) seleccionados serão eliminados para sempre e os " +"ficheiros removidos da suas biblioteca do calibre. Tem a certeza?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" -"Os livros seleccionados serão apagados permanentemente do " +"O(s) %d livro(s) seleccionados serão eliminados para sempre do seu " "dispositivo. Tem a certeza?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -6870,12 +6995,12 @@ msgstr "" "dispositivos especias, etc." #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "A parar" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" "A parar servidor, isto pode demorar até um minuto, espere por favor..." @@ -6964,8 +7089,8 @@ msgstr "Falha na descarga de meta-dados" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "Transferência falhada" @@ -7008,7 +7133,7 @@ msgid "Download complete" msgstr "Transferência completa" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "Registo de descargas" @@ -7088,15 +7213,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "Aplicando metadados alterados" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "Algumas falhas" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -7204,17 +7329,35 @@ msgstr "Refinar %d livros" msgid "

About Polishing books

%s" msgstr "

Sobre o Refinamento de livros

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" +"

se você tem ambos EPUB e EPUB_ORIGINAL na sua biblioteca,\n" +" então o refinamento irá ser executado no EPUB_ORIGINAL \n" +" (o mesmo irá acontecer para outros * formatos_ORIGINAL). " +"então se\n" +" quer que o refinamento não aconteça no ORIGINAL_* " +"formato, elimine o \n" +" formato_ORIGINAL antes de executar.

" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "

Subconjunto de fontes

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "

Usar Pontuação Inteligente

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -7228,7 +7371,7 @@ msgstr "" "formatos de e-books não suportam todos os meta-dados do " "calibre.

Existe uma opção distinta para actualizar a capa.

" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " @@ -7238,173 +7381,187 @@ msgstr "" "actual da biblioteca calibre

Se o ficheiro de e-book não tiver uma " "capa identificável, uma nova capa será inserida.

" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" -msgstr "

Lombada do Livro

%s" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 -#, python-format -msgid "

Remove Book Jacket

%s" -msgstr "

Remover a Lombada do Livro

%s" +msgstr "

Sobrecapa do Livro

%s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#, python-format +msgid "

Remove Book Jacket

%s" +msgstr "

Remover a Sobrecapa do Livro

%s" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "seleccionar acções a executar:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "&Subcategorizar todas as fontes embutidas" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "&Pontuação inteligente" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "Actualizar &metadados dos ficheiros de livros" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "Actualizar os ficheiros de &capas de livros" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "Adicionar metadados como \"&lombada do livro\"" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" -msgstr "&Remover uma lombada previamente inserida" +msgstr "&Remover a Sobrecapa previamente inserida" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "Sobre" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "Mostrar &relatar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" "Mostrar o relatório de todas as acções realizadas antes de terminar o " "refinamento" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "&Gravar a Configuração" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "&Carregar configurações" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "Seleccionar &todos" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "Seleccionar &Nenhuns" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "Não foram seleccionadas acções" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "Você deve selecionar pelo menos uma ação antes de guardar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "Escolher nome" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "Escolher nome para estas definições" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "Remover definições guardadas" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "Deve actualizar os meta dados" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" +"Você seleccionou a opção de adicionar metadados como a\"sobrecapa\".Para que " +"está opção funcione, você deve também seleccionar a opção para actualizar os " +"metadados no ficheiro do livro. Deseja selecciona-la?" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "Tem de seleccionar pelo menos uma acção, ou então click cancelar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "A alinhar livros para refinamento..." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "Refinar %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "Refinar livro %(nums)s de %(tot)s (%(title)s)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "A alinhar livro %(nums)s de %(tot)s (%(title)s)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "Ignorar os relatórios %d restantes" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "Ver registo comp&leto" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "Refinamento de %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "O ficheiro original foi guardado como %s." msgstr[1] "Os ficheiros originais foram guardados como %s." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr " e " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "Se refinar novamente, o refinamento será executado nos originais." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "Refinar livros" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "Aplicar o brilha da perfeição aos seus livros" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "P" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "Não é possível refinar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " @@ -7413,7 +7570,7 @@ msgstr "" "O refinamento só é suportado para livros nos formatos %s. Converta para um " "desses formatos antes de refinar." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "Iniciar refinamento de %d livro(s)" @@ -7533,7 +7690,7 @@ msgid "Click the show details button to see which ones." msgstr "Clique no botão ver detalhes para ver quais." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "Mostrar os detalhes do livro" @@ -7625,7 +7782,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:22 msgid "Search for ebooks" -msgstr "Procurar por ebooks" +msgstr "Procurar por livros digitais" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:28 msgid "this author" @@ -7640,7 +7797,7 @@ msgid "this book" msgstr "esse livro" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "Pesquisar por %s" @@ -7652,25 +7809,25 @@ msgstr "Lojas" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "Escolher lojas" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "impossível localizar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -"O Calibre ajuda-o a encontrar os ebooks que deseja procurando em vários " -"sites de livros de domínio público e comerciais." +"O Calibre ajuda-o a encontrar os livros digitais que deseja procurando em " +"vários sites de livros de domínio público e comerciais." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " @@ -7680,7 +7837,7 @@ msgstr "" "livro que procura ao melhor preço. Consegue também visualizar informação " "como o estado DRM entre outras." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -7697,11 +7854,11 @@ msgstr "" "proteções anti-cópia (DRM)." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "Mostrar essa mensagem novamente" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "Acerca de obter livros" @@ -7979,7 +8136,7 @@ msgid "The specified directory could not be processed." msgstr "É impossível processar a pasta especificada." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "Nenhuns livros" @@ -8207,7 +8364,7 @@ msgid "Click to open" msgstr "Clicar para abrir" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "Identificação" @@ -8217,7 +8374,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "Livro %(sidx)s de %(series)s" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "Colecções" @@ -8251,16 +8408,25 @@ msgstr "Caminho" msgid "Cover size: %(width)d x %(height)d" msgstr "tamanho da capa: %(width)d x %(height)d" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "&Copiar ligações" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "Eliminar o formato %s" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "guardar o formato %s no disco" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "Restaurar o formato %s" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "Opções BibTeX" @@ -8328,7 +8494,7 @@ msgstr "Ficheiro de destino" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -8515,7 +8681,7 @@ msgstr "Verdadeiro" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "Nome" @@ -8874,8 +9040,8 @@ msgid "Style the selected text block" msgstr "Aplicar estilo ao bloco de texto seleccionado" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "Normal" @@ -9164,7 +9330,7 @@ msgstr " KB" #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:63 msgid "&Flatten EPUB file structure" -msgstr "Ni&velar a estrutura de arquivos do EPUB" +msgstr "Ni&velar a estrutura de ficheiros do EPUB" #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input.py:12 msgid "FB2 Input" @@ -9205,7 +9371,7 @@ msgid "" "size-rescaling\">User Manual for a discussion of how font size rescaling " "works.

" msgstr "" -"

Este assitente irá ajudá-lo a escolher uma chave de tamanho de fonte " +"

Este assistente irá ajudá-lo a escolher uma chave de tamanho de fonte " "apropriada às suas necessidades. Introduza o tamanho base da fonte no " "documento de entrada e depois introduza um tamanho de fonte de entrada. O " "assistente irá exibir para que tamanho de fonte ele será mapeado pelo " @@ -9216,8 +9382,8 @@ msgstr "" "tamanho de fonte chave for especificado, o calibre irá usar os valores do " "perfil de saída actual.

\n" "

Consulte o Manual do Usuário para saber como o reescalonamento de " -"fontes funciona.

" +"size-rescaling\">Manual do Utilizador para saber como o reescalonamento " +"de fontes funciona.

" #: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:108 msgid "&Output document" @@ -9292,14 +9458,14 @@ msgid "" "processing\">User Manual." msgstr "" "Processamento heurístico significa que o calibre irá buscar no seu " -"livro padrões comuns e corrigí-los. Como o nome implica, isto envolve " +"livro padrões comuns e corrigi-los. Como o nome implica, isto envolve " "trabalho de estimativa, o que significa que pode acabar piorando o resultado " "da conversão se o calibre estimar erradamente. Portanto, ele está " "desactivado por padrão. Frequentemente, se a conversão não ficar como " "esperava, activar o processamento heurístico pode melhorar o resultado. Leia " "mais sobre as várias opções de processamento heurístico no manual do usuário" +"processing\">Manual do Utilizador" #: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:114 msgid "Enable &heuristic processing" @@ -9855,7 +10021,7 @@ msgstr "Nenhuma &imagem" msgid "PDF Output" msgstr "Ficheiro de destino PDF" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " @@ -9865,52 +10031,56 @@ msgstr "" "activar a caixa \"Sobrepôr\" que se encontra abaixo. Se outro modo o tamanho " "do perfil de saída será utilizado." -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "&Sobrepôr a definição do tamanho do papel no perfil de saída" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "&Tamanho do papel:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "&personalizar tamanho:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "&unidade:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "Preservar relação largura/altura da capa" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "adicionar pagina & números no fim de cada pagina" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "Família &serif:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "Família s&ans:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "Família &monospace:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "Tipo de letra &predefinido:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "&tamanho de letra defenido:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -9922,14 +10092,30 @@ msgstr "&tamanho de letra defenido:" msgid " px" msgstr " px" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "Tamanho do tipo de letra mo&nospace:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" -msgstr "adicionar pagina & números no fim de cada pagina" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "Rodapés e cabeçalhos da pagina" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "&Modelo de cabeçalho:" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" +msgstr "&Modelo de rodapé:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 msgid "PMLZ Output" @@ -10186,6 +10372,10 @@ msgstr "" "entrada atual. Quando estiver satisfeito com uma expressão, carregue no " "botão Adicionar para adicioná-la à lista de expressões." +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "&Repor as Predefinições" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "Converter" @@ -10684,7 +10874,7 @@ msgstr "Listar os livros presentes no aparelho" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:485 msgid "Prepare files for transfer from device" -msgstr "Preparar arquivos para transferência a partir do dispositivo" +msgstr "Preparar ficheiros para transferência a partir do dispositivo" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:496 msgid "Get annotations from device" @@ -10770,7 +10960,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "%s foi detectado. Quer que o calibre o gira?" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "Nenhuns formatos suportados" @@ -10820,68 +11010,68 @@ msgstr "Aparelho: " msgid " detected." msgstr " detectado." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "seleccionado para enviar" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "Nenhum aparelho" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "Nenhum dispositivo conectado" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "%(num)i de %(total)i Livros" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "0 de %i Livros" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "Escolher o formato a enviar para o aparelho" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "É impossível enviar: O aparelho não está ligado" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "Nenhum cartão" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "É impossível enviar: O aparelho não tem cartão de memória" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" "Converter automaticamente os seguintes livros antes de os carregar para o " "aparelho?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "A enviar catálogos para o dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "Enviar notícias para o aparelho." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "A enviar livros para o aparelho" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." @@ -10890,18 +11080,18 @@ msgstr "" "encontrados formatos adequados. Converta o(s) livro(s) para um formato " "suportado pelo seu aparelho primeiro." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "Sem espaço no aparelho" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" "

É impossível carregar os livros para o aparelho porque já não há mais " "espaço disponível " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "destino incorrecto" @@ -11087,7 +11277,7 @@ msgstr "Mostra informação do dispositivo" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -11231,12 +11421,12 @@ msgstr "E&tiquetas a definir nas entradas de livros criadas:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:50 #, python-format msgid "Next [%s]" -msgstr "" +msgstr "Próximo [%s]" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:52 #, python-format msgid "Previous [%s]" -msgstr "" +msgstr "Anterior [%s]" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:71 msgid "Fit &cover within view" @@ -11638,13 +11828,13 @@ msgid "Where do you want to delete from?" msgstr "De onde quer apagar?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "Biblioteca" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "Dispositivo" @@ -11680,8 +11870,8 @@ msgid "Location" msgstr "Localização" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -11700,13 +11890,13 @@ msgstr "%(curr)s (era %(initial)s)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "Item está em branco" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "Um item não pode ser definido para nada. Em vez disso apague-o." @@ -11809,7 +11999,7 @@ msgstr "Ligação" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "Não foram encontradas correspondências" @@ -11857,12 +12047,12 @@ msgid "Copy to author" msgstr "copiar para autor" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "Nome de autor inválido" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "nome do autor não contem &caracter" @@ -11957,40 +12147,40 @@ msgstr "&Esconder todos processos" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "&Copiar para a área de transferência" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "Mostrar &detalhes" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "Esconder &Detalhes" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "Mostrar informações detalhadas sobre esse erro" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "Copiado" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "Ver registo" @@ -12728,11 +12918,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:484 msgid "User plugins" -msgstr "Plugins de usuário" +msgstr "Plugins de utilizador" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:489 msgid "User Plugins" -msgstr "Plugins de usuário" +msgstr "Plugins de Utilizador" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:497 msgid "Filter list of plugins" @@ -12928,6 +13118,7 @@ msgstr "A cancelar..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -12967,12 +13158,12 @@ msgstr "Itens" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "Procurar" @@ -13090,6 +13281,14 @@ msgid "" " soon after 9:00 AM as possible.\n" " " msgstr "" +" Transferir este (jornal) periódico a cada semana nos dias " +"indicados e após\n" +"                 o tempo especificado. Por exemplo, se você escolher: " +"segunda-feira após\n" +"                 09h00, de seguida, o periódico será transferido a cada " +"segunda-feira logo\n" +"                 após 9h00 assim que possível.\n" +" " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:64 msgid "&Download after:" @@ -13589,12 +13788,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "O numero deve ser entre 8000 e 32000." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "Problema ao iniciar o dispositivo sem fios" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -13648,6 +13847,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "&Permitir ligações automáticas quando o calibre inicia" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "Editoras" @@ -13662,6 +13862,7 @@ msgstr "Nome de pesquisa de categoria: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "Nome inválido" @@ -14581,7 +14782,7 @@ msgid "&Shortcut:" msgstr "A&talho:" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "Concluído" @@ -14627,7 +14828,7 @@ msgstr "Procurar por um atalho por nome" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "Sem correspondências" @@ -14637,48 +14838,52 @@ msgstr "Sem correspondências" msgid "Could not find any shortcuts matching %s" msgstr "não conseguiu encontrar nenhum atalho que se relaciona se com %s" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "Ejectar este dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "Configurar esse dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "Mostrar livros na biblioteca de calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "Mostrar livros na memória principal do dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "Mostrar livros no cartão de armazenamento A" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "Mostrar livros no cartão de armazenamento B" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "Apagar a biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "disponível" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "Biblioteca virtual" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "Procura Avançada" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "Shift+Ctrl+F" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" @@ -14687,19 +14892,19 @@ msgstr "" "comentários, etc.

Nas palavras separadas por espaços os espaços são " "substituidos por AND" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "&Vai!" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "Fazer uma Procura rápida (ou prima a tecla 'Enter')" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "Redefinir a Procura Rápida" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "Copiar texto da procura actual (em vez do nome da procura)" @@ -14712,32 +14917,32 @@ msgstr "estrelas" msgid "Y" msgstr "Y" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "No dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "Tamanho (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "Modificado" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "O nome da 'procura' é \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "A UUID deste livro é \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -14748,32 +14953,32 @@ msgstr "" "Não pôde ser alterado o local no disco desse livro. Ele está aberto em outro " "programa?" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "Falha ao definir dados" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" "Não foi possível definir os dados, clique em Mostrar detalhes para ver o " "porquê." -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "Na Biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "Medida" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "Marcado para deleção" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "Duplo clique para me editar

" @@ -14882,7 +15087,7 @@ msgid "Previous Page" msgstr "Página Anterior" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -14963,7 +15168,7 @@ msgstr "Escolha um local para a sua nova biblioteca de e-books do calibre" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:183 msgid "Initializing user interface..." -msgstr "Iniciando interface de usuário" +msgstr "A iniciar o interface do utilizador..." #: /home/kovid/work/calibre/src/calibre/gui2/main.py:214 msgid "Repairing failed" @@ -15414,7 +15619,7 @@ msgid "Edit Metadata" msgstr "Editar Metadados" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -15563,15 +15768,15 @@ msgstr "&Comentários" msgid "Basic metadata" msgstr "Meta-dados essenciais" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "Tem capa" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "Tem sumário" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -15579,28 +15784,28 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "ver em" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "O calibre esta a transferir meta-dados de: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "Por favor aguarde" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "Pesquisa: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" "Falha ao baixar metadados. Clique em Mostrar Detalhes para ver os detalhes" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -15612,40 +15817,47 @@ msgstr "" "nome do autor e uma única palavra identificativa do titulo do livro.

Para " "ver o relatório completo, carregue em \"Mostrar Detalhes\"." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "Capa atual" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "A Procurar..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "Visualizar esta capa em tamanho grande" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "descarregar capas de %s,por favor espere..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" "Falha para baixar capas, clique em \"Mostrar detalhes\" para mais detalhes." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "Não conseguiu localizar nenhuma capa para %s" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -"Encontradas %(num)d capas de %(title)s. Escolha a que achar melhor." +"Foram encontrados %(num)d capas possíveis para %(title)s. Quando a " +"transferência estiver completa, as capas serão organizadas por tamanho" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "Baixando metadados..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "A descarregar a capa..." @@ -15764,8 +15976,8 @@ msgid "" "Swap the firstname and lastname of the author. This affects only metadata " "read from file names." msgstr "" -"Trocar o primeiro e último nome do autor. Isso afeta apenas metadados lidos " -"de nomes de arquivos." +"Trocar o primeiro e último nome do autor. Isso afecta apenas metadados lidos " +"de nomes de ficheiros." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:154 msgid "&Swap author firstname and lastname" @@ -15805,8 +16017,11 @@ msgid "The Add &Process" msgstr "& O Processo de adicionar" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " -msgstr "ignorar ficheiros com a a seguinte extensão quando são adicionados " +msgid "" +"Ignore files with the following extensions when automatically adding " +msgstr "" +"Ignorar ficheiros com a seguinte extensão quando adicionados " +"automaticamente " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 msgid "" @@ -15821,7 +16036,7 @@ msgid "" "WARNING: Files in the above folder will be deleted after being added " "to calibre." msgstr "" -"AVISO: Os arquivos na pasta acima serão excluídos depois de serem " +"AVISO: Os ficheiros na pasta acima serão excluídos depois de serem " "adicionados ao calibre." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:164 @@ -15838,7 +16053,7 @@ msgstr "Verificar por & duplicados quando os ficheiros são auto adicionados" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:169 msgid "Folder to auto-add files from" -msgstr "Pasta da qual adicionar automaticamente arquivos" +msgstr "Pasta da qual adicionar automaticamente ficheiros" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:170 msgid "Browse for folder" @@ -15847,40 +16062,40 @@ msgstr "Procurar pasta" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:172 msgid "Automatically &convert added files to the current output format" msgstr "" -"&Converter automaticamente arquivos adicionados ao formado de saída actual" +"&Converter automaticamente ficheiros adicionados ao formado de saída actual" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:173 msgid "&Automatic Adding" msgstr "&Adicionar automaticamente" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "Alta" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "Baixa" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "Muito baixa" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "Compactar metadados" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "Predefinição" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "Tudo num separador" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "Mensagens de confirmação foram todas redefinidas" @@ -15936,18 +16151,15 @@ msgid "Job &priority:" msgstr "&Prioridade do processo:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" -msgstr "Restrição a aplicar quando a biblioteca actual for aberta:" +msgid "Virtual library to apply when the current library is opened:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" -"Aplicar esta restrição quando o calibre inicia se a biblioteca actual " -"estiver a ser usada. Também é aplicada quando mudar para esta biblioteca. " -"Note que está é uma configuração por biblioteca. " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170 msgid "Edit metadata (single) layout:" @@ -16924,10 +17136,6 @@ msgstr "Desactivado" msgid "Small" msgstr "Pequeno" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "Grande" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "Médio" @@ -16945,7 +17153,7 @@ msgid "Never" msgstr "Nunca" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "pela primeira letra" @@ -18093,20 +18301,20 @@ msgstr "" "para dispositivos individuais através da personalização dos complementos da " "interface do dispositivo, em Preferências->Avançado->Complementos" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "Falha em iniciar o servidor de conteúdos" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "Registo de erros:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "Registo de acesso:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" "Você precisa reiniciar o servidor para que as alterações tenham efeito" @@ -18142,23 +18350,19 @@ msgid "Max. &OPDS items per query:" msgstr "Max. items &OPDS por pesquisa:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" -msgstr "Máx. de itens OPDS desagr&upados:" +msgid "Max. &ungrouped items:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" -msgstr "Restrição (procura guardada) a aplicar:" +msgid "Virtual library to apply:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" -"Esta restrição (baseada numa procura guardada) irá restringir os livros que " -"o servidor de conteúdos disponibiliza àqueles que correspondem à procura. " -"Esta definição é aplicada a esta biblioteca (ex. pode ter diferentes tipos " -"de restrições para diferentes bibliotecas)." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 msgid "" @@ -18567,41 +18771,51 @@ msgstr "Restaurar &predefinição" msgid "Apply any changes you made to this tweak" msgstr "Aplica qualquer alteração que tenha feito a este ajuste." -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" +msgstr "Guardar pesquisa" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" +msgstr "Não existe pesquisa para guardar" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 msgid "Delete current search" msgstr "Excluir pesquisa atual" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 msgid "No search is selected" msgstr "Nenhuma pesquisa foi selecionada" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" "A procura seleccionada será permanentemente apagada. Tem a certeza ?" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "Procura (Para a Procura Avançada clique no botão à esquerda deste)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "Iniciar procura" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "Activar ou desactivar destaque de pesquisas" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "Procuras guardadas" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" "Escolha uma Procura guardada ou digite um nome para guardar uma nova procura" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." @@ -18609,47 +18823,185 @@ msgstr "" "Guardar a pesquisa atual com o nome mostrado na caixa. Carregue e mantenha " "para mostrar um menu pop-up com opções." -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "Guardar pesquisa" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "Eliminar procura guardada" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "Gerir pesquisas guardadas" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" -msgstr "*Procura actual" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" +msgstr "Criar biblioteca virtual baseada em %s" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" -msgstr "Restringir a" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "(todos os livros)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -"Exibição de livros será restrita aqueles que correspondem a uma pesquisa " -"guardada seleccionada." -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " -msgstr " ou a pesquisa " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "({0} de {1})" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "({0} de todos)" @@ -18811,7 +19163,7 @@ msgstr "Comprar nesta loja apoia o criador do calibre: %s." #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:145 #, python-format msgid "This store distributes ebooks in the following formats: %s" -msgstr "Esta loja distribui ebooks nos seguintes formatos: %s" +msgstr "Esta loja distribui livros digitais nos seguintes formatos: %s" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/results_view.py:47 msgid "Configure..." @@ -18944,32 +19296,32 @@ msgstr "Transferir..." msgid "Goto in store..." msgstr "Ir à loja..." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "Comprar nesta loja apoia o desenvolvedor do calibre: %s

" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "Nenhuma pesquisa" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "Você deve inserir um título, autor ou palavra-chave para pesquisar." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "Personalizar a pesquisa por livros" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "Configurar pesquisa" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "Não foi possível localizar nenhum livros que corresponda" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" "Escolha o formato como quer fazer a transferência para sua biblioteca." @@ -19072,7 +19424,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/web_control.py:88 msgid "File is not a supported ebook type. Save to disk?" -msgstr "O ficheiro não é um tipo de ebook suportado. Guardar no disco?" +msgstr "O ficheiro não é um tipo de livro suportado. Guardar no disco?" #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:59 msgid "Home" @@ -19086,52 +19438,52 @@ msgstr "Recarregar" msgid "%p%" msgstr "%p%" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "O termo de pesquisa agrupada é \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" "Mudar os autores de vários livros pode demorar um pouco. Tem certeza que " "quer continuar?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" "Mudar os meta-dados de muitos livros pode demorar um pouco. Tem certeza que " "quer continuar?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "Procuras" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "Renomear categoria definida pelo utilizador" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" "Não pode usar pontos no nome quando estiver a renomear categorías de " "utilizador." -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "O nome %s já está a ser usado" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "Duplicar nome da procura" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "O nome da Procura guardada %s já está em uso" @@ -19153,13 +19505,13 @@ msgid "Manage Tags" msgstr "Gerir Etiquetas" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "Gerir Categorias do utilizador" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "Gerir as Procuras guardadas" @@ -19254,7 +19606,7 @@ msgid "Alter Tag Browser" msgstr "Alterar navegador de etiquetas" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "Ordenar por" @@ -19298,138 +19650,138 @@ msgstr "" "Todos estes category_managers estão disponíveis com um duplo click em itens " "no navegador de etiquetas atrás referido" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "Alterar icone para: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "Renomear %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "Eliminar %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "Editar a ordenação para %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "Editar ligação para %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "Adicionar %s à categoria definida pelo utilizador" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "Filhos de %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "Eliminar de pesquisa %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "Remover %(item)s da categoria %(cat)s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "Pesquisar por tudo, menos %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "Adicionar sub-categoria para %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "Eliminar categoria de utilizador %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "Esconder categoria %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "Mostrar categoria" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "Procura de livros na categoria %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "Não procurar de livros na categoria %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "Gerir %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "Alterar ícone da categoria" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "Restaurar ícone padrão" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "Mostrar todas as categorias" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "Alterar esquema de sub-categorização" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "Desativar" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "Partição" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "Primeira letra é utilizável apenas quando ordenado pelo nome" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "Escolha o destino para a entrada do Tabela de Conteúdos" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -19440,56 +19792,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "&Nome da entrada da TdC" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "Destino actualmente seleccionado:" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "Ficheiro:" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "Topo do ficheiro" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "Aproximadamente %d%% do topo" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "Localização: A <%s> etiqueta dentro do ficheiro" @@ -19531,7 +19883,7 @@ msgstr "Nenhum XPath foi introduzido." msgid "The XPath expression %s is not valid." msgstr "A expressão XPath %s não é válida." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." @@ -19539,7 +19891,7 @@ msgstr "" "Pode editar as entradas existentes na Tabela de Conteúdos carregando nelas " "no painel à esquerda." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " @@ -19549,15 +19901,15 @@ msgstr "" "localização existe. Entradas com um ponto vermelho estão quebradas e podem " "necessitar de ser reparadas." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "Criar uma &nova entrada" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "Criar TdC a partir dos cabeçalhos &principais" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " @@ -19567,11 +19919,11 @@ msgstr "" "Isto irá funcionar se o livro identifica os seus cabaçalhos utilizando " "etiquetas de cabaçalho HTML. Usa as etiquetas

,

e

." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "Criar TdC a partir dos &todos os cabeçalhos" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " @@ -19581,11 +19933,11 @@ msgstr "" "Isto irá funcionar se o livro identifica os seus cabaçalhos utilizando " "etiquetas de cabaçalho HTML. Usa as etiquetas ." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "Criar TdC a partir das &ligações." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " @@ -19595,24 +19947,35 @@ msgstr "" "Ligações que levam a caminhos que não existem no livro serão ignoradas. " "Ligações múltiplas que levem ao mesmo destino também serão ignoradas." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 msgid "Generate ToC from &XPath" msgstr "Criar TdC a partir de &XPath." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 msgid "Generate a Table of Contents from arbitrary XPath expressions." msgstr "" "Cria uma Tabela de Conteúdos a partir de expressões XPath arbitrárias." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -19622,9 +19985,9 @@ msgstr "" "AVISO: O calibre suporta apenas a criação de Tabelas de Conteúdos " "lineares em arquivos AZW3. Numa TdC linear, cada entrada deve apontar para " "um local depois da entrada anterior. Se criar uma TdC não-linear, ela será " -"automaticamente rearranjada dentro do arquivo AZW3." +"automaticamente rerranjada dentro do arquivo AZW3." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" @@ -19632,82 +19995,122 @@ msgstr "" "Pode mover esta entrada pela Tabela de Conteúdos arrastando-a e largando ou " "usando os botões para cima e para baixo que se encontram à esquerda" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "Mudar a &localização deste ponto de entrada para" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "&Remover esta entrada" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "Nova entrada &dentro destra entrada" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "Nova entrada &acima desta entrada" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "Nova entrada por &baixo desta entrada" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "&Achatar esta entrada" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" "Todas as dependências desta entrada serão trazidas para o mesmo nível que " "esta entrada." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "&Voltar ao ecrã de boas-vindas" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "Volta à visão do nível superior." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "Esta entrada aponta para um destino existente" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "Esta entrada aponta para um destino não existente" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" -msgstr "Mover a entrada actual para cima" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "Remover todas as entradas seleccionadas" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" -msgstr "Mover a entrada actual para baixo" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "&Expandir tudo" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "&Contrair todos" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "Duplo click numa entrada para mudar o texto" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "Título: {0} Dest: {1}{2}" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" @@ -19716,53 +20119,58 @@ msgstr "" "A localização que esta entrada aponta não existe:\n" "%s" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "Nenhum ítem encontrado" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" "Nenhum item foi encontrado que pode-se ser adicionado à Tebela de Conteúdos." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" "Nenhuma ligação foi encontrada que pode-se ser adicionado à Tebela de " "Conteúdos." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "Editar a TdC em %s" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "A carregar %s. Por favor, aguarde..." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "A escrever %s. Por favor, aguarde..." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "Falhou ao escrever livro" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" "Não foi possivel escrever %s. Carregue em \"Mostrar detalhes\" para mais " "informação." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "Falhou ao abrir livro" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -19794,7 +20202,7 @@ msgstr "Nenhum dos formatos é suportados (formatos disponíveis: %s)" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:116 msgid "This book has no actual ebook files" -msgstr "Este livro não tem arquivos de ebook reais" +msgstr "Este livro não tem ficheiros de ebook reais" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:121 #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:247 @@ -19849,31 +20257,31 @@ msgstr "" "Os seguintes livros já foram convertidos para o formato %s. Deseja voltar a " "convertê-los?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "&Faça um donativo para ajudar o calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "&Restaurar" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "&Ejetar dispositivo ligado" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "Sair do calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "Limpar a pesquisa recente" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "Modo de depuração" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -19884,11 +20292,11 @@ msgstr "" "registo da depuração estará disponível no arquivo:%s

O registo será " "exibida automaticamente." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "Falha ao iniciar o Servidor de Conteúdo" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -19910,16 +20318,16 @@ msgstr "" "o calibre tente reconstruir automaticamente? A reconstrução pode não ser " "completamente bem sucedida." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "Erro de conversão" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "

Falha ao converter: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -19942,23 +20350,23 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "Falha ao converter" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "Receita invalida" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "Falha" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "Existem processos activos. Tem a certeza que quer sair?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" @@ -19968,11 +20376,11 @@ msgstr "" " Sair pode causar corrupção no aparelho.
\n" " Tem a certeza que quer sair?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "Processos activos" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -20548,29 +20956,29 @@ msgstr "Tamanho de letra definido" msgid "S&earch Google for '%s'" msgstr "&Pesquisar no Google por '%s'" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "&Ampliar" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "&Diminuir" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "&Guardar como" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "&Rodar" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "Escolher um ficheiro onde guardar" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "Visualizar &imagem: %s" @@ -20628,8 +21036,8 @@ msgid "" "This ebook is corrupted and cannot be opened. If you downloaded it from " "somewhere, try downloading it again." msgstr "" -"Este ebook está danificado e não pode ser aberto. Se tiver transferido de " -"algum lugar, tente fazer o transferir novamente." +"Este livro digital está danificado e não pode ser aberto. Se tiver " +"transferido de algum lugar, tente fazer a transferência novamente." #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:117 msgid "Book format" @@ -20717,7 +21125,7 @@ msgstr "Escolher o livro" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:712 msgid "Ebooks" -msgstr "Livros" +msgstr "Livros digitais" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:728 #, python-format @@ -22012,8 +22420,8 @@ msgstr "" "veja a documentação relacionada com a procura no Manual do Utilizador. A " "predefinição é não filtrar." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." @@ -22021,12 +22429,12 @@ msgstr "" "A máxima largura de uma única linha no ficheiro de destino. A predefinição é " "detectar o tamanho do écran." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" "A expressão utilizada para separar os campos. A predefinição é um espaço." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." @@ -22034,15 +22442,15 @@ msgstr "" "O prefixo para todos os caminhos para os ficheiros. A predefinição é usar o " "caminho absoluto para a pasta da biblioteca." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "Campos inválidos. Campos disponíveis:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "Campo de ordenação inválido. Campos disponíveis:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" @@ -22050,13 +22458,13 @@ msgstr "" "Os livros seguintes não foram adicionados porque já existem na base de dados " "(ver opção --duplicates):" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "Ids dos livros adicionados: %s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -22070,7 +22478,7 @@ msgstr "" "especificar pastas, ver\n" "a opção relativa às pasta em baixo.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" @@ -22078,11 +22486,11 @@ msgstr "" "Assumir que cada pasta tem só um único livro lógico e que todos os ficheiros " "nela contidos são formatos diferentes desse livro" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "Processar as pastas recursivamente" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." @@ -22090,43 +22498,43 @@ msgstr "" "Adicionar livros à base de dados mesmo se estes já existem. A comparação é " "feita baseada nos títulos dos livros." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "Adicionar um livro vazio (um livro sem formatos)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "Definir o título do(s) livro(s) adicionado(s)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "Definir o autor do(s) livro(s) adicionado(s)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "Definir o ISBN do(s) livro(s) adicionado(s)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "Definir as etiquetas do(s) livro(s) adicionado(s)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "Definir as séries do(s) livro(s) adicionado(s)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "Definir o numero séries do(s) livro(s) adicionado(s)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "Caminho para a capa utilizar no livro adicionado" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "Deve especificar pelo menos um ficheiro a adicionar" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -22137,33 +22545,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "Deve especificar pelo menos um livro a remover" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" -"%prog add_format [options] id ebook_file\n" -"\n" -"Adicionar o livro em ebook_file aos formatos disponíveis para o livro lógico " -"identificado pelo ID. Pode saber o ID usando o comando list. Se o formato já " -"existe, é substituido.\n" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "Deve especificar um ID e um ficheiro de livro" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "o ficheiro do livro tem de ter uma extensão" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -22179,11 +22592,11 @@ msgstr "" "usando o comando list. fmt deve ser uma extensão de ficheiro como LRF ou TXT " "ou EPUB. Se o livro lógico não tem fmt disponível, não fazer nada.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "Deve especificar um ID e um formato" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -22199,15 +22612,15 @@ msgstr "" "identificado pelo ID.\n" "O ID é um número de identificação do comando list.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "Imprimir os metadados no formulário OPF (XML)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "Deve especificar um ID" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -22222,7 +22635,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -22232,42 +22645,42 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" "Lista de nomes de campos de meta-dados que podem ser usadas com a opção --" "field" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "Nome do Campo" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "É necessário especificar um ID de registro como o primeiro argumento" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "É necessário especificar um campo ou um arquivo opf" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "O ficheiro OPF %s não existe" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "%s não é um campo conhecido" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -22285,28 +22698,28 @@ msgstr "" "metadados (num\n" "ficheiro OPF). Pode saber os números de ID através do comando list.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "Exportar todos os livros da base de dados, ignorando a lista de IDs." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "Exportar os livros para a pasta especificada. A predefinição é" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "Exportar todos os livros para uma única pasta" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "Especificar este parâmetro vai desligar este comportamento." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "Deve especificar alguns IDs ou a opção %s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -22324,7 +22737,7 @@ msgstr "" "exibido.\n" "tipo-de-dado pode ser um dos seguintes: {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." @@ -22332,7 +22745,7 @@ msgstr "" "Este campo armazena dados como etiquetas (ex. vários valores separados por " "vírgulas). Só se aplica se o tipo de dados for texto." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -22352,11 +22765,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "É necessário especificar o nome, o rótulo, e tipo de dados" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -22367,7 +22780,7 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" @@ -22377,7 +22790,7 @@ msgstr "" "Se declarada, --search será ignorada.\n" "Predefinição: all (todas)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" @@ -22388,16 +22801,16 @@ msgstr "" "'procura' (search) no User Manual.\n" "Predefinição: sem filtragem" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "Mostrar informação detalhada. Útil para depurar." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "Erro: É necessário especificar o ficheiro de saída do catálogo" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -22417,7 +22830,7 @@ msgstr "" " comando custom_columns.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." @@ -22425,11 +22838,11 @@ msgstr "" "Se o coluna permitir,armazenar diversos valores, adicione os valores " "especificados aos já existentes em vez de não os sobrescrer" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "Erro: É necessário especificar um campo de nome id, e valor" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -22444,27 +22857,27 @@ msgstr "" "os IDs.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "Mostrar detalhes para cada coluna." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -22481,15 +22894,15 @@ msgstr "" "custom_columns.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "Não pedir por confirmação" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "Erro: Tem que especificar um idenficador para o campo personalizado" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -22502,43 +22915,43 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" "Erro: É necessário especificar uma acção (adicionar | remover | lista)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "Nome:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "Expressão para procurar:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "Erro: Tem de especificar um nome e uma expressão de procura" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "Adicionado" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "Erro: Você deve especificar um nome" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "removido" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" "Erro: A acção %s não é reconhecida, deve ser um dos seguintes: (adicionar | " "remover | lista)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -22552,13 +22965,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -22566,12 +22979,12 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "Ficheiro de destino em CSV" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" @@ -22579,7 +22992,7 @@ msgstr "" "Lista sepadara dor vírgulas de relatótios:\n" "Padrão: todas" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" @@ -22587,7 +23000,7 @@ msgstr "" "Lista sepadara dor vírgulas de extensões a ignorar:\n" "Padrão: todas" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" @@ -22595,11 +23008,11 @@ msgstr "" "Lista sepadara dor nomes a ignorar:\n" "Padrão: todos" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "Verificação de relatório desconhecido" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -22614,7 +23027,7 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." @@ -22622,12 +23035,12 @@ msgstr "" "Correr mesmo a recuperação. O comando não irá ser executado se esta opção " "não for específicada." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "Tem de fornecer a opção %s para a recuperação." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -22635,7 +23048,7 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" @@ -22643,7 +23056,7 @@ msgstr "" "A saída só enumera os itens numa categoria em vez das contagens por item " "dentro de cada categoria" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." @@ -22651,22 +23064,22 @@ msgstr "" "O caractére a colocar em volta dos valores da categoria no modo CSV. O " "padrão é aspas (\")." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" "O caractére usado para separar os campos no modo CSV. Padrão é vírgula." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "ITENS CATEGORIA" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -22697,33 +23110,24 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "preferências restauradas " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "criar uma coluna personalizada " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr " (%s livros)" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" "

A migrar a base de dados antiga para a biblioteca de livros em " "%s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "A copiar %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "A compactar a base de dados" @@ -23000,20 +23404,20 @@ msgstr "" "servidor Apache/nginx/etc." #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "Todos os livros" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "O mais recente" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "A carregar, por favor aguarde" @@ -23036,7 +23440,7 @@ msgid "Browsing %d books" msgstr "A navegar %d livros" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "Classificação média" @@ -23045,98 +23449,98 @@ msgstr "Classificação média" msgid "%(prefix)s: %(rating).1f stars" msgstr "%(prefix)s: %(rating).1f estrelas" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "%d estrelas" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "Popularidade" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "biblioteca" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "página inicial" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "Livro aleatório" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "Pesquisar livros por" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "Escolher categoria para pesquisar livros por:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "Navegar por" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "Para cima" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "no" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "Livros em" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "Outros formatos" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "Ler %(title)s no %(fmt)s formato" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "Obter" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "Detalhes" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "Ligação permanente" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "Uma ligação permanente a este livro" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "Este livro foi eliminado" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "Escolher aleatoriamente outro livro" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "Outro livro ao acaso" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "à procura" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "Livros equivalentes" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -23149,23 +23553,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "Caminho para a pasta da biblioteca usada pelo Servidor de Conteúdo" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "Escreva o processo com o PID para o ficheiro especificado" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -"Especifica uma restrição a usar para esta invocação. Esta opção ignora todas " -"as definições especificadas para as bibliotecas na interface de utilizador" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -24215,10 +24619,6 @@ msgstr "am" msgid "pm" msgstr "pm" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "&Copiar" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "Selecionar tudo" @@ -24320,6 +24720,31 @@ msgstr "Código em execução" msgid "Restart console" msgstr "Reiniciar consola" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "O URL deve ter o esquema sftp" @@ -24368,101 +24793,101 @@ msgstr "Falhou ao descarregar %s" msgid "The \"%s\" recipe needs a username and password." msgstr "A receita \"%s\" necessita de um utilizador e palavra-passe." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "Descarregamento terminado" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "Falha no descarregamento dos seguintes artigos:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "Falha no descarregamento de partes dos seguintes artigos:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr " de " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "\tAtalhos falhados:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "Não foi possível obter o artigo." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "O rasto de depuração está disponível acima neste registo." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "Executar com -vv para ver o motivo" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "A recolher as fontes..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "Tirar as fontes da página de índice" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "A tentar descarregar a capa..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "A criar o mastro..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "A iniciar o descarregamento [%d thread(s)]..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "Fontes descarregadas para %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "É impossível descarregar a capa: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "A descarregar a capa de %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "Imagem do mastro transferida" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "Artigos nesta edição: " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "Artigo Sem Título" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "Artigo descarregado: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "Falha no descarregamento do artigo: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "A recolher a fonte" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 msgid "" "Failed to log in, check your username and password for the calibre " "Periodicals service." @@ -24470,7 +24895,7 @@ msgstr "" "O início de sessão falhou, verifique o seu nome de utilizador e palavra-" "chave do serviço de Periódicos do calibre." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -24757,7 +25182,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/pt_BR.po b/src/calibre/translations/pt_BR.po index 009d549cbc..bea13f16fc 100644 --- a/src/calibre/translations/pt_BR.po +++ b/src/calibre/translations/pt_BR.po @@ -9,32 +9,32 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" -"PO-Revision-Date: 2013-04-01 10:02+0000\n" -"Last-Translator: Mihailov \n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" +"PO-Revision-Date: 2013-04-11 10:23+0000\n" +"Last-Translator: Neliton Pereira Jr. \n" "Language-Team: Português Brasileiro \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2013-04-02 05:18+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:41+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "Não faz absolutamente nada" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -89,8 +89,8 @@ msgstr "Não faz absolutamente nada" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -101,9 +101,9 @@ msgstr "Não faz absolutamente nada" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -112,7 +112,7 @@ msgstr "Não faz absolutamente nada" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -125,7 +125,7 @@ msgstr "Não faz absolutamente nada" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -147,13 +147,13 @@ msgstr "Não faz absolutamente nada" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -162,33 +162,33 @@ msgstr "Não faz absolutamente nada" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -333,74 +333,74 @@ msgstr "Alterar metadados em %s arquivos" msgid "Set metadata from %s files" msgstr "Alterar metadados a partir de %s arquivos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "Adicionar livros ao calibre ou ao dispositivo conectado" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "Pegar anotações de um Kindle conectado (experimental)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "Gerar um catálogo dos livros da sua biblioteca do calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "Converter livros para vários formatos de e-book" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "Ajuste fino nos seus ebooks" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "Editar o Sumário em seus livros." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "Remover livros da sua biblioteca do calibre ou dispositivo conectado" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "Editar os metadados de livros da sua biblioteca do calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "Ler livros da sua biblioteca do calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "Baixar notícias da internet em formato de e-book" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Mostrar rapidamente uma lista de livros relacionados" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "Exportar livros da sua biblioteca do calibre para o disco rígido" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "Mostrar detalhes do livro numa janela popup separada" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "Reiniciar o calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" "Abrir a pasta que contém os arquivos de livros da sua biblioteca do calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "Enviar livros para o dispositivo conectado" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" @@ -408,43 +408,43 @@ msgstr "" "Enviar livros por email ou pela web e também conectar-se ao iTunes ou pastas " "do seu computador como se fossem dispositivos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "Navegar pelo Manual do Usuário do calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "Personalizar o calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "Encontrar facilmente livros similares ao selecionado atualmente" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" "Alternar entre diferentes bibliotecas do calibre e realizar manutenção nelas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "Copiar livros do dispositivo para a sua biblioteca do calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "Editar as coleções cujos livros estão no seu dispositivo" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "Copiar um livro de uma biblioteca do calibre para outra" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" "Fazer pequenos ajustes em arquivos epub ou htmlz da sua biblioteca do calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" @@ -452,58 +452,58 @@ msgstr "" "Encontrar o anterior ou o próximo ao pesquisar na sua biblioteca do calibre " "no modo de destaque" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "Escolher aleatoriamente um livro da sua biblioteca do calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "Pesquisar livros de diferentes livrarias" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "Obter novos plug-ins do calibre ou atualizar os existentes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Aparência" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Interface" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" "Ajustar a aparência da interface do calibre para se adequar ao seu gosto" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "Comportamento" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "Mudar o modo como o calibre se comporta" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Adicionar suas próprias colunas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" "Adicionar/remover suas próprias colunas na lista de livros do calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Barra de ferramentas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -511,65 +511,65 @@ msgstr "" "Personalizar a barra de ferramentas e os menus de contexto, escolhendo quais " "ações estão disponíveis em cada um" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "Pesquisando" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "Personalizar a maneira que a busca por livros funciona no calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "Opções de entrada" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Conversão" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "Configurar opções de conversão específicas a cada formato de entrada" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Opções Frequentes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "Configurar opções de conversão comuns a todos os formatos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "Opções de saída" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "Configurar opções de conversão específicas a cada formato de saída" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "Adicionando livros" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "Importar/Exportar" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Controlar como o calibre lê metadados de arquivos enquanto adiciona livros" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "Salvando livros para o disco" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -577,51 +577,51 @@ msgstr "" "Controlar como o calibre exporta arquivos da sua base de dados para o disco " "ao usar Salvar para o disco" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "Enviando livros para dispositivos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" "Controlar como o calibre transfere arquivos para o seu leitor de e-books" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "Quadros de conexões de metadados" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "Alterar campos de metadados antes de salvar/enviar" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "Funções para modelos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "Avançado" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "Criar suas próprias funções para modelos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "Compartilhando livros por e-mail" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "Compartilhando" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -629,11 +629,11 @@ msgstr "" "Configurar compartilhamento de livros por e-mail. Pode ser usado para envio " "automático de notícias baixadas no seu dispositivo" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "Compartilhando pela rede" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -642,20 +642,20 @@ msgstr "" "biblioteca do calibre a partir de qualquer lugar, em qualquer dispositivo, " "conectado à internet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "Download de metadados" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "Controlar como o calibre baixa metadados de livros da internet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "Dispositivos ignorados" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." @@ -663,38 +663,38 @@ msgstr "" "Controlar quais dispositivos o calibre irá ignorar quando eles estiverem " "conectados ao computador." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Plug-ins" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" "Adicionar/remover/personalizar vários aspectos de funcionalidades do calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "Ajustes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "Ajustar como o calibre se comporta em vários contextos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "Teclado" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "Personalizar os atalhos de teclado usados pelo calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Extras" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "Configurações extra avançadas" @@ -1002,8 +1002,8 @@ msgstr "Ativar o plug-in com nome" msgid "Disable the named plugin" msgstr "Desativar o plug-in com nome" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -1014,11 +1014,22 @@ msgid "Path to library too long. Must be less than %d characters." msgstr "" "Caminho à biblioteca longo demais. Deve conter menos de %d caractéres." -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "preferências restauradas " + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "criando coluna customizada " + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -1030,26 +1041,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "%(tt)sA avaliação média é %(rating)3.1f" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "Principal" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "Cartão A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "Cartão B" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1062,11 +1073,11 @@ msgstr "Cartão B" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Notícias" @@ -1074,14 +1085,14 @@ msgstr "Notícias" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "marcado" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "sim" @@ -1089,7 +1100,7 @@ msgstr "sim" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "não" @@ -1097,45 +1108,70 @@ msgstr "não" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "desmarcado" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "hoje" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "ontem" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "esteMês" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "diasatrás" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "vazio" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "espaço em branco" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "Consulta booleana inválida \"{0}\"" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1170,7 +1206,7 @@ msgstr "Nenhum plug-in com nome %s foi encontrado." msgid "Communicate with Android phones." msgstr "Comunica-se com os telefones Android." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" @@ -1178,7 +1214,7 @@ msgstr "" "Lista separada por vírgulas de diretórios para enviar e-books na memória " "principal do dispositivo. O primeiro que existir será usado" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" @@ -1186,11 +1222,11 @@ msgstr "" "Lista separada por vírgulas de diretórios para enviar e-books nos cartões " "de armazenamento do dispositivo. O primeiro que existir será usado" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "Comunica-se com os telefones S60." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "Comunicar-se com tablets WebOS" @@ -1345,8 +1381,8 @@ msgstr "" "Clique em 'Mostrar Detalhes' para a listagem." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "Catálogo" @@ -1402,10 +1438,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1446,6 +1482,7 @@ msgstr "Adicionando livros à lista de metadados do aparelho..." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1781,17 +1818,17 @@ msgstr "" "leitor, isto é útil se você modificou a capa." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "Enviar capa Preto & Branco" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "Mostrar livros expirados" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1802,12 +1839,12 @@ msgstr "" "permitir que você delete eles com a nova lógica de deleção." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "Mostrar pré-visualizações" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1818,7 +1855,7 @@ msgstr "" "Ative-a caso você deseje visualizar/excluir as pre-visualizações." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "Mostra recomendações" @@ -1833,7 +1870,7 @@ msgstr "" "serem comprados. Permita se você deseja ver/deletar os arquivos." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "Tentar suportar novo firmware" @@ -1846,10 +1883,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "Versão de base de dados do Kobo não suportada - Ver detalhes" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1929,20 +1968,20 @@ msgstr "" "/>Progresso no capítulo: %(chapter_progress)s%%
Marcações: %(text)s
Notas: %(annotation)s

" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "O Kobo Touch suporta estantes de livro a partir do firmware V2.0.0." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" "Especificar uma coluna de tipo de marcações para gerenciamento automático" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "Criar prateleira" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." @@ -1950,11 +1989,11 @@ msgstr "" "Caso não exista, criar uma nova prateleira no Kobo Touch. Somente para o " "firmware V2.0.0 ou posterior." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "Apagar prateleiras vazias" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." @@ -1962,11 +2001,11 @@ msgstr "" "Apagar prateleiras vazias do Kobo Touch quando a sincronização estiver " "completa. Somente para o firmware V2.0.0 ou posterior." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "Atualizar capas de livros" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." @@ -1974,11 +2013,11 @@ msgstr "" "Realizar upload de imagens de capa da biblioteca do Calibre ao enviar livros " "para este dispositivo." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "Mantenha a proporção da imagem da capa." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." @@ -1987,7 +2026,7 @@ msgstr "" "redimensiona para o dispositivo. Isto vale para as versões de firmware 2.3.1 " "e posteriores." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " @@ -1997,11 +2036,11 @@ msgstr "" "arquivos, mas em outras elas são apenas pointeiros para o website de compra. " "Habilite se você quiser ver/deletar elas." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "Configurar informações de Série" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -2014,7 +2053,7 @@ msgstr "" "depois que o livro haja sido processado pelo dispositivo. Habilite se você " "quiser configurar informações de série." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -2028,11 +2067,11 @@ msgstr "" "como restaurar o seu kobo aos padrões de fábrica e testar programas. Este " "driver suporta firmwares V2.x.x e DBVersion até " -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "Título a ser testado durante o debug" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -2055,55 +2094,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "Comunica-se com Sweex/Kogan/Q600/Wink" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "Comunicar com o Pandigital Novel" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "Comunicar-se com o VelocityMicro" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "Comunicar com o GM2000" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "Comunicar-se com o Acer Lumiread" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "Comunicar-se com o Acer Lumiread" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "Comunicar-se com o Trekstor" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "Comunicar-se com o EEE Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "Comunica-se com o tablet Adam" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "Comunicar-se com o Nextbook Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "Comunicar-se com o leitor Moovybook" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "Comunica-se com o COBY" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "Comunica-se com o Ex124G" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2231,7 +2270,7 @@ msgstr "O Nook" msgid "Communicate with the Nook eBook reader." msgstr "Comunica-se com o leitor Nook." -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "Comunicação com o Nook Color, TSR e leitores de eBook em tablets." @@ -2796,7 +2835,7 @@ msgid "There is insufficient free space on the storage card" msgstr "Não há espaço suficiente no cartão de memória" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "%s representado" @@ -3211,11 +3250,11 @@ msgstr "" "fazendo, pois ela pode resultar em vários efeitos colaterais desagradáveis " "no restante do processo de conversão." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "Arquivo CCS utilizado ao invés do arquivo padrão" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" @@ -3223,7 +3262,7 @@ msgstr "" "Modelo utilizado para gerar o índice do arquivo html, em vez do arquivo " "padrão" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" @@ -3231,7 +3270,7 @@ msgstr "" "Modelo utilizado para gerar o html do conteúdo do livro, em vez do arquivo " "padrão" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3588,20 +3627,20 @@ msgstr "" "opção." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." msgstr "" -"Um modelo HTML usado para gerar rodapés em cada página. A string _PAGENUM_ " -"será substituida pelo atual número de página." + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" +msgstr "rodapés" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." -msgstr "" -"Um modelo HTML usado para gerar cabeçalhos em cada página. A string " -"_PAGENUM_ será substituída pelo número da página atual." +msgid "headers" +msgstr "cabeçalhos" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 msgid "" @@ -4412,7 +4451,7 @@ msgstr "Configura a data da publicação." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:574 msgid "Set the book timestamp (no longer used anywhere)" -msgstr "" +msgstr "Definir a marca temporal do livro (não é mais usada em lugar algum)" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:578 msgid "" @@ -4605,6 +4644,10 @@ msgid "" "the order A, B, D, C. With this option, they will instead be added as A, B, " "C, D" msgstr "" +"Normalmente, quando está seguindo links em arquivos HTML, o calibre adiciona " +"o de profundidade primeiro, isto é, se o arquivo A tem um link para B e para " +"C, mas B tem um link para D, os arquivos são adicionados na ordem A, B, D, " +"C. Com esta opção, eles serão adicionados na ordem A, B, C, D." #: /home/kovid/work/calibre/src/calibre/ebooks/lit/from_any.py:47 msgid "Creating LIT file from EPUB..." @@ -4834,7 +4877,7 @@ msgstr "" msgid "Set book ID" msgstr "Defina o ID do livro" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4860,27 +4903,27 @@ msgstr "Não" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "Título" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "Autor(es)" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "Editora" @@ -4916,13 +4959,14 @@ msgstr "Comentários" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "Tags" @@ -4931,9 +4975,10 @@ msgstr "Tags" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4943,7 +4988,7 @@ msgstr[0] "Série" msgstr[1] "Séries" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4955,8 +5000,8 @@ msgstr "Assinatura de tempo (timestamp)" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "Publicado" @@ -5091,62 +5136,67 @@ msgid "" "Fetch a cover image/social metadata for the book identified by ISBN from " "LibraryThing.com\n" msgstr "" +"\n" +"%prog [opções] ISBN\n" +"\n" +"Busca imagem de capa/metadados sociais para o livro identificado pelo ISBN a " +"partir do LibraryThing.com\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "Capas" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "Execute o download de metadados e capas da Amazon." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "EUA" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "França" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "Alemanha" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "Reino Unido" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "Itália" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "Japão" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "Espanha" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "Brasil" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "Site da Amazon para se usar:" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" "Metadados da Amazon será buscado utilizando o site da Amazon deste país." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "Conexão com a Amazon expirou. Tente novamente mais tarde." @@ -5154,6 +5204,24 @@ msgstr "Conexão com a Amazon expirou. Tente novamente mais tarde." msgid "Metadata source" msgstr "Fonte de metadados" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "Numero máximo de capas a obter" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " @@ -5162,7 +5230,7 @@ msgstr "" "Execute o download de metadados e capas da Douban.com. Útil somente para " "livros escritos em chinês." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -5174,6 +5242,51 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "Execute o download de metadados e capas da Google Books." +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" +"Baixa capas a partir da pesquisa do Google Imagens. Conveniente para achar " +"capas maiores ou alternativas." + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "Configurar o plug-in de pesquisa no Google Imagens" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" +"O Número máximo de capas a serem processadas a partir do resultado de " +"pesquisa do Google" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "Tamanho da capa" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "Pesquisar por capas maiores que a capa especificada" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "Qualquer tamanho" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "Grande" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "Maiores que %s" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "Obter metadados do isbndb.com" @@ -5245,12 +5358,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "Este é um livro Amazon Topaz. Ele não pode ser processado." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "Esse não é um arquivo MOBI. É um arquivo Topaz." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "Este não é um arquivo MOBI." @@ -5277,72 +5390,72 @@ msgid "No details available" msgstr "Detalhes não disponíveis" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "Sumário" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "Página do Título" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "Índice" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "Glossário" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "Agradecimentos" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "Bibliografia" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "Colofão" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "Copyright" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "Dedicatória" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "Epígrafe" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "Prefácio" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "Lista de Ilustrações" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "Lista de Tabelas" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "Notas" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "Prefácio" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "Texto Principal" @@ -5351,14 +5464,14 @@ msgstr "Texto Principal" msgid "%s format books are not supported" msgstr "%s formatos de livro não são suportados" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -5366,7 +5479,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/errors.py:17 msgid "This file is locked with DRM. It cannot be edited." -msgstr "" +msgstr "Este arquivo está bloqueado com DRM. Não pode ser editado." #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:36 #, python-format @@ -5383,12 +5496,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -5421,7 +5534,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -5441,7 +5554,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:117 #, python-format msgid "## Polishing: %s" -msgstr "" +msgstr "## Polindo: %s" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:125 msgid "Updating metadata" @@ -5546,9 +5659,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "(Sem título)" @@ -5564,11 +5677,11 @@ msgid "HTML TOC generation options." msgstr "Opções de geração de Sumário HTML." #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "Avaliação" @@ -5615,6 +5728,10 @@ msgstr "Página %d" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "Não pode ser encontrado pdftohtml, verifique o seu PATH" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5786,7 +5903,7 @@ msgid "Show this confirmation again" msgstr "Mostrar esta confirmação novamente" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "Reinício é necessário" @@ -5915,12 +6032,12 @@ msgstr "Controle a adição de livros" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5999,8 +6116,8 @@ msgstr "Adicionar na biblioteca" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -6098,6 +6215,8 @@ msgstr "Criar catálogo" msgid "" "Create a catalog of the books in your calibre library in different formats" msgstr "" +"Criar um catálogo de livros na sua biblioteca do calibre em diferentes " +"formatos." #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:40 msgid "No books selected for catalog generation" @@ -6126,7 +6245,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "Selecione o destino para %(title)s.%(fmt)s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -6177,7 +6296,7 @@ msgid "No existing calibre library found at %s" msgstr "Nenhuma biblioteca do Calibre encontrada em %s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "Escolher biblioteca" @@ -6191,7 +6310,7 @@ msgstr "Alternar/criar biblioteca..." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -6203,12 +6322,12 @@ msgid "Pick a random book" msgstr "Escolha um livro aleatoriamente" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "Mudança rápida" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "Renomear biblioteca" @@ -6362,7 +6481,7 @@ msgstr "" "no banco de dados?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -6394,7 +6513,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -6438,7 +6557,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "Criar um catálogo dos livros na sua biblioteca do calibre" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "Não foi possível converter" @@ -6451,89 +6570,102 @@ msgstr "Iniciando conversão de %d livro(s)" msgid "Empty output file, probably the conversion process crashed" msgstr "Arquivo de saída vazio, provavelmente o processo de conversão falhou" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "%(title)s por %(author)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "Escolher biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "Camin&ho da biblioteca:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "Procurar por biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" -msgstr "Excluir &depois de copiar" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" +msgstr "&Copiar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "Copiar para biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "Copiar livro selecionado para biblioteca específica" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "(deletar depois de copiar)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "Escolher biblioteca por caminho..." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "Não foi possível copiar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "Não é possível copiar a biblioteca atual." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "Nenhuma biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "Nehuma biblioteca encontrada em %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "Copiando para" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "Movendo para" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "Foram copiados %(num)d livros para %(loc)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "Não foi possível copiar os livros: " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "Fundir automaticamente" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " @@ -6544,7 +6676,7 @@ msgstr "" "comportamento é controlado pela opção de fundir automaticamente em " "Preferências->Adicionando livros." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -6565,6 +6697,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "Você tem certeza?" @@ -6644,11 +6777,11 @@ msgstr "" "O formato %(fmt)s será excluído permanentemente de %(title)s. Você " "tem certeza?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "Escolha os formatos para serem apagados" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." @@ -6656,7 +6789,7 @@ msgstr "" "Indique os formatos que não devem se apagados. Note que isto nunca " "removerá todos os formatos do livro." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" @@ -6664,44 +6797,44 @@ msgstr "" "Todos os formatos do livros selecionado serão deletados da sua " "biblioteca. Os metadados do livro serão guardados. Você tem certeza?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "Não foi possível apagar livros" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "Nenhum dispositivo está conectado" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "Memória principal" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "Cartão de Memória A" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "Cartão de Memória B" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "Nenhum livro para apagar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "Nenhum dos livros selecionados estão no dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "Eliminar livros do dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" @@ -6709,21 +6842,19 @@ msgstr "" "Alguns dos livros selecionados estão no aparelho conectado. De onde " "você deseja que os arquivos selecionados sejam apagados?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -"Os livros selecionados serão permanentemente excluídos e os arquivos " -"removidos da sua biblioteca calibre. Você tem certeza?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" -"Os livros selecionados serão permanentemente apagados de seu " -"dispositivo. Você tem certeza?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 msgid "Start wireless device connection" @@ -6800,12 +6931,12 @@ msgstr "" "especiais, etc." #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "Parando" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" "Parando o servidor, isso pode lever até um minuto, por favor espere..." @@ -6891,8 +7022,8 @@ msgstr "Falha ao tentar fazer o download de metadados" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "Falha ao baixar" @@ -6934,7 +7065,7 @@ msgid "Download complete" msgstr "Transferência concluída" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "Registro de download" @@ -7014,15 +7145,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "Aplicando as mudanças nos metadados" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "Algumas falhas" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -7127,19 +7258,30 @@ msgstr "Polir %d livros" #: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:40 #, python-format msgid "

About Polishing books

%s" +msgstr "

Sobre o polimento de livros

%s" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -7148,178 +7290,191 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "Selecione ações a executar:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "&Subcategorizar todas as fontes embutidas" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "&Pontuação inteligente" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "Sobre" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "Mostrar &relatório" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" +"Exibir um relatório sobre todas as ações executadas depois que o polimento " +"terminar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "&Salvando configurações" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "&Carregando configurações" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "Selecion&ar tudo" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "Selecionar &nenhum" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "Nenhuma ação selecionada" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "Você deve selecionar ao menos uma ação antes de salvar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "Escolher nome" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "Escolher nome para estas configurações" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "Remover configurações salvas" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "Você deve selecionar ao menos uma ação, ou clicar Cancelar." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "Enfileirando livros para polimento" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "Polir %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "Visualizar registro comp&leto" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "Polimento de %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "O arquivo original foi salvo como %s." msgstr[1] "Os arquivos originais foram salvos como %s." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr " e " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "Se você polir novamente, o polimento será executado nos originais." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "Polir livros" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "P" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "Não é possível polir" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " @@ -7328,7 +7483,7 @@ msgstr "" "O polimento só é suportado para livros nos formatos %s. Converta para um " "desses formatos antes de polir." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "Iniciar polimento de %d livro(s)" @@ -7448,7 +7603,7 @@ msgid "Click the show details button to see which ones." msgstr "Clique no botão de detalhes para mostra-los" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "Exibir detalhes do livro" @@ -7555,7 +7710,7 @@ msgid "this book" msgstr "este livro" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "Pesquisar %s" @@ -7567,17 +7722,17 @@ msgstr "Lojas" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "Escolher lojas" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "Não é possível pesquisar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." @@ -7585,7 +7740,7 @@ msgstr "" "O calibre ajuda você a encontrar os ebooks que você deseja, pesquisando em " "sites de várias fontes de livros comerciais e de domínio público." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " @@ -7595,7 +7750,7 @@ msgstr "" "possuem o livro que você está procurando, pelos melhores preços. Você também " "irá obter o status de DRM e outras informações úteis." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -7605,11 +7760,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "Mostrar esta mensagem novamente" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "Sobre obtenção de livros" @@ -7644,6 +7799,8 @@ msgid "" "Editing Table of Contents is only supported for books in the %s formats. " "Convert to one of those formats before polishing." msgstr "" +"Somente os formatos %s suportam a edição de sumário. Converta para um desses " +"formatos antes do polimento." #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:288 @@ -7883,7 +8040,7 @@ msgid "The specified directory could not be processed." msgstr "O diretório específico não pode ser processado." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "Nenhum livro" @@ -8112,7 +8269,7 @@ msgid "Click to open" msgstr "Clique para abrir" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "Ids" @@ -8122,7 +8279,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "Livro %(sidx)s de %(series)s" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "Coleções" @@ -8156,16 +8313,25 @@ msgstr "Caminho" msgid "Cover size: %(width)d x %(height)d" msgstr "Tamanho da capa: %(width)d x %(height)d" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "Excluir o formato %s" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "Salvar o formato %s no disco" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "Opções BibTeX" @@ -8233,7 +8399,7 @@ msgstr "saída" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -8419,7 +8585,7 @@ msgstr "Verdadeiro" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "Nome" @@ -8759,8 +8925,8 @@ msgid "Style the selected text block" msgstr "Estilizar o bloco de texto selecionado" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "Normal" @@ -9735,59 +9901,63 @@ msgstr "Sem &Imagens" msgid "PDF Output" msgstr "Saída PDF" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "Tamanho do &Papel:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "Tamanho personali&zado:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "&Unidade:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "Preservar &aspecto da capa" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "Adicionar &números ao final de cada página" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "Família Se&rif:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "Família &Sans:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "Família &Monoespaçada:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "Fon&te padrão:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "Tamanho padrão da fon&te:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -9799,14 +9969,30 @@ msgstr "Tamanho padrão da fon&te:" msgid " px" msgstr " px" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "Tamanho de &fonte monoespaçada:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" -msgstr "Adicionar &números ao final de cada página" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 msgid "PMLZ Output" @@ -10060,6 +10246,10 @@ msgstr "" "documento de entrada atual. Quando você estiver satisfeito com uma " "expressão, clique no botão Adicionar para adicioná-la à lista de expressões." +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "Converter" @@ -10643,7 +10833,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "Nenhum formato apropriado" @@ -10693,67 +10883,67 @@ msgstr "Dispositivo: " msgid " detected." msgstr " detectado." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "selecionado para envio" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "Nenhum dispositivo disponível" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "Nenhum dispositivo conectado" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "%(num)i de %(total)i Livros" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "0 de %i Livros" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "Escolha o formato para enviar ao dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "Não foi possível enviar: nenhum dispositivo conectado" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "Nenhum cartão disponível" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" "Não foi possível enviar: o dispositivo não possui um cartão de memória" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "Auto converter os livros a seguir antes de enviar para dispositivo?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "Enviando catálogos ao dispositivo." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "Enviando notícias ao dispositivo." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "Enviando livros ao dispositivo." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." @@ -10762,18 +10952,18 @@ msgstr "" "formato adequado foi encontrado. Primeiro, converta o(s) livros(s) para um " "formato suportado pelo seu dispositivo." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "Não há espaço no dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" "

Não é possível enviar para o dispositivo, porque não existe espaço " "disponível " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "Destino incorreto" @@ -10935,7 +11125,7 @@ msgstr "Exibir informações do dispositivo" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -11464,13 +11654,13 @@ msgid "Where do you want to delete from?" msgstr "De onde quer excluir?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "Biblioteca" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "Dispositivo" @@ -11506,8 +11696,8 @@ msgid "Location" msgstr "Local" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -11526,13 +11716,13 @@ msgstr "%(curr)s (era %(initial)s)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "O item é branco" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "Um item não pode ser nada. Invés disso apague-o." @@ -11633,7 +11823,7 @@ msgstr "Vincular" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "Nenhuma correspondência encontrada" @@ -11681,12 +11871,12 @@ msgid "Copy to author" msgstr "Copiar para autor" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "Nome de autor inválido" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "Nomes de autores não podem conter caracteres \"&\"" @@ -11781,40 +11971,40 @@ msgstr "O&cultar todas as tarefas" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "&Copiar para a área de transferência" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "Mostra &detalhes" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "Ocultar &detalhes" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "Mostra informação detalhada sobre este erro" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "Copiado" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "Ver registro" @@ -12725,6 +12915,7 @@ msgstr "Cancelando..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -12762,12 +12953,12 @@ msgstr "Itens" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "Pesquisar" @@ -13370,12 +13561,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "O número da prota deve ser entre 8000 e 32000." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "Problema ao iniciar dispositivo de rede sem fio" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "O driver do dispositivo sem fio não inicio. Disse que \"%s\"" @@ -13427,6 +13618,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "Editoras" @@ -13441,6 +13633,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "Nome inválido" @@ -14342,7 +14535,7 @@ msgid "&Shortcut:" msgstr "Atalho" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "Concluído" @@ -14388,7 +14581,7 @@ msgstr "Pesquisar um atalho pelo nome" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "Nenhum resultado" @@ -14398,48 +14591,52 @@ msgstr "Nenhum resultado" msgid "Could not find any shortcuts matching %s" msgstr "Não foi possível achar nenhum atalho correspondente a %s" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "Ejetar o dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "Configurar este dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "Mostrar livros na biblioteca do calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "Mostrar livros na memória principal do dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "Mostrar livros no cartão A" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "Mostrar livros no cartão B" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "Deletar biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "disponível" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "Pesquisa avançada" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "Shift+Ctrl+F" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" @@ -14447,19 +14644,19 @@ msgstr "" "

Procura a lista de livros por título, autor, editora, tags, comentários, " "etc.

Palavras separadas por espaços são pesquisadas com \"E\" lógico" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "&Ir!" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "Faça uma busca rápida (você pode pressionar também a tecla Enter)" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "Limpar Pesquisa Rápida" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "Copia o texto da pesquisa atual (ao invés do nome da pesquisa)" @@ -14472,32 +14669,32 @@ msgstr "estrelas" msgid "Y" msgstr "Y" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "No dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "Tamanho (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "Modificado" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "O nome para a pesquisa é \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "o UUID deste livro é \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -14508,32 +14705,32 @@ msgstr "" "Não foi possível alterar o local no disco para este livro. Ele está aberto " "em outro programa?" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "Falha ao alterar o dado" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" "Não foi possível alterar o dado, clique em Mostrar detalhes para saber " "porque." -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "Na Biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "Tamanho" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "Marcado para exclusão" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "Um duplo clique para editar-me

" @@ -14641,7 +14838,7 @@ msgid "Previous Page" msgstr "Página Anterior" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -15167,7 +15364,7 @@ msgid "Edit Metadata" msgstr "Editar metadados" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -15316,15 +15513,15 @@ msgstr "&Comentários" msgid "Basic metadata" msgstr "Metadados básicos" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "Tem capa" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "Tem sumário" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -15332,29 +15529,29 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "Veja em" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "O calibre está baixando metadados a partir de: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "Por favor aguarde" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "Consulta: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" "Falha ao baixar os metadados. Clique em Mostrar Detalhes para ver os " "detalhes." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -15362,40 +15559,46 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "Capa atual" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "Pesquisando" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "Baixando capas para %s, por favor aguarde..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" "Falha ao baixar as capas, clique em \"Mostrar detalhes\" para ver os " "detalhes." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "Não é possível encontrar capas para %s" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "Baixando metadados..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "Baixando capa..." @@ -15551,7 +15754,8 @@ msgid "The Add &Process" msgstr "O &processo de adição" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -15599,34 +15803,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "Adição &automática" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "Alta" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "Baixa" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "Muito baixa" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "Metadado compacto" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "Padrão" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "Tudo em uma tab" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "Confirmação de todas janelas de diálogo foram redefinidas" @@ -15681,18 +15885,15 @@ msgid "Job &priority:" msgstr "&Prioridade da tarefa:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" -msgstr "Restrição a aplicar quando a biblioteca atual é aberta:" +msgid "Virtual library to apply when the current library is opened:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" -"Aplica esta restrição quando calibre inicia se a biblioteca atual estiver " -"sendo usada. Também aplicada quando mudando para esta biblioteca. Note que " -"está é uma configuração por biblioteca. " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170 msgid "Edit metadata (single) layout:" @@ -16640,10 +16841,6 @@ msgstr "Desativado" msgid "Small" msgstr "Pequeno" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "Grande" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "Médio" @@ -16661,7 +16858,7 @@ msgid "Never" msgstr "Nunca" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "Pela primeira letra" @@ -17783,20 +17980,20 @@ msgstr "" "sobreposta para dispositivos individuais através da personalização dos plug-" "ins da interface do dispositivo, em Preferências->Avançado->Plug-ins" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "Falhou ao iniciar o servidor de conteúdo" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "Registro de erros:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "Registro de acessos:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "Você deve reiniciar o servidor para que as mudanças sejam efetuadas" @@ -17831,23 +18028,19 @@ msgid "Max. &OPDS items per query:" msgstr "Máx. de itens &OPDS por expressão de consulta:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" -msgstr "Máx. de itens OPDS desagr&upados:" +msgid "Max. &ungrouped items:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" -msgstr "Restrição (busca salva) a aplicar:" +msgid "Virtual library to apply:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" -"Esta restrição (baseada em uma pesquisa salva) irá restringir os livros do " -"servidor de conteúdo torna disponíveis para aqueles correspondentes a " -"pesquisa. Esta definição é por biblioteca (isto é, você pode ter uma " -"restrição diferente por biblioteca)." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 msgid "" @@ -18310,41 +18503,51 @@ msgstr "Restaurar pa&drão" msgid "Apply any changes you made to this tweak" msgstr "Aplicar todas as alterações que você fez neste ajuste" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" +msgstr "Criar pesquisa salva" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 msgid "Delete current search" msgstr "Excluir pesquisa atual" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 msgid "No search is selected" msgstr "Nenhuma pesquisa foi selecionada" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" "A pesquisa selecionada será permanentemente apagada. Você tem certeza?" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "Pesquisar (Para Pesquisa Avançada clique no botão da esquerda)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "Iniciar pesquisa" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "Ativar e desativar destaque de pesquisa." -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "Pesquisas Salvas" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" "Escolha uma pesquisa salva ou entre um nome para uma nova pesquisa salva" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." @@ -18352,47 +18555,185 @@ msgstr "" "Salvar a busca atual sob o nome mostrado na caixa. Pressione e mantenha para " "um menu pop-up com opções." -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "Criar pesquisa salva" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "Excluir pesquisa salva" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "Gerenciar pesquisas salvas" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" -msgstr "*Pesquisa atual" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" -msgstr "Restringir a" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "(todos os livros)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -"Exibição de livros será restrita àqueles que correspondem a uma pesquisa " -"salva selecionada" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " -msgstr " ou a pesquisa " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "({0} de {1})" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "({0} de tudo)" @@ -18677,35 +19018,35 @@ msgstr "Baixar..." msgid "Goto in store..." msgstr "Ir para Loja..." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" "Comprando desta loja você dá suporte ao desenvolvedor do Calibre: %s

" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "Nenhuma consulta" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" "Você deve digitar um título, autor ou palavra-chave a ser pesquisada." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "Personalizar a busca por livros" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "Configura a busca" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" "Não foi possível encontrar nenhum livro que corresponda a sua consulta" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "Escolha qual formato baixar para sua biblioteca" @@ -18821,51 +19162,51 @@ msgstr "Atualizar" msgid "%p%" msgstr "%p%" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "O termo de pesquisa agrupada é \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" "Mudar os autores de vários livros pode demorar um pouco. Você tem certeza?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" "Mudar os metadados para muitos livros pode demorar um pouco. Você tem " "certeza?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "Pesquisas" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "Renomeia a categoria do usuário" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" "Você não pode usar pontos no nome quando estiver renomeando categorías de " "usuário" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "O nome %s já foi usado" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "Nome de pesquisa duplicado" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "O nome da pesquisa salva %s já está sendo usado." @@ -18887,13 +19228,13 @@ msgid "Manage Tags" msgstr "Gerenciar tags" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "Gerenciar categorias do usuário" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "Gerenciar pesquisas salvas" @@ -18988,7 +19329,7 @@ msgid "Alter Tag Browser" msgstr "Alterar navegador de tags" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "Ordenar por" @@ -19029,138 +19370,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "Renomear %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "Excluir %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "Filhos de %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "Excluir pesquisa %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "Excluir %(item)s da categoria %(cat)s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "Pesquisar tudo menos %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "Adicionar sub-categoria para %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "Excluir categoria de usuário %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "Ocultar categoria %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "Mostrar categoria" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "Pesquisar livros na categoria %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "Pesquisar livros que não estejam na categoria %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "Gerenciar %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "Alterar ícone de categoria" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "Restaurar ícone padrão" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "Mostrar todas as categorias" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "Desativar" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "Partição" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "A primeira letra é útil apenas na ordenação por nome" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "Selecionar um destino para entrada do Sumário" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -19171,56 +19512,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "&Nome da entrada de sumário:" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "Arquivo:" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -19262,73 +19603,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -19340,134 +19692,179 @@ msgstr "" "adiante da entrada anterior. Se você criar um sumário não-linear, ele será " "automaticamente rearranjado dentro do arquivo AZW3." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "Editar o sumário em %s" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -19548,31 +19945,31 @@ msgstr "" "Os livros a seguir já foram convertidos para o formato %s. Você deseja " "reconverte-los?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "Faça uma &doação para contribuir com calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "&Restaurar" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "&Ejetar dispositivo conectado" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "Sair do Calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -19580,11 +19977,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -19600,16 +19997,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "Erro ao converter" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -19632,23 +20029,23 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "Falha na conversão" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "Lista Desativada" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "Falha" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "Existem tarefas ativas. Você tem certeza que deseja sair?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" @@ -19658,11 +20055,11 @@ msgstr "" " Sair agora pode corremper dados no dispositivo.
\n" " Você tem certeza que deseja sair?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "Tarefas ativas" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -20224,29 +20621,29 @@ msgstr "Tamanho de fonte padrão" msgid "S&earch Google for '%s'" msgstr "Pe&squisar no Google por \"%s\"" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "Apro&ximar" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "Afas&tar" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "&Salvar como" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "Gi&rar" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "Escolha um arquivo onde salvar" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "Visualizar imagem: %s" @@ -21555,8 +21952,8 @@ msgstr "" "pesquisa, por favor veja a documentação à respeito de pesquisa no Manual do " "Usuário. O padrão é não filtrar." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." @@ -21564,11 +21961,11 @@ msgstr "" "A largura máxima de uma única linha na saída. O padrão é detectar o tamanho " "da tela." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "O Caractere usado para separar os campos. O padrão é um espaço." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." @@ -21576,15 +21973,15 @@ msgstr "" "O prefixo do caminho de todos arquivos. O padrão é o caminho completo até a " "pasta da biblioteca." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "Campos inválidos. Campos disponíveis:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "Campo de ordenação inválido. Campos disponíveis:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" @@ -21592,13 +21989,13 @@ msgstr "" "Os livros a seguir não foram adicionados por já constarem no banco de dados " "(veja a opção --duplicates):" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "IDs de livro adicionados: %s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -21612,7 +22009,7 @@ msgstr "" "pode também especificar diretórios, veja as opções relacionadas com " "diretórios a baixo.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" @@ -21620,11 +22017,11 @@ msgstr "" "Assumir que cada diretório possui apenas um eBook e que todos os arquivos de " "um diretório sejam formatos diferentes de um mesmo eBook" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "Processar diretórios recursivamente" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." @@ -21632,43 +22029,43 @@ msgstr "" "Adicionar livros para a base de dados mesmo se eles já existirem. Comparação " "é feita baseada nos títulos dos livros." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "Adicionar um livro vazio (um livro sem formatos)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "Configure o título do(s) livro(s) adicionado(s)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "Configure o(s) autor(es) do(s) livro(s) adicionado(s)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "Configure o ISBN do(s) livro(s) adicionado(s)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "Configure as tags do(s) livro(s) adicionado(s)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "Configure as séries do(s) livro(s) adicionado(s)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "Configure o número de série do(s) livro(s) adicionado(s)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "Caminho para a capa para usar no livro adicionado" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "É necessário especificar ao menos um arquivo a ser adicionado" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -21679,28 +22076,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "É necessário especificar ao menos um livro para remover" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "É necessário especificar um ID e um arquivo de eBook" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "O arquivo de eBook deve ter uma extensão" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -21710,11 +22117,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "É necessário especificar um ID e um formato" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -21724,15 +22131,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "Imprimir metadados num formulário OPF (XML)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "É necessário especificar um ID" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -21747,7 +22154,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -21757,40 +22164,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "Nome do campo" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "O arquivo OPF %s não existe" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "%s não é um campo conhecido" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -21810,29 +22217,29 @@ msgstr "" "livro_id\n" "utilizando o comando list.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" "Exportar todos os livros do banco de dados, ignorando a lista de IDs." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "Exportar livros para o diretório especificado. O padrão é" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "Exportar todos os livros em um diretório" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "Especificar esta mudança desligará este comportamento" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "Você precisa especificar alguns dos IDs ou a opção %s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -21850,7 +22257,7 @@ msgstr "" "exibido.\n" "tipo-de-dado pode ser um dos seguintes: {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." @@ -21858,7 +22265,7 @@ msgstr "" "Este campo armazena dados como tags (ex. vários valores separados por " "vírgulas). Somente se aplica se o tipo-de-dado for texto." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -21878,11 +22285,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "Você precisa especificar identificador, nome e tipo-de-dado" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -21893,7 +22300,7 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" @@ -21903,7 +22310,7 @@ msgstr "" "Se declarado, --search será ignorado.\n" "Padrão: todos" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" @@ -21914,16 +22321,16 @@ msgstr "" "Usuário.\n" "Padrão: sem filtros" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "Mostrar informação detalhada de saída. Útil para depuração" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "Erro: Você deve especificar um arquivo de saída para o catálogo" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -21943,7 +22350,7 @@ msgstr "" " comando custom_columns.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." @@ -21951,11 +22358,11 @@ msgstr "" "Se o campo possibilitar armazenar diversos valores, não sobrescreva os " "valores adicione os valores especificados aos já existentes." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "Erro: Você deve especificar para o campo nome, id e valor" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -21970,27 +22377,27 @@ msgstr "" "os IDs.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "Mostrar detalhes para cada campo." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -22008,16 +22415,16 @@ msgstr "" "custom_columns.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "Não pedir confirmação" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" "Erro: Você tem que especificar uma idenficador para o campo personalizado" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -22030,40 +22437,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "Erro: Você deve especificar uma ação (adicionar|remover|listar)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "Nome:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "Pesquisar texto:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "Erro: Você deve especificar um nome e um texto para busca" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "adicionado" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "Erro: Você deve especificar um nome" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "removido" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -22077,13 +22484,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -22091,34 +22498,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "Saída em CSV" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -22133,18 +22540,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -22152,33 +22559,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "O caractere usado para separar campos no modo CSV. Padrão é vírgula." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "ITENS DA CATEGORIA" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -22201,33 +22608,24 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "preferências restauradas " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "criando coluna customizada " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr " (%s livros)" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" "

Migrando o banco de dados antigo para a biblioteca de ebook em " "%s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "Copiando %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "Compactando banco de dados" @@ -22496,20 +22894,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "Todos os livros" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "Mais recente" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "Carregando... aguarde, por favor." @@ -22532,7 +22930,7 @@ msgid "Browsing %d books" msgstr "Navegando por %d livros" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "Avaliação média" @@ -22541,98 +22939,98 @@ msgstr "Avaliação média" msgid "%(prefix)s: %(rating).1f stars" msgstr "%(prefix)s: %(rating).1f estrelas" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "%d estrelas" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "Popularidade" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "biblioteca" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "início" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "Livro aleatório" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "Navegar livros por" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "Selecione uma categoria para navegar:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "Navegando por" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "Para cima" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "em" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "Livros em" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "Outros formatos" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "Obter" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "Detalhes" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "Link permanente" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "Este livro foi excluído" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "Escolher outro livro aleatório" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "Outro livro aleatório" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "Livros correspondentes" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -22645,23 +23043,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "Caminho para a pasta da biblioteca usada pelo Servidor de Conteúdo" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "Escreva o processo com o PID para o arquivo especificado" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -"Especifica uma restriçao para ser usada neste pedido. Esta opção sobrepõe " -"qualquer configurações por biblioteca especificadas na Interface gráfica." -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -23696,10 +24094,6 @@ msgstr "am" msgid "pm" msgstr "pm" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "&Copiar" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "Selecionar tudo" @@ -23800,6 +24194,31 @@ msgstr "Código está executando" msgid "Restart console" msgstr "Reinicie o painel" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "O endereço deve ter um esquema sftp" @@ -23848,101 +24267,101 @@ msgstr "Falha ao baixar %s" msgid "The \"%s\" recipe needs a username and password." msgstr "A lista \"%s\" requer um usuário e senha." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "Download concluído" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "Falha ao baixar os seguintes artigos:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "Falha ao baixar partes do artigos a seguir:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr " de " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "\tLinks que falharam:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "Não pôde trazer o artigo" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "O rastro de depuração está disponível previamente neste relatório" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "Executar com -vv para ver o motivo" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "Obtendo feeds..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "Obtendo feeds da página índice" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "Tentando obter capa..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "Gerando título da capa" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "Iniciando o download [%d tarefa(s)]" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "Feeds descarregados para %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "Não foi possível baixar capa: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "Baixando capa de %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "Imagem de cabeçalho baixada" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "Artigos nesta entrega: " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "Artigo sem título" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "Artigo transferido: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "Transferência de artigo falhou: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "Obtendo feed" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 msgid "" "Failed to log in, check your username and password for the calibre " "Periodicals service." @@ -23950,7 +24369,7 @@ msgstr "" "Falou em logar-se, verifique seu nome de usuário e senha para o serviço de " "Periódicos do calibre." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -24236,7 +24655,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" @@ -24813,6 +25232,8 @@ msgstr "" msgid "" "Save original file when converting/polishing from same format to same format" msgstr "" +"Salvar o arquivo original antes de converter/polir de um formato para o " +"mesmo formato" #: /home/kovid/work/calibre/resources/default_tweaks.py:467 msgid "" @@ -24823,6 +25244,17 @@ msgid "" "Similarly, by setting save_original_format_when_polishing to False you can\n" "prevent calibre from saving the original file when polishing." msgstr "" +"Quando o calibre faz uma conversão de um formato para o mesmo formato,\n" +"por exemplo, de EPUB para EPUB, o arquivo original será salvo, poque caso a\n" +"conversão fique ruim, você pode ajustar as configurações e executar " +"novamente.\n" +"Se você definir esta opção como False, você evitará que o calibre salve o " +"arquivo\n" +"original.\n" +"De maneira similar, ao definir save_original_format_when_polishing como " +"False,\n" +"você irá evitar que o calibre salve o arquivo original quando estiver " +"polindo." #: /home/kovid/work/calibre/resources/default_tweaks.py:476 msgid "Number of recently viewed books to show" diff --git a/src/calibre/translations/ro.po b/src/calibre/translations/ro.po index a444bb2e41..878fddcdc4 100644 --- a/src/calibre/translations/ro.po +++ b/src/calibre/translations/ro.po @@ -7,33 +7,33 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" -"PO-Revision-Date: 2013-01-03 19:29+0000\n" -"Last-Translator: Jorel \n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" +"PO-Revision-Date: 2013-04-25 10:57+0000\n" +"Last-Translator: Roxana Socol \n" "Language-Team: Romanian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n == 1 ? 0: (((n % 100 > 19) || ((n % 100 " "== 0) && (n != 0))) ? 2: 1));\n" -"X-Launchpad-Export-Date: 2013-03-30 05:20+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:36+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "Nu face absolut nimic" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -88,8 +88,8 @@ msgstr "Nu face absolut nimic" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -100,9 +100,9 @@ msgstr "Nu face absolut nimic" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -111,7 +111,7 @@ msgstr "Nu face absolut nimic" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -124,7 +124,7 @@ msgstr "Nu face absolut nimic" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -146,13 +146,13 @@ msgstr "Nu face absolut nimic" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -161,33 +161,33 @@ msgstr "Nu face absolut nimic" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -332,74 +332,74 @@ msgstr "Setează metadate în fişiere %s" msgid "Set metadata from %s files" msgstr "Setează metadate din fişiere %s" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "Adăugaţi cărţi în calibre sau dispozitivul conectat" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "Aduceţi adnotări la un Kindle conectat (experimental)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "Generaţi un catalog de cărţi în biblioteca calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "Converteşte cărţile în diverse formate ebook" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "Ştergeţi cărţile din bibliotecă sau de pe dispozitivul conectat" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "Editează metadatele cărţilor din bibliotecă" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "Citeşte cărţi în biblioteca calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "Descarcă ştirile de pe internet în format ebook" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Arată o listă de cărţi asociate, rapid" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "Exportă cărţi din biblioteca calibre pe hard disk" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "Afişaţi detalii cărţii într-un pop-up separat" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "Restartaţi calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" "Deschideţi folderul care conţine fişierele cărţii din biblioteca calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "Trimite cărţile la dispozitivul conectat" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" @@ -407,45 +407,45 @@ msgstr "" "Trimite cărţi via e-mail sau internet. De asemenea se conectează la iTunes " "sau directoarele din computerul dumneavoastră ca şi cum ar fi dispozitive." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "Caută Manualul Utilizatorului calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "Particularizarea calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "Găseşte cu uşurinţă cărţi similare cu cea selectată" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" "Comutarea între bibliotecile diferite calibre şi efectuează lucrări de " "întreţinere" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "Copiaţi cărţi de pe dispozitiv în biblioteca calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" "Editaţi colecţiile în care cărţile sunt introduse pe aparatul dumneavoastră" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "Copiază o carte dintr-o bibliotecă calibre în alta" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" "Crează mici retușuri la fișiere epub sau htmlz în propria librărie Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" @@ -453,60 +453,60 @@ msgstr "" "Căutaţi în biblioteca dumneavoastră calibre în modul \"highlight\" " "(accentuat)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "Alege o carte la întâmplare din biblioteca dumneavoastră calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "Căutaţi cărţi la diferiţi vânzători de cărţi" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" "Obţine plugin-uri noi pentru calibre sau le înnoieşte pe cele existente" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Aspect şi Comportament" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Interfață" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" "Ajustează aspectul și comportamentul interfeței Calibre după propriile tale " "gusturi" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "Comportament" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "Schimbă modul în care se comportă Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Adaugă propriile tale coloane" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" "Adaugă/șterge propriile tale coloane în lista de cărți a programului Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Bară de unelte" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -514,68 +514,68 @@ msgstr "" "Ajustează bara de unelte și meniurile contextuale, schimbând acțiunile " "disponibile ale fiecăruia" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "Se caută" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" "Personalizează modul în care căutarea cărților funcționează în calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "Opțiuni Intrare" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Conversie" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" "Precizează opțiunile de conversie specifice fiecărui format de introducere" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Opţiuni Comune" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "Precizează opțiuni comune pentru toate formatele" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "Opțiuni Ieșire" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "Precizează opțiunile specifice fiecărui format de ieșire" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "Se adaugă cărţi" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "Import/Export" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Controlează modalitatea de citire metadata din fișiere la adăugare cărți de " "către Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "Salvează cărțile pe disc" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -583,52 +583,52 @@ msgstr "" "Controlează modalitatea de export a fișierelor din baza de date Calibre la " "utilizarea opțiunii Salvează pe disc" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "Se trimit cărţi pe dispozitive" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" "Controlează cum Calibre transferă fișierele către cititorul dumneavoastră de " "cărți electronice" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "Panouri de conectare pentru metadate" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "Schimbă câmpurile metadata înainte de salvare/trimitere" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "Funcții Şablon" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "Configurări avansate" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "Crează propriile funcții șablon" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "Partajare cărți prin email" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "Partajare" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -636,11 +636,11 @@ msgstr "" "Precizarea opțiunilor de partajare a cărților prin email. Poate fi folosită " "pentru trimiterea automată a știrilor descărcate spre dispozitivele tale" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "Partajare via Internet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -649,59 +649,59 @@ msgstr "" "da acces la biblioteca dumneavoastră Calibre de oriunde, de pe orice " "dispozitiv prin Internet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "Descărcare metadate" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" "Controlează modul în care Calibre descarcă metadatele cărţilor electronice " "de pe internet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Extensii" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Adaugă/şterge/configurează diferite funcţii ale Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "Ajustări" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" "Reglare fină a modului în care se comportă Calibre în diferite contexte" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "Tastatură" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "Personalizează scurtăturile de la tastatură folosite de calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Diverse" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "Configurare avansată a altor elemente" @@ -832,7 +832,7 @@ msgstr "Acest profil este destinat pentru B&N Nook." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:230 msgid "Output profile" -msgstr "Profil de ieşire" +msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:234 msgid "" @@ -854,7 +854,8 @@ msgstr "" msgid "" "Intended for the iPad 3 and similar devices with a resolution of 1536x2048" msgstr "" -"Intenționat pentru iPad3 si dispozitive similare cu o rezolutie de 1536x2048" +"Destinat dispozitivelor iPad3 și dispozitivelor similare cu o rezoluție de " +"1536x2048" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:443 msgid "Intended for generic tablet devices, does no resizing of images" @@ -873,6 +874,8 @@ msgid "" "Intended for the Nook HD+ and similar tablet devices with a resolution of " "1280x1920" msgstr "" +"Destinat pentru dispozitivele Nook HD și dispozitive similare cu o rezoluție " +"de 1280x1920" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:484 msgid "This profile is intended for the Kobo Reader." @@ -889,7 +892,7 @@ msgstr "Utilizabil pentru orice dispozitiv e-ink" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:522 msgid "Suitable for use with any large screen e-ink device" msgstr "" -"Utilizabil pentru orice dispozitiv e-ink cu afişaj de dimensiuni nari" +"Utilizabil pentru orice dispozitiv e-ink cu afişaj de dimensiuni mari" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:531 msgid "This profile is intended for the 5-inch JetBook." @@ -909,7 +912,7 @@ msgstr "Acest profil este destinat pentru Amazon Kindle DX." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:668 msgid "This profile is intended for the Amazon Kindle PaperWhite" -msgstr "" +msgstr "Acest profil este destinat pentru Amazon Kindle PaperWhite." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:679 msgid "This profile is intended for the Amazon Kindle Fire." @@ -933,6 +936,7 @@ msgstr "" msgid "" "This profile is intended for the PocketBook Pro 912 series of devices." msgstr "" +"Acest profil este destinat pentru seria de dispozitive PocketBook Pro 912." #: /home/kovid/work/calibre/src/calibre/customize/ui.py:30 msgid "Installed plugins" @@ -982,6 +986,9 @@ msgid "" "plugin. This command will automatically zip up the plugin and update it in " "calibre." msgstr "" +"Pentru dezvoltatorii de extensii: specificați calea către directorul în care " +"dezvoltați extensia. Această comandă va arhiva automat extensia și o va " +"actualiza în Calibre." #: /home/kovid/work/calibre/src/calibre/customize/ui.py:616 msgid "Remove a custom plugin by name. Has no effect on builtin plugins" @@ -1009,8 +1016,8 @@ msgstr "Activează extensia specificată prin nume" msgid "Disable the named plugin" msgstr "Dezactivează extensia specificată prin nume" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -1022,11 +1029,22 @@ msgstr "" "Calea către bibliotecă este prea lungă. Aceasta trebuie să conţină mai puţin " "de %d caractere." -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "se creează coloană personalizată " + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -1038,26 +1056,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "%(tt)sMedia evaluărilor este %(rating)3.1f" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "Principal" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "Card A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "Card B" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1070,11 +1088,11 @@ msgstr "Card B" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Știri" @@ -1082,14 +1100,14 @@ msgstr "Știri" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "bifat" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "da" @@ -1097,7 +1115,7 @@ msgstr "da" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "nu" @@ -1105,45 +1123,70 @@ msgstr "nu" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "nebifat" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "azi" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "ieri" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "lunaaceasta" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "zileînurmă" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "gol" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "gol" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "Interogare booleană invalidă \"{0}\"" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1168,29 +1211,32 @@ msgstr "Registrul pentru depanare" #: /home/kovid/work/calibre/src/calibre/debug.py:272 #, python-format msgid "No plugin named %s found" -msgstr "" +msgstr "Nu a fost găsită nici o extensie cu denumirea%s" #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:19 msgid "Communicate with Android phones." msgstr "Comunică cu telefoane Android." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" +"Directoarele din listă trebuie despărțite prin virgulă pentru a putea " +"încărca e-book-uri în memoria principală a dispozitivelor. Se va " +"începe de la prima virgulă folosită." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "Comunică cu telefoanele S60." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "Comunică cu tabletele WebOS." @@ -1272,6 +1318,8 @@ msgstr "Comunică cu iTunes/iBooks" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:214 msgid "Apple iDevice detected, launching iTunes, please wait ..." msgstr "" +"A fost detectat dispozitivul Apple iDevice, se lansează aplicația iTunes, vă " +"rugăm să așteptați ..." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:216 msgid "" @@ -1294,6 +1342,9 @@ msgid "" "href=\"http://www.mobileread.com/forums/showpost.php?p=2113958&postcount=3\">" "forum post for more information.

" msgstr "" +"

Nu se poate comunica cu iTunes.

Verificați la " +"postări pe forum pentru mai multe informații.

" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:386 @@ -1336,8 +1387,8 @@ msgstr "" "Apăsaţi \"Afişează detalii\" pentru o listă." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "Catalog" @@ -1392,10 +1443,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1436,6 +1487,7 @@ msgstr "Se adaugă cărţi listei de metadate a dispozitivului..." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1502,7 +1554,7 @@ msgstr "Comunică cu dispozitivul EB 600." #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:56 msgid "Communicate with the Tolino Shine reader." -msgstr "" +msgstr "Comunică cu dispozitivul Tolino Shine." #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:214 msgid "Communicate with the Astak Mentor EB600" @@ -1518,7 +1570,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:274 msgid "Communicate with the PocketBook 622 reader." -msgstr "" +msgstr "Comunică cu dispozitivul PocketBook 622." #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:287 msgid "Communicate with the PocketBook 360+ reader." @@ -1755,7 +1807,7 @@ msgstr "Creează etichete pentru administrare automată" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:71 msgid "Upload covers for books (newer readers)" -msgstr "Încarcă coperți pentru cărți (cititoare mai noi)" +msgstr "Încarcă coperte pentru cărți (cititoare mai noi)" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:72 msgid "" @@ -1768,17 +1820,17 @@ msgstr "" "folositoare dacă aţi modificat coperta." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "Afişează cărţile expirate" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1789,12 +1841,12 @@ msgstr "" "permite să le ștergeți cu ajutorul noii logici de ștergere." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1802,7 +1854,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "Arată recomadări" @@ -1814,7 +1866,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1827,10 +1879,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1900,66 +1954,66 @@ msgstr "" "/>Parcurgere capitol: %(chapter_progress)s%%
Puncte " "cheie: %(text)s
Note: %(annotation)s

" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1967,7 +2021,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1976,11 +2030,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -2000,55 +2054,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "Comunică cu Sweex/Kogan/Q600/Wink" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "Comunică cu dispozitivul Pandigital Novel." -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "Comunică cu dispozitivul VelocityMicro." -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "Comunică cu dispozitivul GM2000." -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "Comunică cu dispozitivul Acer Lumiread." -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "Comunică cu Aluratek Color" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "Comunică cu Trekstor" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "Comunică cu EEE Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "Comunică cu tableta Adam." -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "Comunică cu Nextbook Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "Comunică cu dispozitivul Moovybook Reader." -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "Comunică cu dispozitivul COBY." -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "Comunică cu dispozitivul Ex124G" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2173,7 +2227,7 @@ msgstr "Nook" msgid "Communicate with the Nook eBook reader." msgstr "Comunică cu dispozitivul Nook." -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2710,7 +2764,7 @@ msgid "There is insufficient free space on the storage card" msgstr "Nu există suficient spaţiu liber pe cartela de stocare" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "S-au redat %s" @@ -3122,11 +3176,11 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "Fişiere CSS utilizate pentru ieşiere în schimbul fişierului implicit" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" @@ -3134,7 +3188,7 @@ msgstr "" "Şablon utilizat pentru generarea fişierului index html în schimbul " "fişierului implicit" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" @@ -3142,7 +3196,7 @@ msgstr "" "Şablon utilizat pentru generarea cuprinsului html al cărţii în schimbul " "fişierului implicit" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3475,15 +3529,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4682,7 +4740,7 @@ msgstr "" msgid "Set book ID" msgstr "Setează ID-ul cărţii" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4709,27 +4767,27 @@ msgstr "Nu" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "Titlu" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "Autor(i)" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "Editura" @@ -4765,13 +4823,14 @@ msgstr "Comentarii" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "Etichete" @@ -4780,9 +4839,10 @@ msgstr "Etichete" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4793,7 +4853,7 @@ msgstr[1] "Serii" msgstr[2] "Serii" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4805,8 +4865,8 @@ msgstr "Amprentă de timp" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "Publicat" @@ -4945,62 +5005,62 @@ msgstr "" "Obţine o copertă sub formă de metadate pentru cartea identificată după ISBN " "de la LibraryThing.com\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "Copertă" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "Descarcă metadate şi coperţi de pe Amazon" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "Engleză US" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "Franța" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "Germania" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "MB" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "Italia" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "Japonia" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "Spania" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "Website-ul Amazonului" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" "Metadatele de pe Amazon vor fi preluate utilizând website-ul Amazon al ţării " "respective." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "Amazon a expirat. Încercaţi din nou mai târziu." @@ -5008,6 +5068,24 @@ msgstr "Amazon a expirat. Încercaţi din nou mai târziu." msgid "Metadata source" msgstr "Sursa de metadate" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " @@ -5016,7 +5094,7 @@ msgstr "" "Descarcă metadate şi coperţi de pe Douban.com. Utile doar pentru cărţi în " "limba chineză." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -5026,6 +5104,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "Descarcă metadate şi coperţi de pe Google Books" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "Mare" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "Descarcă metadate de pe isbndb.com" @@ -5098,12 +5217,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "Aceasta este o carte Amazon Topaz. Nu poate fi procesată." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "Acesta nu este un fișier MOBI." @@ -5130,72 +5249,72 @@ msgid "No details available" msgstr "Nu există detalii disponibile." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "Cuprins" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "Copertă interioară" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "Index" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "Glosar" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "Mulţumiri" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "Bibliografie" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "Casetă" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "Drepturi de autor" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "Dedicație" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "Epigraf" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "Cuvânt înainte" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "Listă cu ilustraţii" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "Lista Tabelelor" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "Observații" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "Prefaţă" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "Textul principal" @@ -5204,14 +5323,14 @@ msgstr "Textul principal" msgid "%s format books are not supported" msgstr "%s formatul cărţilor nu este acceptat" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -5236,12 +5355,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -5274,7 +5393,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -5399,9 +5518,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -5417,11 +5536,11 @@ msgid "HTML TOC generation options." msgstr "Generator de optiuni HTML TOC" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "Cotare" @@ -5468,6 +5587,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "Nu a putut găsi pdftohtml, verificaţi daca este în PATH" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5641,7 +5764,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "Este necesară o repornire" @@ -5769,12 +5892,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5851,8 +5974,8 @@ msgstr "Adaugă în bibliotecă" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5974,7 +6097,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "Selectaţi destinaţie pentru %(title)s.%(fmt)s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -6025,7 +6148,7 @@ msgid "No existing calibre library found at %s" msgstr "Nu a fost găsită nici o bibliotecă la %s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "Alege biblioteca" @@ -6039,7 +6162,7 @@ msgstr "Schimbă/creează bibliotecă" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -6051,12 +6174,12 @@ msgid "Pick a random book" msgstr "Alege o carte la întamplare" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "Schimb rapid" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "Redenumeşte biblioteca" @@ -6211,7 +6334,7 @@ msgstr "" "potrivesc cu informaţiile din baza de date?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -6243,7 +6366,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -6286,7 +6409,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "Creează un catalog al cărţilor din bibliotecă" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "Nu se poate converti" @@ -6299,96 +6422,109 @@ msgstr "Se începe conversia a %d cărţi" msgid "Empty output file, probably the conversion process crashed" msgstr "Fişier gol, procesul de conversie a fost probabil prăbuşit" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "Alege biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "Copiază în bibliotecă" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "Copiază cărţile selectate în biblioteca specificată" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "(şterge după copiere)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "Nu poate fi copiat" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "Nici o bibliotecă" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "Nici o bibliotecă găsită la %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "Au fost copiate %(num)d cărţi în %(loc)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "Cărţile nu au putut fi copiate: " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -6409,6 +6545,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "Sigur doriţi să continuaţi?" @@ -6486,11 +6623,11 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "Selectează formatele care urmează a fi şterse" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." @@ -6498,7 +6635,7 @@ msgstr "" "Selectaţi formatele care nu doriţi să fie şterse.

Reţineţi că acest " "lucru nu va elimina toate formatele dintr-o carte." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" @@ -6507,44 +6644,44 @@ msgstr "" "biblioteca dumneavoastră.
Metadatele cărţii vor fi păstrate. Sigur doriţi " "să continuaţi?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "Cărţile nu pot fi şterse" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "Nici un dispozitiv nu este conectat" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "Memoria principala" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "Card de stocare A" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "Card de stocare B" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "Nu sunt cărţi de şters" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "Nici una dintre cărţile selectate nu sunt pe dispozitiv" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "Se şterg cărţi de pe dispozitiv." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" @@ -6552,21 +6689,19 @@ msgstr "" "Unele dintre cărţile selectate sunt pe dispozitivul ataşat. De unde " "doriţi ca fişierele selectate să fie şterse?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -"Cărţile selectate vor fi şterse permanent iar fişierele îndepărtate " -"din biblioteca dumneavoastră calibre. Sigur doriţi să continuaţi?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" -"Cărţile selectate vor fi şterse definitiv de pe dispozitiv. Sigur " -"doriţi să continuaţi?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 msgid "Start wireless device connection" @@ -6641,12 +6776,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "În curs de oprire" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" "Se opreşte serverul; acest lucru ar putea dura până la un minut, vă rugăm să " @@ -6732,8 +6867,8 @@ msgstr "Descărcarea metadatelor a eşuat" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "Descărcare eșuată" @@ -6775,7 +6910,7 @@ msgid "Download complete" msgstr "Descărcare completă" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "Descărcaţi log-ul" @@ -6869,15 +7004,15 @@ msgstr "" "selectate vor fi şterse permanent din biblioteca " "calibre.

Sigur doriţi să continuaţi?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "Se aplică metadatele modificate" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "Câteva eşecuri" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6985,17 +7120,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -7004,185 +7150,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "&Punctuaţie inteligentă" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -7302,7 +7459,7 @@ msgid "Click the show details button to see which ones." msgstr "Faceţi clic pe butonul arată detalii pentru a vedea care dintre ele." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "Arată detaliile cărţii" @@ -7408,7 +7565,7 @@ msgid "this book" msgstr "această carte" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "Caută %s" @@ -7420,17 +7577,17 @@ msgstr "Magazine" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "Alege magazine" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "Nu se poate căuta" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." @@ -7438,7 +7595,7 @@ msgstr "" "Calibre vă ajută să găsiţi ebook-urile pe care le doriţi, căutând pe website-" "urile diverselor surse comerciale şi publice cărţi pentru dumneavoastră." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " @@ -7448,7 +7605,7 @@ msgstr "" "căutaţi la cel mai bun preţ. De asemenea, veţi afla statutul DRM cât şi alte " "informaţii utile." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -7465,11 +7622,11 @@ msgstr "" "dacă cărţile pe care le cumpăraţi au DRM." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "Afişează acest mesaj din nou" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "Despre \"Obţine Cărţi\"" @@ -7739,7 +7896,7 @@ msgid "The specified directory could not be processed." msgstr "Directorul specificat nu a putut fi procesat." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "Nici o carte" @@ -7968,7 +8125,7 @@ msgid "Click to open" msgstr "Click pentru a deschide" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "lds" @@ -7978,7 +8135,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "Cartea %(sidx)s din %(series)s" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "Colecții" @@ -8012,16 +8169,25 @@ msgstr "Cale" msgid "Cover size: %(width)d x %(height)d" msgstr "Mărimea coperţii: %(width)d x %(height)d" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "Opţiunile BibTeX" @@ -8089,7 +8255,7 @@ msgstr "ieşire" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -8282,7 +8448,7 @@ msgstr "Adevărat" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "Nume" @@ -8622,8 +8788,8 @@ msgid "Style the selected text block" msgstr "Stil bloc text selectat" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "Normal" @@ -9592,59 +9758,63 @@ msgstr "Fără &imagini" msgid "PDF Output" msgstr "Ieşire PDF" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "&Mărime hârtie:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "Menţine proporţiile &aspectului coperţii" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "Familia Se&rif:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "Familia &Sans:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "Familia &Monospace:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "Font s&tandard:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -9656,13 +9826,29 @@ msgstr "" msgid " px" msgstr " px" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "Mărime &font Monospace:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9903,6 +10089,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "Converteşte" @@ -10490,7 +10680,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "Nu există formate adecvate" @@ -10536,67 +10726,67 @@ msgstr "Dispozitiv: " msgid " detected." msgstr " detectat." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "selectat(ă) pentru trimitere" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "Nici un dispozitiv" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "%(num)i din %(total)i cărţi" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "0 of %i cărţi" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "Alegeţi formatul de trimis pe dispozitiv" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "Nu se poate trimite: Nici un dispozitiv nu este conectat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "Nu există nici un card" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "Nu se poate trimite: Dispozitivul nu are card de stocare" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" "Convertiţi automat următoarele cărţi înainte de a le încărca pe dispozitiv?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "Se trimit cataloage pe dispozitiv." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "Se trimit ştiri pe dispozitiv." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "Se trimit cărţi pe dispozitiv." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." @@ -10605,18 +10795,18 @@ msgstr "" "formate potrivite. Convertiţi cartea/cărţile într-un format compatibil cu " "dispozitivul dumneavoastră înainte de a le încărca." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "Nu mai există spaţiu pe dispozitiv" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" "

Nu se pot încărca cărţi pe dispozitiv deoarece nu mai există spaţiu " "disponibil " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -10785,7 +10975,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -11404,13 +11594,13 @@ msgid "Where do you want to delete from?" msgstr "De unde doriţi să ştergeţi?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "Bibliotecă" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "Dispozitiv" @@ -11446,8 +11636,8 @@ msgid "Location" msgstr "Locație" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -11466,13 +11656,13 @@ msgstr "%(curr)s (a fost %(initial)s)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "Elementul este gol" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "Un element nu poate să fie setat ca nul. Ştergeţi-l" @@ -11579,7 +11769,7 @@ msgstr "Link" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "Nicio potrivire găsită" @@ -11627,12 +11817,12 @@ msgid "Copy to author" msgstr "Copiază în autor" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "Nume de autor invalid" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "Numele autorului nu poate conţine caracterul &" @@ -11734,40 +11924,40 @@ msgstr "A&scunde toate sarcinile" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "&Copiază în clipboard" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "Arată &detalii" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "Ascunde &detalii" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "Arată informaţii detaliate despre această eroare" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "S-a copiat" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "Vizualizare jurnal" @@ -12720,6 +12910,7 @@ msgstr "Se abandonează..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -12760,12 +12951,12 @@ msgstr "Elemente" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "Caută" @@ -13398,12 +13589,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -13455,6 +13646,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "Editori" @@ -13469,6 +13661,7 @@ msgstr "Numele categoriei de căutare: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "Nume invalid" @@ -14387,7 +14580,7 @@ msgid "&Shortcut:" msgstr "&Scurtătură:" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "Finalizat" @@ -14433,7 +14626,7 @@ msgstr "Caută o scurtătură după nume" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "Nici o potrivire" @@ -14443,48 +14636,52 @@ msgstr "Nici o potrivire" msgid "Could not find any shortcuts matching %s" msgstr "Nu s-a găsit nici o scurtătură care să potrivească cu %s" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "Deconectează acest dispozitiv" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "Arată cărţile în cadrul bibliotecii calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "Arată cărţile din memoria principală a dispozitivului" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "Arată cărţile din memoria de stocare A" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "Arată cărţile din memoria de stocare B" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "Şterge bibliotecă" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "disponibil" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "Căutare avansată" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "Shift+Ctrl+F" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" @@ -14492,19 +14689,19 @@ msgstr "" "

Caută în lista cu cărţi după titlu, autor, editură, etichete, comentarii " "etc.

Cuvintele separate prin spaţii sunt lipite unul de altul (AND)" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "&Du-te!" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "Căutare rapidă (de asemenea puteţi apăsa tasta Enter)" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "Resetează căutarea rapidă" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "Copiază textul căutat curent (în locul numelui căutării)" @@ -14517,32 +14714,32 @@ msgstr "stele" msgid "Y" msgstr "Y" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "Pe Dispozitiv" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "Mărime (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "Modificat(ă)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "Numele căutat este \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "UUID-ul acestei cărţi este \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -14551,30 +14748,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "În bibliotecă" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "Mărime" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "Marcat pentru ştergere" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "Apăsaţi click pentru a mă edita

" @@ -14681,7 +14878,7 @@ msgid "Previous Page" msgstr "Pagina anterioară" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -15225,7 +15422,7 @@ msgid "Edit Metadata" msgstr "Editează metadatele" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -15382,15 +15579,15 @@ msgstr "&Comentarii" msgid "Basic metadata" msgstr "Metadate de bază" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "Are copertă" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "Are rezumat" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -15402,28 +15599,28 @@ msgstr "" "fără copertă vor găsi coperţi în stagiul de\n" "descărcare coperţi şi vice-versa." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "Vezi la" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "calibre descarcă metadate de la: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "Vă rugăm aşteptaţi" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "Interogare: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" "Descărcarea metadatelor a eşuat. Apăsaşi Arată Detalii pentru informaţii" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -15435,40 +15632,44 @@ msgstr "" "un singur cuvânt distinctiv din titlu.

Pentru a vedea întregul jurnal, " "apăsaţi Arată Detalii." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "Coperta curentă" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "Se caută..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "Se descarcă coperţile pentru %s. Vă rugăm aşteptaţi..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "Descărcare coperţilor a eşuat. Apăsaţi Arată Detalii pentru detalii." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "Nu s-a găsit nici o copertă pentru %s" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -"S-au găsit %(num)d coperţi pentru %(title)s. Alegeţi una care vă " -"place cel mai mult." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "Se descarcă metadate...." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "Se descarcă coperta..." @@ -15648,7 +15849,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -15691,34 +15893,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "Ridicată" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "Scăzută" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "Foarte scăzută" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "Metadate compacte" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "Implicit" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "Toate pe 1 tab" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "Toate dialogurile de confirmare au fost resetate" @@ -15773,18 +15975,15 @@ msgid "Job &priority:" msgstr "&Prioritate sarcină:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" -msgstr "Restricţie de aplicat atunci când o bibliotecă e deschisă:" +msgid "Virtual library to apply when the current library is opened:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" -"Aplică acestă restricţie la pornirea calibre dacă biblioteca curentă este " -"folosită. De asemena aplică restricţia la activarea bibliotecii curente. De " -"notat că această setare este per bibliotecă. " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170 msgid "Edit metadata (single) layout:" @@ -16790,10 +16989,6 @@ msgstr "Dezactivată" msgid "Small" msgstr "Mică" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "Mare" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "Medie" @@ -16811,7 +17006,7 @@ msgid "Never" msgstr "Niciodată" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "După prima literă" @@ -17927,20 +18122,20 @@ msgstr "" "suprascrisă pentru fiecare dispozitiv individual prin personalizarea " "extensiilor interfeţei dispozitivului din Preferinţe -> Avansat -> Extensii" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "Pornirea serverului de conţinut a eşuat" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "Jurnal de erori:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "Jurnal de accesări:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "Trebuie să reporniţi serverul pentru ca modificările să aibă efect" @@ -17975,23 +18170,19 @@ msgid "Max. &OPDS items per query:" msgstr "Nr. max. de elem. &OPDS per interogare:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" -msgstr "Nr. max. de elem. OPDS negr&upate:" +msgid "Max. &ungrouped items:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" -msgstr "Restricţie (căutare salvată) de aplicat:" +msgid "Virtual library to apply:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" -"Această restricţie (bazată pe o căutare salvată) va restricţiona cărţile pe " -"care serverul de conţinut le face disponibile pentru potrivirea la căutare. " -"Această setare este per bibliotecă (de ex. puteţi avea câte o restricţie " -"diferită pentru fiecare bibliotecă)." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 msgid "" @@ -18450,43 +18641,53 @@ msgstr "Restaurează &valoarea implicită" msgid "Apply any changes you made to this tweak" msgstr "Aplică orice modificări efectuaţi asupra acestei ajustări" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" +msgstr "Creează căutare salvată" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 msgid "Delete current search" msgstr "Şterge căutarea curentă" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 msgid "No search is selected" msgstr "Nici o căutare nu e selectată" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" "Căutarea selectată va fi ştearsă permanent. Sigur doriţi să " "continuaţi?" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "Caută (Pentru Căutare Avansată apăsaţi butonul din stânga)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "Porneşte căutarea" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "Activează sau dezactivează marcarea căutărilor." -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "Căutari salvate" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" "Alegeţi căutarea salvată sau introduceţi un nume pentru o nouă căutare " "salvată" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." @@ -18494,47 +18695,185 @@ msgstr "" "Salvaţi căutarea curentă sub numele afişat în casetă. Apăsaţi şi ţineţi " "apăsat pentru un meniu cu opţiuni." -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "Creează căutare salvată" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "Şterge căutare salvată" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "Gestionează căutări salvate" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" -msgstr "*Căutare curentă" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" -msgstr "Restricţionează la" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "(toate cărţile)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -"Afişarea cărţilor va fi restricţionată la cele potrivite cu o căutare " -"salvată selectată" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " -msgstr " sau căutarea " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "({0} din {1})" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "({0} din toate)" @@ -18833,32 +19172,32 @@ msgstr "Descărcare..." msgid "Goto in store..." msgstr "Mergeţi la magazin..." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "Cumpărând din acest magazin sprijiniţi dezvoltatorul calibre: %s

" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "Personalizează căutarea obţine cărţi" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "Configurează căutarea" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "Nu s-au găsit cărţi care potrivesc interogării dumneavoastră." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "Alegeţi formatul în care să descărcaţi în biblioteca dumneavoastră." @@ -18981,52 +19320,52 @@ msgstr "Reîncarcă" msgid "%p%" msgstr "%p%" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "Numele termenului de căutare grupată este \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" "Modificarea autorilor pentru mai multe cărţi poate dura un timp. Sunteţi " "sigur(ă)?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" "Modificarea metadatelor pentru mai multe cărţi poate dura un timp. Sigur " "doriţi să continuaţi?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "Căutări" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "Redenumeşte categoria utilizator" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" "Nu puteţi folosi perioade în nume atunci când redenumiţi categoriile " "utilizator" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "Numele %s este deja folosit" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "Nume de căutare duplicat" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "Numele căutării salvate %s este folosit deja." @@ -19048,13 +19387,13 @@ msgid "Manage Tags" msgstr "Gestionează Etichete" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "Gestionează Categorii Utilizator" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "Gestionează Căutări Salvate" @@ -19155,7 +19494,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "Sortează după" @@ -19199,138 +19538,138 @@ msgstr "" "Toţi manageri_categorii sunt disponibili dacă apăsaţi click dreapta pe " "elementele din browserul de etichete de mai sus" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "Redenumeşte %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "Editează sortarea pentru %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "Editează legăturile pentru %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "Adaugă %s la categoria utilizator" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "Copiii %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "Şterge căutarea %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "Şterge %(item)s din categoria %(cat)s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "Caută tot în afară de %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "Adaugă subcategoria la %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "Şterge categoria utilizator %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "Ascunde categoria utilizator %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "Arată categoria" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "Caută cărţi în categoria %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "Caută cărţi în afara categoriei %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "Gestionează %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "Arată toate categoriile" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "Modifică schema de sub-clasificare" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "Prima literă este utilizabilă doar la sortarea după nume" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -19341,56 +19680,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -19432,73 +19771,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -19506,134 +19856,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -19716,31 +20111,31 @@ msgstr "" "Următoarele cărţi au fost convertite în formatul %s. Doriţi să le " "reconvertiţi?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "&Donează pentru a susţine calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "&Restaurează" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "&Deconectează dispozitivul conectat" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "Închide calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "Curăţă căutarea curentă" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "Mod depanare" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -19750,11 +20145,11 @@ msgstr "" "Aţi pornit calibre în modul depanare. După ce aţi închis calibre, jurnalul " "de depanare va fi disponibil în fişierul: %s

Jurnalul va fi afişat automat." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -19773,16 +20168,16 @@ msgstr "" "calibre să încerce reconstruirea acesteia în mod automat? Reconstruirea " "poate să eşueze." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "Eroare la conversie" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -19805,23 +20200,23 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "Reţetă dezactivată" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "Eşuat" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "Există sarcini active. Sigur doriţi să ieşiţi?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" @@ -19832,11 +20227,11 @@ msgstr "" "dispozitiv.
\n" " Sigur doriţi să ieşiţi?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "Sarcini active" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -20395,29 +20790,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -21788,8 +22183,8 @@ msgstr "" "verificaţi documentaţia aferentă căutărilor în Manualul de Utilizare. În mod " "implicit nu se fac filtrări." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." @@ -21797,12 +22192,12 @@ msgstr "" "Lăţimea maximă a unui rând la ieşire. În mod implicit se detectează automat " "mărimea ecranului." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" "Şirul folosit pentru separarea câmpurilor. Caracterul implicit este spaţiul." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." @@ -21810,15 +22205,15 @@ msgstr "" "Prefixul pentru toate căile. Calea absolută spre directorul bibliotecii este " "selectată în mod implicit." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "Câmpuri invalide. Câmpuri disponibile:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "Câmp de sortare invalid. Câmpuri disponibile:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" @@ -21826,13 +22221,13 @@ msgstr "" "Următoarele cărţi nu au fost adăugate deoarece ele există deja în baza de " "date (vedeţi opţiunea --duplicates):" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -21846,7 +22241,7 @@ msgstr "" "specifica\n" "şi directoare; vedeţi opţiunile corespondente de mai jos.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" @@ -21854,11 +22249,11 @@ msgstr "" "Presupună că fiecare director are a singură carte şi că toate fişierele din " "ea sunt formatele ei diferite de e-cărţi" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "Procesează recursiv directoarele" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." @@ -21866,43 +22261,43 @@ msgstr "" "Adaugă cărţi la baza de date chiar dacă ele există deja. Comparaţia este " "făcută pe baza titlurilor cărţilor." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "Adaugă o carte goală (o carte fără formate)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "Trebuie specificat cel puţin un fişier de adăugat" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -21913,33 +22308,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "Trebuie specificată cel puţin o carte de şters" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" -"%prog add_format [options] id ebook_file\n" -"\n" -"Adaugă cartea în \"ebook_file\" la formatele disponibile pentru cartea " -"identificată după ID. IDul se poate obţine folosind comanda \"list\". Dacă " -"formatul există deja, acesta va fi înlocuit.\n" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "Trebuie specificat un ID şi un fişier e-carte" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "fişierul e-carte trebuie să aibă o extensie" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -21956,11 +22356,11 @@ msgstr "" "fişier ca şi LRF sau TXT sau EPUB. În cazul în care cartea nu are formatul " "\"fmt\" disponibil, nu se va face nimic.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "Trebuie specificate un ID şi un format" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -21975,15 +22375,15 @@ msgstr "" "Afişează metadatele stocate în baza de date pentru cartea identificată după " "ID. IDul este un număr ID obţinut cu comanda \"list\".\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "Tipăreşte metadatele în forma OPF (XML)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "Trebuie specificat un ID" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -21998,7 +22398,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -22008,40 +22408,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -22059,28 +22459,28 @@ msgstr "" "(într-un \n" "fişier opf). Numărul ID se poate obţine cu comanda \"list\".\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "Exportă toate cărţile din baza de date, ignorând lista cu IDuri." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "Exportă cărţile în directorul specificat. Valoarea implicită este" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "Exportă toate cărţile într-un singur director" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "Specificând comutatorul, acest comportament va fi oprit." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "Trebuie specificate nişte IDuri sau opţiunea %s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -22097,7 +22497,7 @@ msgstr "" "Nu trebuie să conţină spaţii sau două puncte. \"name\" este numele folosit \n" "de utilizator pentru coloană. \"datatype\" este unul dintre: {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." @@ -22105,7 +22505,7 @@ msgstr "" "Această coloană stochează date de tip etichetă (ex.: valori multiple " "separate prin virgule). Se aplică doar dacă tipul de date este text." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -22125,13 +22525,13 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" "Trebuie specificate eticheta (\"label\"), numele (\"name\") şi tipul de date " "(\"datatype\")" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -22151,7 +22551,7 @@ msgstr "" " de ieşire generat.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" @@ -22161,7 +22561,7 @@ msgstr "" "Dacă este declarată, --search este ignorată.\n" "Implicit: toate" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" @@ -22172,16 +22572,16 @@ msgstr "" "Utilizare.\n" "Implicit: fără filtrare" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "Afişează informaţia detaliată la ieşire. Folositor pentru depanare" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "Eroare: Trebuie specificat fişierul catalog de ieşire" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -22203,7 +22603,7 @@ msgstr "" " \"custom_columns.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." @@ -22211,11 +22611,11 @@ msgstr "" "În cazul în care coloana stochează valori multiple, adaugă valoarea " "specificată la cele existente, în loc să le înlocuiască." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "Eroare: Trebuie specificate un nume de câmp, IDul şi o valoare" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -22230,27 +22630,27 @@ msgstr "" " Afişează etichetele coloanei şi IDurile.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "Afişează detalii pentru fiecare coloană." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "y" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -22267,15 +22667,15 @@ msgstr "" " coloanele disponibile prin comanda \"custom_columns\".\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "Nu cere confirmare" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "Eroare: Trebuie specificată o etichetă de coloană" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -22297,42 +22697,42 @@ msgstr "" " acesta va fi înlocuit.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "Eroare: Trebuie specificată o acţiune \"(add|remove|list)\"" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "Nume:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "Caută şir:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "Eroare: Trebuie specificate un nume şi un şir de căutat" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "adăugat" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "Eroare: Trebuie specificat un nume" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "şters" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" "Eroare: Acţiunea %s nu a fost recunoscută, trebuie să fie una dintre: " "\"(add|remove|list)\"" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -22346,13 +22746,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -22364,12 +22764,12 @@ msgstr "" "Efectuează nişte verificări asupra sistemului de fişiere al bibliotecii. " "Raporturile sunt {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "Ieşire în CSV" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" @@ -22377,7 +22777,7 @@ msgstr "" "Listă de raporturi, separate prin virgule.\n" "Implicit: toate" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" @@ -22385,7 +22785,7 @@ msgstr "" "Listă de extensii de ignorat, separate prin virgule.\n" "Implicit: toate" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" @@ -22393,11 +22793,11 @@ msgstr "" "Listă de nume de ignorat, separate prin virgule.\n" "Implicit: toate" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "Verificare raport necunoscută" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -22423,7 +22823,7 @@ msgstr "" "restaurate vor fi la fel de exacte precum au fost găsite în fişierele OPF.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." @@ -22431,12 +22831,12 @@ msgstr "" "Efectuează restaurarea. Comanda nu va rula, numai dacă această opţiune este " "specificată." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "Trebuie furnizată opţiunea %s pentru a efectua restaurarea" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -22448,7 +22848,7 @@ msgstr "" "Produce un raport cu informaţiile categoriilor din baza de date. Informaţia\n" "este echivalentă cu ceea ce este afişat în panoul etichetelor.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" @@ -22456,7 +22856,7 @@ msgstr "" "Arată numai numărul total de elemente dintr-o categorie în loc de câte " "elemente de fiecare fel sunt în categorie" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." @@ -22464,7 +22864,7 @@ msgstr "" "Caracterul folosit pentru valorile categoriilor în mod CVS. Implicit, " "caracterul este ghilimele (\")." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" @@ -22472,17 +22872,17 @@ msgstr "" "Listă cu nume de căutat a categoriilor, separate prin virgule.\n" "Implicit: toate" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" "Şirul folosit pentru separarea câmpurilor în mod CSV. Implicit, şirul este " "virgula (,)." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "ELEMENTE din CATEGORIE" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -22516,31 +22916,22 @@ msgstr "" "Eticheta trebuie trebuie să înceapă cu o literă, să conţină numai litere " "mici, cifre şi \"_\"" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "se creează coloană personalizată " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "

Se mută baza de date veche în bibliotecă în %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "Se copiază %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "Se compactează baza de date" @@ -22827,20 +23218,20 @@ msgstr "" "serverele Apache/nginx etc." #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "Toate cărțile" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "Cele mai noi" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "Se încarcă, vă rugăm aşteptaţi" @@ -22863,7 +23254,7 @@ msgid "Browsing %d books" msgstr "Se răsfoiesc %d cărţi" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "Evaluare medie" @@ -22872,98 +23263,98 @@ msgstr "Evaluare medie" msgid "%(prefix)s: %(rating).1f stars" msgstr "%(prefix)s: %(rating).1f stele" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "%d stele" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "Popularitate" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "bibliotecă" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "pagina iniţială" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "Caută cărţi după" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "Alegeţi categoria după care se realizează căutarea:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "Se caută după" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "Sus" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "în" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "Cărţi în" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "Alte formate" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "Citeşte %(title)s în formatul %(fmt)s." -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "Obţine" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "Detalii" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "Permalink" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "Un link permanent către această carte." -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "Această carte a fost ştearsă" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "în căutarea" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "Cărţi potrivite" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -22985,25 +23376,24 @@ msgstr "" "\n" "Interfaţa OPDS este făcută cunoscută prin BonJour în mod automat.\n" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" "Calea spre directorul bibliotecii care deserveşte serverul de conţinut" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "Scrie PID-ul procesului în fişierul specificat" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -"Specifică o restricţie care să fie folosită pentru această invocare. Această " -"opţiune este folosită în detrimentul oricărei alte setări a bibliotecii " -"specificate în GUI." -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -24185,10 +24575,6 @@ msgstr "am" msgid "pm" msgstr "pm" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -24288,6 +24674,31 @@ msgstr "Codul rulează" msgid "Restart console" msgstr "Reporneşte consola" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "URLul trebuie să aibă schema sftp" @@ -24336,101 +24747,101 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "Reţeta \"%s\" necesită nume de utilizator şi parolă." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "Descărcare finalizată" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "Descărcarea următoarelor articole a eşuat:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "Descărcarea părţilor din următoarele articole a eşuat:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr " de la " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "\tLink-uri greşite:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "Nu s-a putut obţine articolul." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "Rulează cu -vv pentru a vedea motivul" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "Se aduc fluxuri..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "Fluxurile s-au obţinut din pagina de index" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "Se încearcă descărcarea coperţii..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "Se generează detaliile editorului..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "Se porneşte descărcarea [%d thread(s)]..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "Fluxurile au fost descărcate în %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "Coperta nu a putut fi descărcată: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "Se descarcă coperta de la %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "Imaginea cu detaliile editorului a fost descărcată" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "Articole în această ediţie: " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "Articol fără titlu" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "Articolul a fost descărcat: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "Descărcarea articolului a eşuat: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "Se obţine fluxul" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 msgid "" "Failed to log in, check your username and password for the calibre " "Periodicals service." @@ -24438,7 +24849,7 @@ msgstr "" "Conectare nereuşităi, verificaţi numele de utilizator şi parola pentru " "serviciul Calibre Periodica." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -24719,7 +25130,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/ru.po b/src/calibre/translations/ru.po index 216c5a8294..c4a6d07eeb 100644 --- a/src/calibre/translations/ru.po +++ b/src/calibre/translations/ru.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: calibre 0.4.55\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" -"PO-Revision-Date: 2013-03-29 20:05+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" +"PO-Revision-Date: 2013-04-14 10:11+0000\n" "Last-Translator: Baz <_baz_@rambler.ru>\n" "Language-Team: American English \n" "MIME-Version: 1.0\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:20+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:36+0000\n" +"X-Generator: Launchpad (build 16580)\n" "X-Poedit-Country: RUSSIAN FEDERATION\n" "X-Poedit-Language: Russian\n" "X-Poedit-SourceCharset: utf-8\n" @@ -28,16 +28,16 @@ msgid "Does absolutely nothing" msgstr "Ничего не делает" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -92,8 +92,8 @@ msgstr "Ничего не делает" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -104,9 +104,9 @@ msgstr "Ничего не делает" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -115,7 +115,7 @@ msgstr "Ничего не делает" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -128,7 +128,7 @@ msgstr "Ничего не делает" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -150,13 +150,13 @@ msgstr "Ничего не делает" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -165,33 +165,33 @@ msgstr "Ничего не делает" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -336,73 +336,73 @@ msgstr "Внести метаданные в файлы %s" msgid "Set metadata from %s files" msgstr "Внести метаданные из файлов %s" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "Добавить книги в Calibre или в подключенное устройство" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "Загрузить заметки с подключенного Kindle (экспериментально)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "Сгенерерировать каталог книг библиотеки Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "Конвертировать книги в различные форматы" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "Точная настройка ваших книг" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "Редактировать Оглавления в ваших книгах" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "Удалить книги из Calibre или подключеного устройства" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "Изменить метаданные книг в библиотеке Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "Читать книги из библиотеки Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "Загрузка новостей из Интернета в форме электронной книги" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Быстрый показ списка связанных книг" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "Экспорт книг из библиотеки Сalibre на жесткий диск" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "Показывать описание книги в отдельном окне" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "Перезапустить Сalibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "Открыть папку с книгами вашей библиотеки calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "Отправить книги на устройство" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" @@ -410,43 +410,43 @@ msgstr "" "Отправить книги по электронной почте или веб, так же подключает к iTunes или " "к папкам на вашем компьютере как будто они являются устройствами" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "Просмотреть руководство пользователя Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "Настроить Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "Найти книги схожие по теме с выбранной книгой" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "Переключение между библиотеками calibre и их обслуживание" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "Копировать книги из устройства в библиотеку calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "Изменить коллекции, в которых размещены книги на устройстве" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "Перекопировать книгу из текущей библиотеки в другую" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" "Делать небольшие настройки для epub или htmlz файлов в вашей библиотеке " "calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" @@ -454,56 +454,56 @@ msgstr "" "Найти следующее или предыдущее вхождение при поиске в вашей библиотеке " "calibre в режиме подсветки" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "Случайно выбрать книгу из коллекции" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "Искать книги других продавцов" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "Загрузить новые плагины или обновить существующие" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Оформление" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Интерфейс" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "Настройте внешний вид Сalibre по-своему вкусу" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "Поведение" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "Настройка поведения Сalibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Добавьте свои столбцы" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "Добавьте/удалите ваши собственные столбцы в список книг Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Панель инструментов" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -511,67 +511,67 @@ msgstr "" "Настройте панель инструментов и контекстное меню, выбрав то, какие действия " "будут доступны для того и другого." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "Поиск" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "Изменить способ поиска книг в Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "Настройки ввода" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Конвертация" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "Задайте параметры конвертации, характерные для каждого формата ввода" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Общие настройки" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "Установка общих для всех форматов параметров конвертации" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "Настройки вывода" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" "Задайте параметры конвертации, характерные для каждого формата вывода" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "Добавление книг" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "Импорт/Экспорт" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Управление тем, как Calibre считывает метаданные из файлов при добавлении " "книг" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "Запись книг на диск" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -579,50 +579,50 @@ msgstr "" "Управление тем, как Calibre экспортирует файлы из своей базы данных на диск " "при использовании записи на диск" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "Передача книг на устройства" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "Контроль передачи книг на ваше устройство" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "Связи метаданных" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "Изменять поля метаданных до сохранения/отправки" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "Функции Шаблона" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "Расширенный" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "Создать собственную шаблонную функцию" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "Пересылка книг по E-mail" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "Общий доступ к файлам" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -630,11 +630,11 @@ msgstr "" "Настройка рассылки книг по e-mail. Может быть использована для " "автоматической доставки загруженных новостных лент на устройство" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "Сетевой доступ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -642,20 +642,20 @@ msgstr "" "Настройка http-сервера calibre, предоставляющего доступ к библиотеке с " "любого устройства, подключенного к сети интернет" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "Загрузка метаданных" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "Изменить параметры загрузки метаданных из интернета" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "Игнорируемые устройства" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." @@ -663,37 +663,37 @@ msgstr "" "Выбрать устройства которые calibre будет игнорировать если они подключены к " "компьютеру." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Плагины" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Добавить/удалить/изменить различные части функциональности calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "Расширенные настройки" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "Тонкая настройка поведения calibre при различных контекстах" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "Клавиатура" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "Настроить горячие клавиши, используемые в calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Разное" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "Различная продвинутая конфигурация" @@ -999,8 +999,8 @@ msgstr "Включить указанный плагин" msgid "Disable the named plugin" msgstr "Отключить указанный плагин" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -1011,11 +1011,22 @@ msgid "Path to library too long. Must be less than %d characters." msgstr "" "Путь к библиотеке слишком длинный. Он должен содержать меньше %d символов." -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "восстановлены настройки " + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "создание пользовательских столбцов " + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -1027,26 +1038,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "%(tt)sСредняя оценка %(rating)3.1f" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "Основная" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "Карта 1" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "Карта 2" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1059,11 +1070,11 @@ msgstr "Карта 2" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Новости" @@ -1071,14 +1082,14 @@ msgstr "Новости" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "отмечено" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "да" @@ -1086,7 +1097,7 @@ msgstr "да" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "нет" @@ -1094,45 +1105,70 @@ msgstr "нет" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "не отмечено" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "сегодня" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "вчера" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "в этом месяце" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "несколько дней назад" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "пусто" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "новый" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "Неверный логический запрос \"{0}\"" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1166,7 +1202,7 @@ msgstr "Не найдено плагина с названием %s" msgid "Communicate with Android phones." msgstr "Соединиться с Android." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" @@ -1174,7 +1210,7 @@ msgstr "" "Разделённый запятыми список папок для отправки книг в основную память " "устройства. Будет использована первая существующая" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" @@ -1182,11 +1218,11 @@ msgstr "" "Разделённый запятыми список папок для отправки книг на карты памяти " "устройства. Будет использована первая существующая" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "Соединиться с телефоном S60" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "Соединиться с WebOS планшетом" @@ -1337,8 +1373,8 @@ msgstr "" "Нажмите кнопку \"Показать детали\" что бы увидеть список." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "Каталог" @@ -1393,10 +1429,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1437,6 +1473,7 @@ msgstr "Добавление книги в список метаданных у #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1773,17 +1810,17 @@ msgstr "" "полезно, если вы изменяли обложку." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "Загрузить чёрно-белые обложки" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "Показывать книги с истёкшим сроком давности авторского права" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1794,12 +1831,12 @@ msgstr "" "удалить их с помощью новой логики удаления." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "Показывать миниатюры" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1810,7 +1847,7 @@ msgstr "" "хотите увидеть/удалить его." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "Показать рекомендации" @@ -1825,7 +1862,7 @@ msgstr "" "видеть/удалять их." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "Пытаться поддерживать новые прошивки" @@ -1842,10 +1879,12 @@ msgstr "" "заводских настроек и тестированием программ." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "Версия базы данных Kobo не поддерживается - Смотри подробности" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1925,19 +1964,19 @@ msgstr "" "/>Прогресс главы: %(chapter_progress)s%%
Выделено: " "%(text)s
Заметки: %(annotation)s

" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "Kobo Touch с прошивкой 2.0.0 поддерживает книжные полки." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "Укажите столбец, работающий как тэги, для автоматического управления" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "Создать Книжные полки" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." @@ -1945,11 +1984,11 @@ msgstr "" "Создать новые книжные полки на Kobo Touch если они не существуют. Это " "возможно только с прошивкой 2.0.0 и новее." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "Удалить Пустые Книжные полки" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." @@ -1957,11 +1996,11 @@ msgstr "" "Удалить любые пустые книжные полки из Kobo Touch после завершения " "синхронизации. Это возможно только с прошивкой 2.0.0 и новее." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "Отправлять обложки для книг" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." @@ -1969,11 +2008,11 @@ msgstr "" "Загружать изображения обложек из библиотеки calibre при отправке книг на " "устройство." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "Сохранять соотношение сторон обложки" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." @@ -1981,7 +2020,7 @@ msgstr "" "Не изменять соотношение сторон обложек при изменении их размера для " "устройства и загрузке на него. Требуется версия прошивки 2.3.1 или новее." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " @@ -1991,11 +2030,11 @@ msgstr "" "случаях это просто ссылки на сайты для покупки. Включите если хотите " "видеть/удалить их." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "Указать информацию о Сериях" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -2007,7 +2046,7 @@ msgstr "" "добавлена на устройство только после обработки книги на устройстве. Включите " "если вы желаете указать информацию о сериях." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -2021,11 +2060,11 @@ msgstr "" "восстановлением заводских настроек в kobo и тестированием программ. Драйвер " "поддерживает прошивку версии 2.х.х и соответствующую базу данных. " -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "Название для теста при отладке" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -2048,55 +2087,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "Соединиться с Sweex/Kogan/Q600/Wink" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "Соединиться с Pandigital Novel" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "Соединиться с VelocityMicro" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "Соединиться с GM2000" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "Соединиться с Acer Lumiread" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "Соединиться с Aluratek Color" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "Соединиться с Trekstor" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "Установить связь с EEE Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "Установить связь с Adam tablet" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "Установить связь с Nextbook Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "Установить связь с Moovybook Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "Соединиться с COBY" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "Установить связь с Ex124G" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "Соединиться с читалками WayteQ и SPC Dickens" @@ -2224,7 +2263,7 @@ msgstr "The Nook" msgid "Communicate with the Nook eBook reader." msgstr "Установить связь с электронной книгой Nook." -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" "Установить связь с электронными книгами Nook Color, TSR и Tablet eBook." @@ -2782,7 +2821,7 @@ msgid "There is insufficient free space on the storage card" msgstr "Не хватает свободного места на карте памяти" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "Обработано %s" @@ -3194,18 +3233,18 @@ msgstr "" "может привести к неприятным побочным эффектам в другой части преобразующего " "механизма." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "CSS-файл, используемый для вывода вместо файлов по умолчанию" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" "Шаблон, используемый вместо файла по умолчанию для генерации индекса html" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" @@ -3213,7 +3252,7 @@ msgstr "" "Шаблон используется для генерации HTML-содержания книги вместо файла по " "умолчанию" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3571,20 +3610,23 @@ msgstr "" "опцией." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." msgstr "" -"Шаблон HTML используемый для создания нижних колонтитулов на каждой " -"странице. Строка _PAGENUM_ буде заменена на текущий номер страницы." +"HTML шаблон, используемый для создания %s на каждой странице. Строки " +"_PAGENUM_, _TITLE_, _AUTHOR_ и _SECTION_ будут заменены на их текущие " +"значения." + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" +msgstr "нижнего колонтитула" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." -msgstr "" -"Шаблон HTML используемый для создания верхних колонтитулов на каждой " -"странице. Строка _PAGENUM_ буде заменена на текущий номер страницы." +msgid "headers" +msgstr "верхнего колонтитула" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 msgid "" @@ -4815,7 +4857,7 @@ msgstr "" msgid "Set book ID" msgstr "Ввести ID книги" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4841,27 +4883,27 @@ msgstr "Нет" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "Название" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "Автор(ы)" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "Издатель" @@ -4897,13 +4939,14 @@ msgstr "Комментарии" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "Теги" @@ -4912,9 +4955,10 @@ msgstr "Теги" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4925,7 +4969,7 @@ msgstr[1] "Серии" msgstr[2] "Серий" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4937,8 +4981,8 @@ msgstr "Временная метка" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "Опубликована" @@ -5073,60 +5117,60 @@ msgstr "" "Получить изображение обложки, информацию о книге по номеру ISBN из " "LibraryThing.com\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "Обложка" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "Загружать метаданные и обложки с Amazon" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "US" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "Франция" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "Германия" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "Великобритания" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "Италия" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "Япония" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "Испания" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "Бразилия" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "Использовать сайт Amazon" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "Метаданные будут загружены с вашего регионального сайта Amazon." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "Амазон не загрузился. Попробуйте позже." @@ -5134,6 +5178,26 @@ msgstr "Амазон не загрузился. Попробуйте позже. msgid "Metadata source" msgstr "Источник метаданных" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" +"Загружать множественные обложки из Amazon. Полезно для поиска альтернативных " +"обложек." + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "Настроить плагин Поиска Большой Книги" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "Максимальное количество обложек для загрузки" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "Максимальное количество обложек для обработки из результатов поиска" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " @@ -5142,7 +5206,7 @@ msgstr "" "Загрузка метаданных и обложек с Douban.com. Полезно только для книг на " "китайском языке." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -5154,6 +5218,49 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "Загружать метаданные и обложки из Google Books" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" +"Загрузить обложки из Google Image search. Полезно длоя поиска альтернативных " +"или больших обложек." + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "Настроить плагин Google Image Search." + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "Максимальное количество обложек от google для проверки" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "Размер обложки" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "Искать обложки большего размера чем указано" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "Любой размер" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "Большой" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "Больше чем %s" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "Загрузка метаданных из isbndb.com" @@ -5224,12 +5331,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "Это книга Amazon Topaz. Она не может быть прочитана." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "Это не MOBI файл. Это файл Topaz." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "Это не MOBI файл." @@ -5262,72 +5369,72 @@ msgid "No details available" msgstr "Подробности недоступны" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "Содержание" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "Титульная страница" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "Индекс" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "Глоссарий" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "Подтверждения" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "Библиография" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "эмблема издательства" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "Копирайт" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "Посвящение" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "Эпиграф" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "Предисловие" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "Список иллюстраций" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "Оглавление" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "Заметки" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "Введение" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "Основной текст" @@ -5336,7 +5443,7 @@ msgstr "Основной текст" msgid "%s format books are not supported" msgstr "%s формат книг не поддерживается" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " @@ -5346,7 +5453,7 @@ msgstr "" "calibre может редактировать только MOBI файлы которые содержат KF8. Старые " "MOBI файлы без KF8 не редактируются." -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -5373,26 +5480,25 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" -"

Полировка книг наводит блеск совершенсва на ваши тщательно \n" -"созданные книги.

\n" +"

Полировка книг наводит блеск совершенства на \n" +"ваши тщательно разработанные книги.

\n" "\n" -"

Полировка пытается минимизировать изменения во внутреннем коде \n" -"вашей электронной книги. В отличии от полного преобразования, тут \n" -"не поддерживается сглашивание CSS, переименование файлов, \n" -"изменение размера шрифта, дополнительные поля и т.д. Каждое действие \n" -"выполняет только минимальное множество изменений, необходимых для \n" -"достижения эффекта.

\n" +"

Полировка пытается минимизировать изменения в исходном коде ваших книг.\n" +"В отличие от преобразования тут не поддерживается сглаживание CSS, \n" +"переименование файлов, изменение размера шрифта, \n" +"дополнительные отступы и т.д. Каждое действие производит \n" +"минимальные изменения, необходимые для достижения эффекта.

\n" "\n" -"

Вам стоит использовать этот инструмент как последний шаг процесса \n" -"создания вашей электронной книги.

\n" -"\n" -"

Помните, что полировка работает только с файлами формата %s.

\n" +"

Вы должны использовать этот инструмент на последнем шаге создания ваших " +"книг.

\n" +"{0}\n" +"

Помните, что полировка работает только с файлами форматов %s.

" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -5442,10 +5548,11 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" -"

Добавить страницу \"Обложки\" в начале книги, которая будет содержать все " -"метаданные, вроде названия, тэгов, авторов, серий, комментариев и т.д.

" +"

Вставить в начале книги страницу обложки, которая будет содержать \n" +"все метаданные: название, тэги, авторов, серии, комментарии, и т.д. \n" +"Любые предыдущие обложки будут заменены.

" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 msgid "

Remove a previous inserted book jacket page.

\n" @@ -5576,9 +5683,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "Якорь %(a)s не существует в файле %(f)s" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "(Без заголовка)" @@ -5594,11 +5701,11 @@ msgid "HTML TOC generation options." msgstr "Варианты создания HTML оглавления" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "Оценка" @@ -5645,6 +5752,10 @@ msgstr "Страница %d" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "Не могу найти pdftohtml, проверьте наличе по PATH" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "Без названия" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5810,7 +5921,7 @@ msgid "Show this confirmation again" msgstr "Показывать это подтверждение всегда" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "Необходим перезапуск" @@ -5937,12 +6048,12 @@ msgstr "Настроить добавление книг" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -6024,8 +6135,8 @@ msgstr "Добавить в библиотеку" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -6150,7 +6261,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "Выбрать назначение для %(title)s.%(fmt)s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -6201,7 +6312,7 @@ msgid "No existing calibre library found at %s" msgstr "Существующих библиотек Calibre в %s не найдено" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "Выбрать библиотеку" @@ -6215,7 +6326,7 @@ msgstr "Переключить/создать библиотеку" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -6227,12 +6338,12 @@ msgid "Pick a random book" msgstr "Выбрать случайную книгу" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "Быстрый переход" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "Переименовать библиотеку" @@ -6386,7 +6497,7 @@ msgstr "" "ли файлы с информацией в базе?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -6416,7 +6527,7 @@ msgstr "Файлы в вашей библиотеке соответствуют #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -6459,7 +6570,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "Создать каталог книг в вашей библиотеке calibre" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "Не преобразуется" @@ -6473,89 +6584,102 @@ msgid "Empty output file, probably the conversion process crashed" msgstr "" "Пустой выходной файл, возможно процесс преобразования завершился аварийно" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "%(title)s от %(author)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "Выбрать библиотеку" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "Путь к библиотеке:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "Открыть библиотеку" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" -msgstr "Удалить после копирования" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" +msgstr "Копировать" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "Копировать в библиотеку" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "Копировать выделенные книги указанной библиотеки" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "(удалить после копирования)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "Выбрать библиотеку по пути ..." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "Не удается скопировать" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "Не удаётся копировать в текущую библиотеку." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "Нет библиотеки" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "Не найдено в библиотеке %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "Копирование в" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "Перемещение в" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "Скопировано %(num)d книг в %(loc)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "Перемещено %(num)d книг в %(loc)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "Невозможно скопировать книги: " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "Авто объединение" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " @@ -6566,7 +6690,7 @@ msgstr "" "Разделитель настраивается в разделе Предпочтения->Добавление книг->Авто " "объединение." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -6587,6 +6711,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "Вы уверены?" @@ -6665,11 +6790,11 @@ msgid "" msgstr "" "Формат %(fmt)s будет полностью удалён из %(title)s. Вы уверены?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "Выберите форматы для удаления" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." @@ -6677,7 +6802,7 @@ msgstr "" "Выберите форматы, которые удалять не следует.

Обратите внимание, " "что с помощью этого действия нельзя удалить все форматы из книги." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" @@ -6686,44 +6811,44 @@ msgstr "" "библиотеки.
Метаданные книг останутся. Вы действительно хотите это " "сделать?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "Не удается удалить книги" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "Устройство не подключено" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "Основная память" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "Карта памяти 1" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "Карта памяти 2" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "Нет книг для удаления" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "Выбранные книги отсутствуют в устройстве" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "Удаляются книги из устройства." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" @@ -6731,20 +6856,23 @@ msgstr "" "Некоторые из выбранных книг находятся на подключённом устройстве. " "Откуда вы хотите удалить выбранные файлы?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -"Выделенные книги и файлы буду навсегда удалены из библиотеки calibre. " -"Вы уверены?" +"Выбранные %d книг будут удалены навсегда вместе с файлами в вашей " +"библиотеке calibre. Вы уверены?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" -"Выбранные книги будут удалены из вашего устройства. Вы уверены?" +"Выбранные %d книг будут удалены навсегда из вашего устройства. Вы " +"уверены?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 msgid "Start wireless device connection" @@ -6821,12 +6949,12 @@ msgstr "" "специальными устройствами и т.д." #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "Остановка" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" "Остановка сервера, это может занять минуту, пожалуйста, подождите ..." @@ -6913,8 +7041,8 @@ msgstr "Не удалось загрузить метаданные" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "Ошибка загрузки" @@ -6955,7 +7083,7 @@ msgid "Download complete" msgstr "Загрузка завершена" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "Журнал загрузки" @@ -7046,15 +7174,15 @@ msgstr "" "повторный формат из других книг будет удалён из вашей библиотеки " "calibre.

Вы уверены что хотите продолжить?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "Применение изменённых метаданных" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "Некоторые неполадки" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -7161,17 +7289,34 @@ msgstr "Полировка %d книг" msgid "

About Polishing books

%s" msgstr "

О Полировке книг

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" +"

Если ваша книга сожержит одновременно EPUB и ORIGINAL_EPUB, \n" +" то полировка использует ORIGINAL_EPUB (тоже для остальных " +"\n" +" форматов ORIGINAL_*). Поэтому если вы хотите произвести \n" +" полировку другого формата, то удалите формат ORIGINAL_* \n" +" перед запуском.

" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "

Сокращение шрифтов

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "

Умная проверка пунктуации

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -7184,7 +7329,7 @@ msgstr "" "

Помните, что большинство форматов книг не поддерживают все метаданные " "calibre.

Существует отдельная настройка для обновления обложки.

" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " @@ -7194,140 +7339,151 @@ msgstr "" "библиотеке calibre.

Если книга не содержит идентифицируемой обложки, " "то будет добавлена новая обложка.

" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "

Обложка Книги

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "

Удалить Обложку Книги

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "Выберите действия для выполнения:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "Сокращение всех встроенных шрифтов" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "«Умная» &пунктуация" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "Обновить метаданные в файлах книг" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "Обновить обложку в файлах книг" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "Добавить метаданные как страницу обложки" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "Удалить предыдущую добавленную обложку" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "Подробнее" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "Показать отчёт" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "Показать отчёт всех действий после завершения полировки" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "&Сохранить настройки" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "Загрузить настройки" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "Выбрать &все." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "Очистить выбор" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "Нет выбранных действий" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "Вы должны выбрать хотя бы одно действие перед сохранением" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "Выберите имя" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "Выберите имя для этих настроек" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "Удалить сохранённые настройки" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" "Вы должны выбрать хотя бы одно действие, или нажмите Отмена (Cancel)." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "Выстроить очередь книг для полировки" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "Полировка %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "Полировка книги %(nums)s из %(tot)s (%(title)s)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "Добавление в очередь книги %(nums)s из %(tot)s (%(title)s)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "Игнорировать следующие %d отчётов" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "Посмотреть полный журнал" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "Полировка %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." @@ -7335,33 +7491,33 @@ msgstr[0] "Оригинальный файл сохранён как %s." msgstr[1] "Оригинальных файла сохранены как %s." msgstr[2] "Оригинальных файлов сохранено как %s." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr " и " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" "Если вы запустите полировку снова, то она будет обрабатывать исходные данные." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "Полировка книг" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "Применить блеск совершенства к вашим книгам" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "П" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "Полировка невозможна" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " @@ -7370,7 +7526,7 @@ msgstr "" "Полировка поддерживается только для книг фоматов %s. Преобразуйте в один из " "этих форматов перед полировкой." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "Начать полировку %d книг" @@ -7490,7 +7646,7 @@ msgid "Click the show details button to see which ones." msgstr "Нажмите кнопку \"показать детали\" чтобы увидеть какая именно." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "Показать описание книги" @@ -7595,7 +7751,7 @@ msgid "this book" msgstr "эта книга" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "Искать %s" @@ -7607,17 +7763,17 @@ msgstr "Магазины" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "Выбрать магазины" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "Поиск не может быть произведён" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." @@ -7625,7 +7781,7 @@ msgstr "" "Calibre поможет Вам найти книги, предлагая веб-сайты различных коммерческих " "и публичных источников книг." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " @@ -7635,7 +7791,7 @@ msgstr "" "выгодную цену для интересующей Вас книги. Также Вы получите другу полезную " "инфрмацию" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -7651,11 +7807,11 @@ msgstr "" "покупаете имеют DRM." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "Всегда показывать это окно" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "О 'Загрузить книги'" @@ -7957,7 +8113,7 @@ msgid "The specified directory could not be processed." msgstr "Специальных каталог не может быть обработан." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "Нет книг" @@ -8184,7 +8340,7 @@ msgid "Click to open" msgstr "Щелкните, чтобы открыть" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "Id" @@ -8194,7 +8350,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "Книга %(sidx)s из %(series)s" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "Коллекции" @@ -8228,16 +8384,25 @@ msgstr "Путь" msgid "Cover size: %(width)d x %(height)d" msgstr "Размер обложки: %(width)d x %(height)d" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "Удалить формат %s" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "Сохранить формат %s на диск" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "Восстановить формат %s" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "Настройки BibTeX" @@ -8305,7 +8470,7 @@ msgstr "вывод" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -8499,7 +8664,7 @@ msgstr "Истина" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "Название" @@ -8856,8 +9021,8 @@ msgid "Style the selected text block" msgstr "Стиль выделенного текстового блока" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "Обычный" @@ -9832,7 +9997,7 @@ msgstr "Без изображений" msgid "PDF Output" msgstr "Вывод PDF" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " @@ -9842,52 +10007,56 @@ msgstr "" "включена настройка \"Заменять ..\". Иначе будет использоваться размер из " "Профиля Вывода." -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "Заменять размер бумаги, установленный в Профиле Вывода" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "Размер &бумаги:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "Выбранный размер:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "Единицы:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "Сохранять соотношение сторон для обложки" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "Добавить номера страниц внизу каждой страницы" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "Cемейство Se&rif:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "Cемейство &Sans:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "Cемейство &Моноширинных шрифтов:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "С&тандартный шрифт:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "Размер шрифта по умолчанию:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -9899,14 +10068,34 @@ msgstr "Размер шрифта по умолчанию:" msgid " px" msgstr " пикс." -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "&Размер моноширинного шрифта :" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" -msgstr "Добавить номера страниц внизу каждой страницы" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "Верхние и нижние колонтитулы страницы" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" +"Вы можете добавить верхний и нижний колонтитул на каждую страницу " +"создаваемого PDF файла с помощью шаблонов. Пример смотрите в документации." + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "Шаблон верхнего колонтитула:" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" +msgstr "Шаблон нижнего колонтитула:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 msgid "PMLZ Output" @@ -10163,6 +10352,10 @@ msgstr "" "входном документе. Когда вы будете удовлетворены выражением, добавьте его в " "список." +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "Преобразовать" @@ -10757,7 +10950,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "Обнаружено %s.Вы желаете что бы calibre управлял им?" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "Нет подходящего формата" @@ -10805,66 +10998,66 @@ msgstr "Устройство: " msgid " detected." msgstr " определено." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "Отослать выбранное" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "Нет устройства" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "Нет присоединённых устройств" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "%(num)i из %(total)i книг" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "0 из %i книг" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "Выберите формат для отправки в устройство" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "Устройство не подсоединено" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "Нет карточки" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "Не могу передать: в устройстве нет карты памяти" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "Автоматически конвертировать книги до загрузки в устройство?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "Отправляем каталоги в устройство." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "Отправляются новости на устройство." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "Отправка книги в устройство" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." @@ -10873,17 +11066,17 @@ msgstr "" "формата. Переконвертируйте книгу(и) в формат поддерживаемый вашим " "устройством." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "Нет места на устройстве" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" "

Не могу загрузить книги на устройство из-за отсутствия свободной памяти. " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "Недопустимое назначение" @@ -11065,7 +11258,7 @@ msgstr "Показать информацию об устройстве" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -11678,13 +11871,13 @@ msgid "Where do you want to delete from?" msgstr "Откуда нужно удалить?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "Библиотека" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "Устройство" @@ -11720,8 +11913,8 @@ msgid "Location" msgstr "Размещение" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -11740,13 +11933,13 @@ msgstr "%(curr)s (было %(initial)s)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "Пункт пуст" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "Элемент не может быть пустым. Вместо этого удалите его." @@ -11855,7 +12048,7 @@ msgstr "Ссылка" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "Совпадений не найдено" @@ -11903,12 +12096,12 @@ msgid "Copy to author" msgstr "Копировать в 'автор'" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "Недопустимое имя автора" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "Имена авторов не могут содержать символ &." @@ -12009,40 +12202,40 @@ msgstr "&Скрыть все задания" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "&Копировать в буфер обмена" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "Показать &подробности" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "Скрыть &подробности" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "Показать детальную информацию об ошибке" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "Скопирована" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "Просмотреть журнал" @@ -12996,6 +13189,7 @@ msgstr "Отмена..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -13034,12 +13228,12 @@ msgstr "Элементы" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "Найти" @@ -13693,12 +13887,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "Порт должен быть числом между 8000 и 32000." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "Проблема запуска беспроводного устройства" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "Драйвер беспроводного устройства не запущен. Он сообщает \"%s\"" @@ -13757,6 +13951,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "&Автоматически позволять соединения при запуске calibre" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "Издатели" @@ -13771,6 +13966,7 @@ msgstr "Название категории для поиска: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "Недопустимое имя" @@ -14687,7 +14883,7 @@ msgid "&Shortcut:" msgstr "&Комбинация клавиш:" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "Готово" @@ -14731,7 +14927,7 @@ msgstr "Искать ярлык по имени" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "Нет совпадений" @@ -14741,48 +14937,52 @@ msgstr "Нет совпадений" msgid "Could not find any shortcuts matching %s" msgstr "Не удалось найти похожих ярлыков %s" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "Извлечь устройство" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "Настроить это устройство" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "Показать книги в библиотеке calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "Показать книги в основной памяти устройства" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "Показать книги на карте памяти А" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "Показать книги на карте памяти В" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "Удалить библиотеку" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "доступно" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "Расширенный поиск" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "Shift+Ctrl+F" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" @@ -14791,19 +14991,19 @@ msgstr "" "т.д.

Слова разделённые пробелами учитываются как одновременные " "условия - добавляются через И (AND)" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "Пуск!" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "Выполнить быстрый поиск (вы также можете нажать кнопку Enter)" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "Сброс быстрого поиска" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "Копировать текст текущего поиска (а не имя поиска)" @@ -14816,32 +15016,32 @@ msgstr "звезды" msgid "Y" msgstr "Д" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "На устройстве" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "Размер (МБ)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "Изменена" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "Имя для поиска/просмотра: \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "UUID книг \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -14851,32 +15051,32 @@ msgid "" msgstr "" "Не удалось изменить положение книги на диске. Она открыта в другой программе?" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "Не удалось установить дату" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" "Не удалось внести данные. Нажмите \"Показать подробности\" что бы узнать " "почему." -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "В Библиотеке" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "Размер" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "Отмечено для удаления" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "Дважды кликните по редактировать

" @@ -14983,7 +15183,7 @@ msgid "Previous Page" msgstr "Предыдущая страница" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -15523,7 +15723,7 @@ msgid "Edit Metadata" msgstr "Редактирование метаданных" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -15677,15 +15877,15 @@ msgstr "&Комментарии" msgid "Basic metadata" msgstr "Основные метаданные" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "Обложка" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "Аннотация" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -15696,29 +15896,29 @@ msgstr "" "Иногда написано что обложки нету, но она \n" "находится в процессе загрузки и наоборот." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "Посмотреть на" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "Calibre загружает метаданные из: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "Пожалуйста, подождите" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "Запрос: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" "Не удалось загрузить метаданные. Щёлкните «Показать подробности», чтобы " "посмотреть подробности" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -15730,42 +15930,48 @@ msgstr "" "фамилию автора и одно характерное слово из названия.

Чтобы просмотреть " "полный отчёт, щёлкните «Показать подробности»." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "Текущая обложка" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "Поиск..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "Загружаются обложки для %s, подождите..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" "Ошибки при получении обложек, нажмите \"Показать подробности\" чтобы увидеть " "их." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "Не удалось найти ни одной обложки для %s" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -"Найдено %(num)d обложек для %(title)s. Выберите ту, которая вам " -"нравится." +"Найти %(num)d возможных обложек для %(title)s. Когда загрузка " +"завершится, обложки будут отсортированы по размеру." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "Загружаются метаданные..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "Загрузка обложки..." @@ -15948,9 +16154,9 @@ msgid "The Add &Process" msgstr "Добавление" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" -"Игнорировать файлы с следующими расширениями при автоматическом добавлении " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 msgid "" @@ -16001,34 +16207,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "&Автоматическое добавление" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "Высокий" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "Низкий" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "Очень низкий" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "Компактно" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "По умолчанию" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "Все на 1 вкладке" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "Подтверждающие диалоги были восстановлены" @@ -16083,20 +16289,15 @@ msgid "Job &priority:" msgstr "&Приоритет задачи" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" -msgstr "Ограничения, применяемые когда текущая библиотека открыта:" +msgid "Virtual library to apply when the current library is opened:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" -"Применить это ограничение при запуске calibre если используется текущая " -"библиотека. Также применять \r\n" -"когда происходит переключение на эту библиотеку. Обратите внимание, что эта " -"настройка устанавливается \r\n" -"для каждой библиотеки отдельно. " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170 msgid "Edit metadata (single) layout:" @@ -17124,10 +17325,6 @@ msgstr "Нет" msgid "Small" msgstr "Маленький" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "Большой" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "Средний" @@ -17145,7 +17342,7 @@ msgid "Never" msgstr "Никогда" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "По первой букве" @@ -18281,20 +18478,20 @@ msgstr "" "каждого устройства с помощью настройки плагинов интерфейса устройства в " "Предпочтения->Расширенный->Плагины" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "Сбой запуска контент-сервера" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "Журнал ошибок:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "Журнал доступа:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "Вы должны перезагрузить сервер, чтобы изменения вступили в силу" @@ -18334,22 +18531,19 @@ msgid "Max. &OPDS items per query:" msgstr "Макс. &OPDS элементов на запрос:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" -msgstr "Макс. несгруппированых &OPDS элементов:" +msgid "Max. &ungrouped items:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" -msgstr "Ограничение (сохранённый поиск):" +msgid "Virtual library to apply:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" -"Это ограничение (основанное на сохранённом поиске) будет фильтровать книги, " -"доступные для поиска на сервере. Эта настройка действует для библиотеки " -"(тоесть вы можете иметь различные настройки для каждой библиотеки)." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 msgid "" @@ -18807,41 +19001,51 @@ msgstr "Восстановить по умолчанию" msgid "Apply any changes you made to this tweak" msgstr "Применить все сделанные в этой настройке изменения" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" +msgstr "Создать сохранённый поиск" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 msgid "Delete current search" msgstr "Удалить текущий поиск" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 msgid "No search is selected" msgstr "Поиск не выбран" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "Выбранный поиск будет удалён навсегда. Вы уверены?" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "Поиск (для расширенного поиска нажмите кнопку слева)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "Начать поиск" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "Включить или отключить подсветку результатов поиска" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "Сохранённые Поиски" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" "Выберите сохранённый поиск или введите название для нового сохранённого " "поиска" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." @@ -18849,47 +19053,185 @@ msgstr "" "Сохранить текущий поиск под указанным в поле именем. Нажмите и удерживайте " "для показа контекстного меню." -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "Создать сохранённый поиск" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "Удалить сохранённый поиск" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "Управление сохранёнными поисками" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" -msgstr "*Текущий поиск" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" -msgstr "Ограничения для" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "(все книги)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -"Показ книг будет ограничен только соответствующими условиям выбранного " -"сохранённого поиска" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " -msgstr " или поиск " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "({0} из {1})" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "({0} из всех)" @@ -19187,34 +19529,34 @@ msgstr "Скачать..." msgid "Goto in store..." msgstr "Перейти в магазин..." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" "Покупая в этом магазине Вы поддерживаете проект calibre и разработчика: " "%s

" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "Нет запроса" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "Вы должны ввести заголовок, автора или ключевое слово для поиска." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "Перенастроить под себя поиск книг для скачивания" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "Настроить поиск" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "Не удалось найти ни одной книги, соотвествующей вашему запросу." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "Выберите формат для скачивания в библиотеку" @@ -19336,49 +19678,49 @@ msgstr "Перегрузить" msgid "%p%" msgstr "%p%" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "Имя выражения поиска \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "Изменить автора нескольких книг займёт некоторое время. Вы согласны" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" "Изменить мета-данные нескольких книг займёт некоторое время. Вы согласны" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "Поиски" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "Переименовать пользовательскую категорию" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" "Вы не можете использовать точки в имени при переименовании пользовательских " "категорий." -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "Имя %s уже используется" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "Скопировать имя поиска" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "Имя сохранённого поиска %s уже используется." @@ -19400,13 +19742,13 @@ msgid "Manage Tags" msgstr "Управление тэгами" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "Управление пользовательскими категориями" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "Управление сохранёнными поисками" @@ -19506,7 +19848,7 @@ msgid "Alter Tag Browser" msgstr "Настроить обозреватель тэгов" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "Сортировать по" @@ -19549,139 +19891,139 @@ msgstr "" "Все менеджеры категорий доступны при нажатии правой кнопкой на элементе в " "меню тегов выше" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "Изменить значок: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "Переименовать %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "Удалить %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "Редактировать сортировку для %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "Редактировать ссылку для %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "Добавить %s в пользовательские категории" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "Дочерний для %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "Удалить поиск %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "Удалить %(item)s из категории %(cat)s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "Искать всё кроме %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "Добавить подкатегорию в %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "Удалить пользовательскую категорию %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "Скрыть категорию %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "Показать категорию" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "Искать книги в категории %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "Искать книги НЕ в категории %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "Управление %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "Изменить значок категории" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "Восстановить значок по умолчанию" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "Показать все категории" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "Сменить схему подкатегорий" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "Отключено" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "Раздел" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" "Первая буква может использоваться только тогда, когда сортировка по именам" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "Выберите путь для записи оглавления" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "Текст для поиска ..." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "Продолжи&ть поиск" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "Найти пред&ыдущее" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -19699,25 +20041,25 @@ msgstr "" "панели, появляется толстая зелёная линия, указывающая точное место, которое " "будет выбрано при нажатии." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "Название записи оглавления:" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "Выбранное место назначения:" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "Нет совпадений" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "Нет совпадений для: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " @@ -19726,31 +20068,31 @@ msgstr "" "Не найдено совпадений для %(text)s в текущем файле [%(current)s]. Желаете " "продолжить поиск в %(which)s файле [%(next)s]?" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "следующем" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "предыдущем" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "Файл:" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "Начало файла" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "Примерно %d%% от верха" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "Положение: Тэг <%s> в файле" @@ -19794,7 +20136,7 @@ msgstr "Было введено не XPath выражение" msgid "The XPath expression %s is not valid." msgstr "XPath выражение %s не верно" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." @@ -19802,7 +20144,7 @@ msgstr "" "Вы можете редактировать существующие элементы в оглавлении нажимая на них в " "панели слева." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " @@ -19811,15 +20153,15 @@ msgstr "" "Элементы с зелёной меткой указывают на существующее место. Элементы с " "красной точкой ошибочны и требуют исправления." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "Создать новую запись" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "Создать оглавление из основных заголовков" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " @@ -19828,11 +20170,11 @@ msgstr "" "Это работает когда определено что книга разделена с помощью заголовочных " "тэгов HTML. Используются тэги

,

и

." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "Создать оглавление из всех заголовков" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " @@ -19841,11 +20183,11 @@ msgstr "" "Это работает когда определено что книга разделена с помощью заголовочных " "тэгов HTML. Используются тэги ." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "Создать оглавление из ссылок" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " @@ -19854,23 +20196,37 @@ msgstr "" "Создаёт оглавление из всех ссылок книги. Ссылки не имеющие связи или имеющие " "несколько связей в одном тексте игнорируются." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" +msgstr "Создать оглавление из файлов" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." +msgstr "" +"Создать оглавление из отдельных файлов книги. Каждая запись оглавления будет " +"ссылаться на начало файла а текст записи будет взят из текста первой строки " +"файла." + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 msgid "Generate ToC from &XPath" msgstr "Создать оглавление из XPath" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 msgid "Generate a Table of Contents from arbitrary XPath expressions." msgstr "Создать оглавление из произвольных XPath выражений." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" -msgstr "Соединить оглавление" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "Сровнять оглавление" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "Все записи и подзаписи оглавления будут перенесены на один уровень" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -19882,7 +20238,7 @@ msgstr "" "предыдущей записи. Если вы создадите нелинейного оглавление, то оно будет " "автоматически исправлено в AZW3 файле." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" @@ -19890,82 +20246,122 @@ msgstr "" "Вы можете двигать эту запись по оглавлению с помощью перетаскивания или " "используя кнопки вверх и вниз, расположенные слева." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "Изменить положение этой записи" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "Удалить эту запись" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "Новая запись внутри этой записи" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "Новая запись над этой записью" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "Новая запись под этой записью" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "Соединить один подуровень этой записи" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" "Все подзаписи этой записи будут перенесены на тот же уровень что и сама " "запись." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "Вернуться в начальное меню" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "Перейти в меню верхнего уровня" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "Эта запись указывает на существующее место" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "Место, указанное в этой записи, не существует" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" -msgstr "Переместить текущую запись вверх" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" +msgstr "Переместить \"%s\" вверх" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "Переместить \"%s\" вниз" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "Удалить все выделенные элементы" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "Подвинуть влево \"%s\"" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "Подвинуть вправо \"%s\"" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "Установить все выделенные элементы в титульный регистр" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "Переместить выделенную запись вверх [Ctrl+Up]" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "Уменьшить отступ [Ctrl+Left]" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "Удалить все выделенные записи" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" -msgstr "Переместить текущую запись вниз" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" +msgstr "Увеличить отступ [Ctrl+Right]" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "Переместить выделенную запись вниз [Ctrl+Down]" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "&Развернуть все" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "&Свернуть все" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "Двойное нажатие на записи позволит изменить текст" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "Заголовок: {0} Положение: {1}{2}" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" @@ -19974,50 +20370,55 @@ msgstr "" "Место, указанное в этой записи не существует:\n" "%s" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "Элементы не найдены" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "Не найдено элементов, которые можно добавить в оглавление." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "Не найдено ссылок, которые можно добавить в оглавление." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "Не найдено файлов которые можно добавить в оглавление." + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "Редактировать оглавление в %s" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "Открываю %s, пожалуйста подождите ..." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "Записываю %s, пожалуйста подождите ..." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "Не удалось записать книгу" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" "Не удалось записать %s. Нажмите \"Показать детали\" чтобы получить больше " "информации." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "Не удалось открыть книгу" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -20108,31 +20509,31 @@ msgstr "" "Следующие книги уже были сконвертированы в формат %s. Вы хотите их " "переконвертировать?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "Пожертвовать на развитие calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "Восстановить" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "Извлечь подключенное устройство" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "Выйти из Calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "Очистить текущий поиск" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "Резим отладки" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -20142,11 +20543,11 @@ msgstr "" "Вы запустили calibre в режиме отладки. После закрытия программы, журнал " "можно будет увидеть в файле %s

Журнал будет показан автоматически." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "Не удалось запустить контент сервер" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -20168,16 +20569,16 @@ msgstr "" "попытался автоматически восстановить её? Восстановление может не быть " "полностью удачным." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "Ошибка преобразования" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "

Преобразование не удалось: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -20215,23 +20616,23 @@ msgstr "" " могут появиться проблемы с EPUB.\n" " " -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "Преобразование не удалось" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "Обработчик отключён" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "Неудача" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "Имеется активное задание. Вы все равно хотите выйти?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" @@ -20241,11 +20642,11 @@ msgstr "" " Выход может вызвать искажение на устройстве.
\n" " Вы действительно уверены, что хотите выйти?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "Активные задания" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -20815,29 +21216,29 @@ msgstr "Размер шрифта по умолчанию" msgid "S&earch Google for '%s'" msgstr "Искать в Google '%s'" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "&Увеличить" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "У&меньшить" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "&Сохранить как" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "&Вращать" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "Выберите файл для сохранения" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "Просмотреть изображение: %s" @@ -22310,18 +22711,18 @@ msgstr "" "соответствующей документации в руководстве пользователя. По умолчанию не " "фильтровать." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "Максимальная ширина вывода. По умолчанию размер экрана." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "Разделитель полей. По умолчанию пробел." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." @@ -22329,15 +22730,15 @@ msgstr "" "Префикс для всех путей. По умолчанию это абсолютный путь к директории " "библиотеки." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "Неправильное поле. Доступное поле:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "Неправильное поле сортировки. Доступные поля:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" @@ -22345,13 +22746,13 @@ msgstr "" "Следующие книги не добавлены, поскольку они уже есть в базе данных (см. " "опцию --duplicates):" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "Добавлены идентификаторы книг: %s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -22365,7 +22766,7 @@ msgstr "" "директории, смотри\n" "опции директории ниже.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" @@ -22373,11 +22774,11 @@ msgstr "" "Считать, что в каждой директории есть только одна логическая книга в " "различных e-book форматах" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "Обрабатывать рекурсивно" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." @@ -22385,43 +22786,43 @@ msgstr "" "Добавлять книгу в базу данных даже если она уже есть. Сравнение основано на " "названиях книг." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "Добавить пустую книгу (книгу без форматов)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "Установите название добавляемой книги (книг)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "Указать авторов добавляемых книг" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "Указать ISBN добавляемых книг" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "Указать тэги добавляемых книг" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "Указать серию добавляемых книг" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "Указать номер серии добавляемых книг" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "Путь к обложке для использования в добавленной книге" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "Вы должны указать не менее одного файла для добавления" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -22438,33 +22839,43 @@ msgstr "" "списка команд). Например, 23,34,57-85 (если определяется диапазон, то " "последний номер не включается в него).\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "Вы должны указать не менее одной книги для удаления" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "Файл %s уже существует для этой книги: %d, не заменяется." + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" "%prog add_format [options] id ebook_file\n" "\n" -"Добавить книгу в папку книги как ещё один доступный формат. Книга " -"определяется по id. id можно получить командой list. Если книга в данном " -"формате уже есть, она будет заменена.\n" +"Добавляет книгу в ebook_file к списку форматов книги, определённой по id. Вы " +"можете получить id используя комманду list. Если формат уже существует, то " +"он будет заменён, если не изменена настройка замены." #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "Не заменять формат, если он уже существует" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "Вы должны указать id и файл электронной книги" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "файл электронной книги должен иметь расширение" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -22480,11 +22891,11 @@ msgstr "" "получить id используя команду list. fmt это расширения файла LRF или TXT или " "EPUB. Если logical book не имеет нужного fmt, ничего не произойдет.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "Вы должны указать id и формат" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -22499,15 +22910,15 @@ msgstr "" "Показать метаданные из базы данных calibre для книги с id.\n" "id это номер из команды list.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "Напечатать метаданные в OPF из (XML)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "Вы должны назначить id" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -22531,7 +22942,7 @@ msgstr "" "используя переключатель --as-opf для команды show_metadata. Вы так \n" "же можете установить метаданные каждого поля с помощью настройки --field.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -22547,42 +22958,42 @@ msgstr "" "en для English, fr для French и т.д.). Для идентификаторов, синтаксис {0} " "{2}. Для булевых (да/нет) полей используйте true и false или yes и no." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" "Список названий полей метаданных, которые могут быть использованы с опцией --" "field." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "Название поля" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "Вы должны указать идентификатор записи первым аргументом" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "Вы должны указать поле или opf файл" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "В базе данных не найдено книг с id: %s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "OPF файл %s не существует" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "%s не известное поле" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -22599,28 +23010,28 @@ msgstr "" "Операция экспорта сохраняет все форматы книги, ее обложку и метаданные (в\n" "opf файле). id можно получить командой list.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "Передать все книги в базу данных, игнорируя список ids." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "Экспортировать книги в указанную дерикторию. По умолчанию" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "Экспортировать все книги в одну деррикторию" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "Указание этого переключателя отключит данный режим." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "Вы должны указать id или опцию %s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -22637,7 +23048,7 @@ msgstr "" "столбца.\n" "тип_данных один из: {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." @@ -22645,7 +23056,7 @@ msgstr "" "Этот столбец хранит теги как данные (например, несколько значений, " "разделенных запятыми). Применяется только, если тип данных текст." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -22681,11 +23092,11 @@ msgstr "" "книги (убедитесь что новый OPF был создан после добавления столбца). Вы " "увидете JSON для \"отображения\" для нового столбца в OPF." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "Вы должны указать заголовок, имя и тип данных" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -22704,7 +23115,7 @@ msgstr "" "каталоге.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" @@ -22714,7 +23125,7 @@ msgstr "" "Если указано, --search игнорируется.\n" "По умолчанию: все" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" @@ -22725,16 +23136,16 @@ msgstr "" "Пользователя.\n" "По умолчанию: не фильтруется (no filtering)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "Показать детальную информацию. Используется для отладки." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "Ошибка: Вы должны указать каталог выходного файла" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -22755,7 +23166,7 @@ msgstr "" "custom_columns.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." @@ -22763,11 +23174,11 @@ msgstr "" "Если столбец содержит несколько значений, добавить указанное значение к " "существующим, а не заменять их." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "Ошибка: Вы должны указать имя поля, идентификатор и значение" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -22782,20 +23193,20 @@ msgstr "" "идентификаторы.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "Показать подробности для каждой колонки." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "Вы потеряете все данные в столбце %s. Вы уверены (да/нет)? " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "д" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " @@ -22805,7 +23216,7 @@ msgstr "" "видимое. Для получения списка названий столбцов используйте функцию " "calibredb custom_columns." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -22822,15 +23233,15 @@ msgstr "" "custom_columns.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "Не запрашивать подтверждения" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "Ошибка: Вы должны указать заголовок столбца" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -22852,44 +23263,44 @@ msgstr "" " он будет перемещён.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" "Ошибка: Вы должны определить действие " "(добавить(add)|удалить(remove)|список(list))" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "Название:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "Строка поиска:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "Ошибка: Вы должны указать имя и строку поиска" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "добавлено" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "Ошибка: Вы должны указать имя" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "удалено" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" "Ошибка: Действие %s не распознано, должно быть одно из: " "(добавить(add)|удалить(remove)|список(list))" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -22914,7 +23325,7 @@ msgstr "" "резервируются \n" "автоматически при каждом изменении метаданных.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." @@ -22922,7 +23333,7 @@ msgstr "" "Обычно эта команда действует только на книги имеющие просроченные OPF файлы. " "Эта настройка производит операцию на всех книгах." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -22934,12 +23345,12 @@ msgstr "" "Выполняет некоторые проверки файловой системы представляющей библиотеку. " "Отчёты {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "Вывод в CSV" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" @@ -22947,7 +23358,7 @@ msgstr "" "Разделённый запятыми список отчётов.\n" "По умолчанию: все (all)." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" @@ -22955,7 +23366,7 @@ msgstr "" "Разделённый запятыми список игнорируемых расширений.\n" "По умолчанию: все (all)." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" @@ -22963,11 +23374,11 @@ msgstr "" "Разделённый запятыми список игнорируемых названий.\n" "По умолчанию: все (all)." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "Неизвестная отметка отчёта" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -22994,7 +23405,7 @@ msgstr "" "полностью зависеть от того, что будет найдено в файлах OPF.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." @@ -23002,12 +23413,12 @@ msgstr "" "Действительно сделать восстановление. Команда не запустится пока эта опция " "не определена." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "Вы должны указать опцию %s что бы произвести восстановление" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -23019,7 +23430,7 @@ msgstr "" "Генерирует отчёт по категориям в базе данных. \n" "Информация соответствует той, что отображается в панели тэгов.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" @@ -23027,7 +23438,7 @@ msgstr "" "Выводить только общее число записей в категории вместо подсчёта по каждому " "элементу." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." @@ -23035,7 +23446,7 @@ msgstr "" "Символ который ставится за значением категории в CSV режиме. По умолчанию " "это кавычка (\")." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" @@ -23043,17 +23454,17 @@ msgstr "" "Разделённый запятыми список поисковых имён категории.\n" "По умолчанию: все (all)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" "Строка используемая для разделения полей в CSV режиме. По умолчанию это " "запятая." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "ЭЛЕМЕНТЫ КАТЕГОРИИ" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -23086,31 +23497,22 @@ msgstr "" "Заголовок должен содержать только строчные буквы, цифры, подчеркивания и " "начинаться с буквы" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "восстановлены настройки " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "создание пользовательских столбцов " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr " (%s книг)" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "

Миграция старой базы данных в %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "Копирование %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "Сжатие базы данных" @@ -23388,20 +23790,20 @@ msgstr "" "сервер из Apache/nginx/и т.д." #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "Все книги" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "Самый новый" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "Загружается, пожалуйста подождите" @@ -23424,7 +23826,7 @@ msgid "Browsing %d books" msgstr "Просмотр %d книг" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "Средний рейтинг" @@ -23433,98 +23835,98 @@ msgstr "Средний рейтинг" msgid "%(prefix)s: %(rating).1f stars" msgstr "%(prefix)s: %(rating).1f звёзд" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "%d звезд" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "Популярность" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "бибилиотека" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "главная" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "Случайная книга" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "Отобразить книги по" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "Выберите категорию:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "Отображать по" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "Вверх" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "в" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "Книги в" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "Другие форматы" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "Читать %(title)s в формате %(fmt)s" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "Получить" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "Детали" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "Постоянная ссылка" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "Постоянная ссылка на эту книгу" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "Эта книга была удалена" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "Выбрать другую случайную книгу" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "Другая случайная книга" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "поиск" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "Соответствие книг" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -23546,23 +23948,23 @@ msgstr "" "\n" "Интерфейс OPDS обьявляется автоматически через BonJour.\n" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "Путь к папке библиотеки, для обслуживания сервером" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "Записать PID процесса в указанный файл" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -"Задаёт ограничения которые будут использованы при этом вызове. Эта опция " -"заменяет любые опции для библиотек, определённые в интерфейсе" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -24851,10 +25253,6 @@ msgstr "д. п." msgid "pm" msgstr "п. п." -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "Копировать" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "Выделить все" @@ -24956,6 +25354,31 @@ msgstr "Код запущен" msgid "Restart console" msgstr "Перезагрузить консоль" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "URL должен быть sftp scheme" @@ -25004,101 +25427,101 @@ msgstr "Не удалось загрузить %s" msgid "The \"%s\" recipe needs a username and password." msgstr "Обработчик \"%s\" требует имя пользователя и пароль" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "Закачка завершена" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "Неудачная загрузка следующих статей:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "Неудачная загрузка частей следующих статей:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr " из " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "\tБитые ссылки:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "Не удалось получить статью." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "Отладочня трассировка доступна ранее в этом журнале" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "Запуск с-vv чтобы увидеть причину" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "Вызываются заготовки..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "Получить заготовки для оглавления" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "Попытка скачать обложку..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "Создаем титульные данные..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "Начало загрузки [%d поток(и)]..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "Заготовки закачиватся в %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "Невозможно скачать обложку: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "Скачивается обложка из %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "Титульное изображение загружено" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "Статьи в этом выпуске: " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "Статья без названия" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "Статья скачена: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "Ошибка загрузки статьи: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "Доставляется материал" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 msgid "" "Failed to log in, check your username and password for the calibre " "Periodicals service." @@ -25106,7 +25529,7 @@ msgstr "" "Не удалось выполнить вход, проверьте свое имя пользователя и пароль для " "службы Периодических изданий Calibre." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -25455,14 +25878,14 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" -"По умолчанию, calibre разделяет строку содержащую несколько имён \n" -"авторов в кавычках и слова \"and\" и \"with\". Вы можете настроить " -"разделение, \n" -"изменив регулярное выражение ниже. Строки резделяются когда \n" -"указанное регулярное выражение совпадает.\n" +"По умолчанию, calibre разъединаяет строки содержащие множественные \n" +"имена авторов, записанные через амперсанд и слова \"and\" и \"with\". \n" +"Вы можете настроить разделение, изменяя регулярное выражение, \n" +"расположенное ниже. Строки разделяются по совпадению с регулярным \n" +"выражением, в дополнение к амперсандам.\n" "По умолчанию: r'(?i),?\\s+(and|with)\\s+'" #: /home/kovid/work/calibre/resources/default_tweaks.py:85 diff --git a/src/calibre/translations/sc.po b/src/calibre/translations/sc.po index 4ae43a1082..2c1a398864 100644 --- a/src/calibre/translations/sc.po +++ b/src/calibre/translations/sc.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2010-12-11 02:46+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: Sardinian \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n!=1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:22+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:38+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -325,345 +325,345 @@ msgstr "" msgid "Set metadata from %s files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -941,8 +941,8 @@ msgstr "" msgid "Disable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -952,11 +952,22 @@ msgstr "" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -968,26 +979,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1000,11 +1011,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" @@ -1012,14 +1023,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1027,7 +1038,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1035,45 +1046,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1101,23 +1137,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1240,8 +1276,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "" @@ -1289,10 +1325,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1333,6 +1369,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1651,17 +1688,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1669,12 +1706,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1682,7 +1719,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1694,7 +1731,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1707,10 +1744,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1767,66 +1806,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1834,7 +1873,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1843,11 +1882,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1867,55 +1906,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2040,7 +2079,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2521,7 +2560,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2830,23 +2869,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3134,15 +3173,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4093,7 +4136,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4117,27 +4160,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4173,13 +4216,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4188,9 +4232,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4200,7 +4245,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4212,8 +4257,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4325,60 +4370,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4386,13 +4431,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4402,6 +4465,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4461,12 +4565,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4493,72 +4597,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4567,14 +4671,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4599,12 +4703,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4637,7 +4741,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4762,9 +4866,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4780,11 +4884,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4827,6 +4931,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4981,7 +5089,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5103,12 +5211,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5185,8 +5293,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5307,7 +5415,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5355,7 +5463,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5369,7 +5477,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5381,12 +5489,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5526,7 +5634,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5554,7 +5662,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5595,7 +5703,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5608,96 +5716,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5716,6 +5837,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5788,75 +5910,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5932,12 +6056,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6021,8 +6145,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6058,7 +6182,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6128,15 +6252,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6241,17 +6365,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6260,185 +6395,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6555,7 +6701,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6660,7 +6806,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6672,30 +6818,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6705,11 +6851,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -6973,7 +7119,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7183,7 +7329,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7193,7 +7339,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7227,16 +7373,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7304,7 +7459,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7490,7 +7645,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7830,8 +7985,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8747,59 +8902,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8811,13 +8970,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9055,6 +9230,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9621,7 +9800,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9667,81 +9846,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9903,7 +10082,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10414,13 +10593,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10454,8 +10633,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10474,13 +10653,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10579,7 +10758,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10627,12 +10806,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10727,40 +10906,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11628,6 +11807,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11663,12 +11843,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12242,12 +12422,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12299,6 +12479,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12313,6 +12494,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13189,7 +13371,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13233,7 +13415,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13243,66 +13425,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13315,32 +13501,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13349,30 +13535,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13477,7 +13663,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13975,7 +14161,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14120,15 +14306,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14136,27 +14322,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14164,38 +14350,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14336,7 +14528,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14379,34 +14572,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14455,12 +14648,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15373,10 +15566,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15394,7 +15583,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16362,20 +16551,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16408,18 +16597,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16794,83 +16983,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17146,32 +17485,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17285,46 +17624,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17346,13 +17685,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17445,7 +17784,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17484,138 +17823,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17626,56 +17965,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17717,73 +18056,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17791,134 +18141,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -17997,31 +18392,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18029,11 +18424,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18049,16 +18444,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18081,34 +18476,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18649,29 +19044,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19919,44 +20314,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19965,59 +20360,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20028,28 +20423,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20059,11 +20464,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20073,15 +20478,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20096,7 +20501,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20106,40 +20511,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20150,28 +20555,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20182,13 +20587,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20208,11 +20613,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20223,30 +20628,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20258,17 +20663,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20277,27 +20682,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20307,15 +20712,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20328,40 +20733,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20375,13 +20780,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20389,34 +20794,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20431,18 +20836,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20450,33 +20855,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20499,31 +20904,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20765,20 +21161,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20801,7 +21197,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20810,98 +21206,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20914,21 +21310,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21931,10 +22329,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22033,6 +22427,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22081,107 +22500,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22444,7 +22863,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/si.po b/src/calibre/translations/si.po index b7af140513..92131fc37e 100644 --- a/src/calibre/translations/si.po +++ b/src/calibre/translations/si.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2011-06-16 06:16+0000\n" "Last-Translator: Dinusha \n" "Language-Team: Sinhalese \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:21+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:37+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -325,345 +325,345 @@ msgstr "" msgid "Set metadata from %s files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "පෙනුම සහ දැනිම" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "අතුරුමුහුණත" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "හැසිරීම" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "මෙවලම් තීරුව" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "සොයමින්" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -941,8 +941,8 @@ msgstr "" msgid "Disable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -952,11 +952,22 @@ msgstr "" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -968,26 +979,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1000,11 +1011,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" @@ -1012,14 +1023,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1027,7 +1038,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1035,45 +1046,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1101,23 +1137,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1240,8 +1276,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "" @@ -1289,10 +1325,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1333,6 +1369,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1651,17 +1688,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1669,12 +1706,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1682,7 +1719,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1694,7 +1731,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1707,10 +1744,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1767,66 +1806,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1834,7 +1873,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1843,11 +1882,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1867,55 +1906,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2040,7 +2079,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2521,7 +2560,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2830,23 +2869,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3134,15 +3173,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4093,7 +4136,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4117,27 +4160,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4173,13 +4216,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4188,9 +4232,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4200,7 +4245,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4212,8 +4257,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4325,60 +4370,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4386,13 +4431,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4402,6 +4465,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4461,12 +4565,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4493,72 +4597,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4567,14 +4671,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4599,12 +4703,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4637,7 +4741,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4762,9 +4866,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4780,11 +4884,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4827,6 +4931,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4981,7 +5089,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5103,12 +5211,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5185,8 +5293,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5307,7 +5415,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5355,7 +5463,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5369,7 +5477,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5381,12 +5489,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5526,7 +5634,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5554,7 +5662,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5595,7 +5703,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5608,96 +5716,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5716,6 +5837,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5788,75 +5910,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5932,12 +6056,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6021,8 +6145,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6058,7 +6182,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6128,15 +6252,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6241,17 +6365,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6260,185 +6395,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6555,7 +6701,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6660,7 +6806,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6672,30 +6818,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6705,11 +6851,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -6973,7 +7119,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7183,7 +7329,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7193,7 +7339,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7227,16 +7373,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7304,7 +7459,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7490,7 +7645,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7830,8 +7985,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8747,59 +8902,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8811,13 +8970,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9055,6 +9230,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9621,7 +9800,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9667,81 +9846,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9903,7 +10082,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10414,13 +10593,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10454,8 +10633,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10474,13 +10653,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10579,7 +10758,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10627,12 +10806,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10727,40 +10906,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11628,6 +11807,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11663,12 +11843,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12242,12 +12422,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12299,6 +12479,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12313,6 +12494,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13189,7 +13371,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13233,7 +13415,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13243,66 +13425,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13315,32 +13501,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13349,30 +13535,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13477,7 +13663,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13975,7 +14161,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14120,15 +14306,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14136,27 +14322,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14164,38 +14350,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14336,7 +14528,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14379,34 +14572,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14455,12 +14648,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15373,10 +15566,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15394,7 +15583,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16362,20 +16551,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16408,18 +16597,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16794,83 +16983,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17146,32 +17485,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17285,46 +17624,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17346,13 +17685,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17445,7 +17784,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17484,138 +17823,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17626,56 +17965,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17717,73 +18056,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17791,134 +18141,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -17997,31 +18392,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18029,11 +18424,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18049,16 +18444,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18081,34 +18476,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18649,29 +19044,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19919,44 +20314,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19965,59 +20360,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20028,28 +20423,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20059,11 +20464,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20073,15 +20478,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20096,7 +20501,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20106,40 +20511,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20150,28 +20555,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20182,13 +20587,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20208,11 +20613,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20223,30 +20628,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20258,17 +20663,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20277,27 +20682,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20307,15 +20712,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20328,40 +20733,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20375,13 +20780,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20389,34 +20794,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20431,18 +20836,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20450,33 +20855,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20499,31 +20904,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20765,20 +21161,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20801,7 +21197,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20810,98 +21206,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20914,21 +21310,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21931,10 +22329,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22033,6 +22427,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22081,107 +22500,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22444,7 +22863,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/sk.po b/src/calibre/translations/sk.po index a818d8dbfc..3a100b630a 100644 --- a/src/calibre/translations/sk.po +++ b/src/calibre/translations/sk.po @@ -7,32 +7,32 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" -"PO-Revision-Date: 2013-01-03 18:59+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" +"PO-Revision-Date: 2013-04-11 10:26+0000\n" "Last-Translator: viktorc \n" "Language-Team: Slovak \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:21+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:37+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "Nerobí vôbec nič" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "Nerobí vôbec nič" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "Nerobí vôbec nič" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "Nerobí vôbec nič" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "Nerobí vôbec nič" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "Nerobí vôbec nič" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "Nerobí vôbec nič" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -330,73 +330,73 @@ msgstr "Zapisuje metadáta do súborov %s" msgid "Set metadata from %s files" msgstr "Nastaviť metadáta zo súborov %s" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "Pridať knihy do Calibre alebo pripojeného zariadenia" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "Stiahnuť poznámky z pripojeného Kindle (experimentálne)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "Vytvoriť katalóg kníh vo vašej Calibre knižnici" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "Konvertovať knihy do rôznych formátov" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "Vymazať knihy z vašej Calibre knižnice alebo pripojeného zariadenia" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "Upraviť metadata kníh vo vašej Calibre knižnici" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "Prečítané knihy vo vašej knižnici Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "Stiahnuť novinky z internetu v knižnej forme" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Rýchle zobrazenie zoznamu príbuzných kníh" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "Exportovať knihy z vašej Calibre knižnici na hard disk" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "Zobraziť podrobnosti o knihe v samostatnom okne" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "Reštart Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "Otvoriť priečinok obsahujúci súbory knihy vo vašej Calibre knižnici" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "Odoslať knihy na pripojené zariadenie" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" @@ -404,42 +404,42 @@ msgstr "" "Odoslať knihy e-mailom, cez web, pripojiť k iTunes, alebo k priečinkom vo " "Vašom počítači, akoby to boli zariadenia" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "Prehliadať Užívateľskú príručku Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "Prispôsobiť Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "Jednoducho nájsť knihy podobné momentálne vybranej knihe" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "Prepnúť sa medzi rôznymi knižnicami Calibre a vykonať na nich údržbu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "Kopírovať knihy zo zariadenia do vašej knižnice Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "Upraviť zbierky, do ktorých sú knihy vo Vašej čítačke radené" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "Kopírovať knihy z jednej knižnice Calibre do inej" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" "Urobiť malé vylepšenia súborov epub, alebo htmlz vo Vašej knižnici Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" @@ -447,58 +447,58 @@ msgstr "" "Nájsť nasledujúci, alebo predchádzajúci výsledok pri vyhľadávaní v knižnici " "Calibre v zvýraznenom režime" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "Náhodne vybrať knihu z vašej Calibre knižnice" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "Hľadať knihy od rozdielnych kníhkupcov" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "Získať nové Calibre pluginy alebo aktualizovať exitujúce" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Vzhľad a chovanie" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Rozhranie" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" "Upravte si vzhľad a nastavenia calibre rozhrania tak, aby vyhovovali vašim " "požiadavkám" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "Správanie" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "Zmeniť spôsob chovania calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Pridať vlastné stĺpce" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "Pridať / odstrániť svoje vlastné stĺpce v calibre zozname kníh" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Panel nástrojov" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -506,65 +506,65 @@ msgstr "" "Prispôsobiť panely nástrojov a kontextové menu, meniace sa podľa dostupných " "akcií" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "Vyhľadávanie" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "Prispôsobí spôsob vyhľadávania kníh v calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "Možnosti vstupu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Konverzia" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "Nastavenie možností konverzie špecifické pre každý vstupný formát" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Bežné voľby" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "Nastaviť možnosti konverzie spoločné pre všetky formáty" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "Výstupné nastavenia" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "Nastavenie možností konverzie špecifických pre každý výstupný formát" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "Vloženie kníh" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "Import/export" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Kontrolovať, ako calibre číta metaúdaje zo súborov pri pridávaní kníh" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "Uloženie kníh na disk" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -572,50 +572,50 @@ msgstr "" "Kontrolovať, ako calibre exportuje súbory zo svojej databázy na disk pri " "použití Uložiť na disk" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "Poslanie kníh do zariadení" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "Kontrolovať, ako calibre prenáša súbory do vášho zariadenia" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "Prepojovacie panely metadát" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "Zmeniť polia metadat pred uložením/odoslaním" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "Funkcie šablóny" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "Rozšírené" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "Vytvorte vlastné funkcie šablóny" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "Zdieľanie kníh emailom" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "Zdieľanie" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -623,11 +623,11 @@ msgstr "" "Nastavenie zdieľania kníh prostredníctvom e-mailu. Môže byť použité pre " "automatickom zasielanie stiahnutých noviniek do vášho zariadenia" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "Zdieľanie cez sieť" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -635,57 +635,57 @@ msgstr "" "Nastavenie calibre Obsahového Servera, ktorý vám umožní prístup k vašej " "calibre knižnici odkiaľkoľvek, na akomkoľvek zariadení, cez internet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "Sťahovanie metadát" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "Nastavenie spôsobu, akým Calibre sťahuje metadáta kníh z Internetu." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "Ignorované zariadenia" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" "Nastavenie zariadení, ktoré bude Calibre po pripojení k počítaču ignorovať." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Moduly" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Pridať/odstrániť/upraviť rôzne časti calibre funkcií" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "Vylepšenia" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "Doladiť chovanie calibre v rôznych kontextoch" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "Klávesnica" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "Prispôsobiť klávesové skratky používané v Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Rôzne" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "Rôzne pokročilé nastavenia" @@ -986,8 +986,8 @@ msgstr "Aktivovať modul podľa mena" msgid "Disable the named plugin" msgstr "Deaktivovať modul podľa mena" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -998,11 +998,22 @@ msgid "Path to library too long. Must be less than %d characters." msgstr "" "Cesta k priečinku knižnice je príliš dlhá. Musí mať menej ako %d znakov." -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "nastavenia obnovené " + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "vytváram vlastný stĺpec " + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -1014,26 +1025,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "%(tt)sPriemerné hodnotenie je %(rating)3.1f" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "Základné" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "Karta A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "Karta B" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1046,11 +1057,11 @@ msgstr "Karta B" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Novinky" @@ -1058,14 +1069,14 @@ msgstr "Novinky" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "zaškrtnuté" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "áno" @@ -1073,7 +1084,7 @@ msgstr "áno" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "nie" @@ -1081,45 +1092,70 @@ msgstr "nie" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "nezašktnuté" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "dnes" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "včera" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "tento mesiac" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "pred dňami" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "prázdne" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "prázdne" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "Neplatný booleovský dotaz \"{0}\"" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1149,7 +1185,7 @@ msgstr "" msgid "Communicate with Android phones." msgstr "Komunikácia s telefónmi Android." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" @@ -1157,7 +1193,7 @@ msgstr "" "Zoznam adresárov oddelených čiarkou. Do prvého z nich, ktorý bude existovať " "sa uložia e-booky pri odoslaní do hlavnej pamäte zariadenia." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" @@ -1165,11 +1201,11 @@ msgstr "" "Zoznam adresárov oddelených čiarkou. Do prvého z nich, ktorý bude existovať " "sa uložia e-booky pri odoslaní na pamäťovú kartu zariadenia." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "Komunikácia s telefónmi S60" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "Komunikácia s tabletmi WebOS." @@ -1319,8 +1355,8 @@ msgstr "" "Zoznam po kliknutí na \"Zobraziť podrobnosti\"." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "Katalóg" @@ -1375,10 +1411,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1419,6 +1455,7 @@ msgstr "Pridávam knihy do zoznamu v zariadení..." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1752,17 +1789,17 @@ msgstr "" "obálku upravili." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "Odoslať čiernobiele obálky" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "Zobraz knihy, ktoré vypršaly" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1773,12 +1810,12 @@ msgstr "" "ich vymazať pomocou nového algoritmu." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "Zobraziť náhľady" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1789,7 +1826,7 @@ msgstr "" "vidiet, resp. vymazať." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "Zobraz odporúčania" @@ -1804,7 +1841,7 @@ msgstr "" "resp. zmazať." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "Podporovať novšie firmwéry" @@ -1817,10 +1854,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "Verzia databázy Kobo nie je podporovaná - viď. podrobnosti" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1899,19 +1938,19 @@ msgstr "" "/>Priebeh kapitoly: %(chapter_progress)s%%
Zvýraznenie: " "%(text)s
Poznámky: %(annotation)s

" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "Kobo Touch od firmware V2.0.0 podporuje regály." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "Vytvoriť regály" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." @@ -1919,11 +1958,11 @@ msgstr "" "Vytvoriť nové knižné regály na Kobo Touch - ak neexistujú. Určené len pre " "firmware V2.0.0 a novšie." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "Odstrániť prázdne regály" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." @@ -1931,38 +1970,38 @@ msgstr "" "Odstrániť na záver synchronizácie z Kobo Touch všetky prázdne knižné regály. " "Určené len pre firmware V2.0.0 a novšie." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "Odoslať obálky kníh" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1970,7 +2009,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1979,11 +2018,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -2003,55 +2042,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "Komunikácia s Sweex/Kogan/Q600/Wink" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "Komunikácia s Pandigital Novel" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "Komunikácia s VelocityMicro" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "Komunikácia s GM2000" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "Komunikácia s Acer Lumiread" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "Komunikácia s Aluratek Color" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "Komunikácia s Trekstor" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "Komunikácia s čítačkou EEE" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "Komunikácia s tabletom Adam" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "Komunikácia s čítačkou Nextbook" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "Komunikácia s čítačkou Moovybook" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "Komunikácia so zariadením COBY" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "Komunikácia so zariadením Ex124G" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2179,7 +2218,7 @@ msgstr "Nook" msgid "Communicate with the Nook eBook reader." msgstr "Komunikácia s čítačkou Nook." -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "Komunikácia s čítačkami Nook Color, TSR a Tablet." @@ -2724,7 +2763,7 @@ msgid "There is insufficient free space on the storage card" msgstr "Na pamäťovej karte nie je dostatok voľného miesta" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "Úspešný prevod %s" @@ -3132,24 +3171,24 @@ msgstr "" "robíte, inak môže vo zvyšku konverzného procesu vyústiť do rôznych nepekných " "vedľajších efektov." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "Súbor CSS použitý pre výstup namiesto štandardného" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "Šablóna na generovanie html indexu, namiesto štandardného súboru" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" "Šablóna na generovanie html obsahu knihy namiesto štandardného súboru" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3489,15 +3528,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4691,7 +4734,7 @@ msgstr "" msgid "Set book ID" msgstr "Identifikačný kód knihy" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4717,27 +4760,27 @@ msgstr "Nie" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "Názov" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "Autor(i)" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "Vydavateľ" @@ -4773,13 +4816,14 @@ msgstr "Poznámky" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "Značky" @@ -4788,9 +4832,10 @@ msgstr "Značky" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4801,7 +4846,7 @@ msgstr[1] "Série" msgstr[2] "Sérií" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4813,8 +4858,8 @@ msgstr "Časová známka" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "Publikované" @@ -4950,60 +4995,60 @@ msgstr "" "Pre knihu identifikovanú ISBN stiahne z LibraryThing.com obrázok " "obálky/sociálne metadáta\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "Obálka" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "Stiahne metadáta a obálky z Amazon-u" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "US" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "Francúzsko" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "Nemecko" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "Veľká Británia" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "Taliansko" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "Japonsko" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "Španielsko" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "Použiť web Amazonu:" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "Metadáta z Amazonu budú stiahnuté z jej verzie pre súto krajinu." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "Čas pre Amazon vypršal. Skúste neskôr." @@ -5011,6 +5056,24 @@ msgstr "Čas pre Amazon vypršal. Skúste neskôr." msgid "Metadata source" msgstr "Zdroj metadat" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " @@ -5018,7 +5081,7 @@ msgid "" msgstr "" "Stiahnuť metadáta a obálky z Douban.com. Užitočné len pre knihy v Čínštine." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -5028,6 +5091,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "Stiahnuť metadáta a obálky z Google Books" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "Veľké" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "Download metadát z isbndb.com" @@ -5098,12 +5202,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "Toto je Amazon Topaz kniha. Nemôže byť spracovaná." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "Toto nie je súbor MOBI. Je to súbor Topaz." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "Toto nie je súbor MOBI." @@ -5136,72 +5240,72 @@ msgid "No details available" msgstr "Podrobnosti nie sú k dispozícii" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "Obsah" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "Titulná strana" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "Register" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "Slovník" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "Poďakovania" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "Zoznam použitej literatúry" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "Tiráž" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "Autorské práva" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "Venovanie" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "Doslov" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "Predslov" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "Zoznam obrázkov" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "Zoznam tabuliek" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "Poznámky" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "Predhovor" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "Hlavný text" @@ -5210,14 +5314,14 @@ msgstr "Hlavný text" msgid "%s format books are not supported" msgstr "Elektronické knihy vo formáte %s nie sú podporované" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -5242,12 +5346,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -5280,7 +5384,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -5405,9 +5509,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -5423,11 +5527,11 @@ msgid "HTML TOC generation options." msgstr "Voľby generovania HTML obsahu" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "Hodnotenie" @@ -5476,6 +5580,10 @@ msgstr "" "Nepodarilo sa nájsť pdftohtml, uistite sa či je cesta k nemu v systémovej " "premennej PATH" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5640,7 +5748,7 @@ msgid "Show this confirmation again" msgstr "Zobraziť toto potvrdenie znovu" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "Je potrebný reštart" @@ -5766,12 +5874,12 @@ msgstr "Skontroluj pridávanie kníh." #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5853,8 +5961,8 @@ msgstr "Pridať do knižnice" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5978,7 +6086,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "Vyberte umiestnenie pre %(title)s.%(fmt)s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -6028,7 +6136,7 @@ msgid "No existing calibre library found at %s" msgstr "V %s nebola nájdená žiadna knižnica Calibre" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "Vyberte si knižnicu" @@ -6042,7 +6150,7 @@ msgstr "Zmeniť/vytvoriť knižnicu" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -6054,12 +6162,12 @@ msgid "Pick a random book" msgstr "Výber náhodnej knihy" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "Rýchle prepnutie" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "Premenovať knižnicu" @@ -6211,7 +6319,7 @@ msgstr "" "databáze?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -6241,7 +6349,7 @@ msgstr "Súbory vo Vašej knižnici súhlasia s informáciami v databáze." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -6284,7 +6392,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "Vytvoriť katalóg kníh vo Vašej knižnici Calibre" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "Nedokážem konvertovať" @@ -6297,89 +6405,102 @@ msgstr "Spúšťam konverziu %d kníh(y)" msgid "Empty output file, probably the conversion process crashed" msgstr "Výstupný súbor je prázdny, konverzný proces pravdepodobne havaroval" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "%(title)s od %(author)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "Vyberte knižnicu" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "Kopírovať do knižnice" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "Kopírovať vybrané knihy do určenej knižnice" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "(po kopírovaní vymazať)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "Nemôžem kopírovať" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "Žiadna knižnica" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "V %s nebola nájdená žiadna knižnica" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "%(num)d kníh skopírovaných do %(loc)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "Nemôžem kopírovať knihy: " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "Automatické spojenie" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " @@ -6389,7 +6510,7 @@ msgstr "" "knižnici. Kliknutie na Ukáž detaily zobrazí ktoré. Toto chovanie je " "ovplyvnené voľbou Automaticky zlúčiť v Nastavenia -> Vloženie kníh." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -6410,6 +6531,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "Ste si istý?" @@ -6488,11 +6610,11 @@ msgid "" msgstr "" "Formát %(fmt)s bude natrvalo odstránený z %(title)s. Ste si istý?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "Vyberte formáty, ktoré chcete odstrániť" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." @@ -6500,7 +6622,7 @@ msgstr "" "Vyberte formáty, ktoré sa nemajú odstrániť.

Uvedomte si, že toto " "nikdy nevymaže všetky formáty z kníh." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" @@ -6508,44 +6630,44 @@ msgstr "" "Všetky formáty vybranej knihy budú z Vašej knižnice " "odstránené.
Metadáta o knihe zostanú zachované. Ste si istý?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "Nemôžem odstrániť knihy" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "Žiadne zariadenie nie je pripojené" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "Hlavná pamäť" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "Pamäťová karta A" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "Pamäťová karta B" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "Žiadne knihy na zmazanie" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "Žiadna z vybraných kníh v zariadení nie je" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "Mažem knihy zo zariadenia." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" @@ -6553,21 +6675,19 @@ msgstr "" "Niektoré z vybraných kníh sú na pripojenom zariadení. Odkiaľ chcete " "knihy odstrániť?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -"Vybrané knihy budú natrvalo odstránené a súbory zmazané z Vašej " -"knižnice Calibre. Ste si istý?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" -"Vybrané knihy budú z Vášho zariadenia natrvalo odstránené. Ste si " -"istý?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 msgid "Start wireless device connection" @@ -6642,12 +6762,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "Zastavujem" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "Zastavujem server, môže to trvať až minútu, čakajte prosím..." @@ -6733,8 +6853,8 @@ msgstr "Stiahnutie metadát zlyhalo" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "Sťahovanie zlyhalo" @@ -6775,7 +6895,7 @@ msgid "Download complete" msgstr "Sťahovanie dokončené" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "Záznam sťahovania" @@ -6865,15 +6985,15 @@ msgstr "" "vybraných kníh budú z Vašej knižnice Calibre natrvalo odstránené.

" "Ste si istý, že chcete pokračovať?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "Použiť zmenené metadáta" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "Vyskytly se chyby" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6980,17 +7100,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6999,185 +7130,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "Vylepšenie &interpunkcie" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -7299,7 +7441,7 @@ msgstr "" "Na zobrazenie ktorých sa to týka, kliknite na tlačidlo Zobraziť podrobnosti." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "Zobraziť podrobnosti o knihe" @@ -7404,7 +7546,7 @@ msgid "this book" msgstr "táto kniha" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "Hľadať %s" @@ -7416,17 +7558,17 @@ msgstr "Obchody" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "Vybrať obchody" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "Nemôžem hľadať" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." @@ -7434,7 +7576,7 @@ msgstr "" "Calibre Vám pomôže nájsť eknihy, ktoré hľadáte prehľadaním webov rôznych " "komerčných aj verejných zdrojov kníh." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " @@ -7444,7 +7586,7 @@ msgstr "" "knihu, ktorú hľadáte za najlepšiu cenu. Získate tiež stav DRM a ostatné " "užitočné informácie." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -7460,11 +7602,11 @@ msgstr "" "vo Vašej čítačke, zvlášť ak niektorá z nich obsahuje DRM." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "Zobraziť súto správu znova" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "O získavaní kníh" @@ -7760,7 +7902,7 @@ msgid "The specified directory could not be processed." msgstr "Zadaný priečinok nemôže byť spracovaný." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "Žiadne knihy" @@ -7987,7 +8129,7 @@ msgid "Click to open" msgstr "Kliknite na otvorenie" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "Id" @@ -7997,7 +8139,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "Kniha %(sidx)s z %(series)s" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "Zbierky" @@ -8031,16 +8173,25 @@ msgstr "Cesta" msgid "Cover size: %(width)d x %(height)d" msgstr "Veľkosť obálky: %(width)d x %(height)d" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "Vymazať formát %s" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "Uložiť formát %s na disk" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "Voľby BibTeX" @@ -8108,7 +8259,7 @@ msgstr "výstup" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -8300,7 +8451,7 @@ msgstr "Pravda" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "Názov" @@ -8646,8 +8797,8 @@ msgid "Style the selected text block" msgstr "Nastaviť štýl označeného bloku textu" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "Normálna" @@ -9614,59 +9765,63 @@ msgstr "Bez &obrázkov" msgid "PDF Output" msgstr "Výstup PDF" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "Veľkosť &papiera:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "V&lastná veľkosť:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "Zachovať &pomer strán obálky" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "&Pätkové písmo:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "&Bezpätkové písmo:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "&Neproporcionálne písmo:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "Š&tandardné písmo:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "Štandardná &veľkosť písma:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -9678,13 +9833,29 @@ msgstr "Štandardná &veľkosť písma:" msgid " px" msgstr " px" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "&Veľkosť neproporcionálneho písma:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9937,6 +10108,10 @@ msgstr "" "vstupnom dokumente. Ak ste s výrazom spokojní, pridajte ho do zoznamu " "výrazov tlačidlom Pridať." +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "Konvertovať" @@ -10522,7 +10697,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "Bol detekovaný %s. Želáte si, aby ho Calibre spravovala?" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "Žiadne vhodné formáty" @@ -10570,67 +10745,67 @@ msgstr "Zariadenie: " msgid " detected." msgstr " nájdené." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "vybrané k odoslaniu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "Žiadne zariadenie" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "Žiadne zariadenie nie je pripojené" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "%(num)i z %(total)i kníh" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "0 of %i kníh" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "Vyberte formát na poslanie do zariadenia" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "Nemôžem odoslať: Žiadne zariadenie nie je pripojené" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "Žiadna karta" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "Nemôžem odoslať: Zariadenie nemá pamäťovú kartu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" "Automaticky konvertovať nasledujúce knihy pred odoslaním do zariadenia?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "Odosielam katalógy do zariadenia" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "Odosielam správy do zariadenia." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "Odosielam knihy do zariadenia." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." @@ -10639,18 +10814,18 @@ msgstr "" "vhodné formáty. Konvertujte najprv knihy do formátu podporovaného Vašim " "zariadením." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "Prekročená kapacita zariadenia" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" "

Knihy nie je možné odoslať do zariadenia pre nedostatok voľného úložného " "priestoru " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "Nesprávny cieľ" @@ -10829,7 +11004,7 @@ msgstr "Zobraziť informácie o zariadení" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -11424,13 +11599,13 @@ msgid "Where do you want to delete from?" msgstr "Odkiaľ chcete vymazať?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "Knižnica" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "Zariadenie" @@ -11466,8 +11641,8 @@ msgid "Location" msgstr "Umiestnenie" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -11486,13 +11661,13 @@ msgstr "%(curr)s (bolo %(initial)s)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "Položka je prázdna" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "Položka nemôže byť nastavená na Nič. Vymažte ju namiesto toho." @@ -11599,7 +11774,7 @@ msgstr "Odkaz" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "Neboli nájdené žiadne výsledky" @@ -11647,12 +11822,12 @@ msgid "Copy to author" msgstr "Kopírovať do autora" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "Neplatné meno autora" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "Meno autora nemôže obsahovať znaky &." @@ -11753,40 +11928,40 @@ msgstr "&Skryť všetky úlohy" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "&Kopírovať do schránky" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "Zobraziť &podrobnosti" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "Skryť &podrobnosti" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "Zobraziť o tejto chybe podrobnú informáciu" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "Skopírované" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "Zobraziť protokol" @@ -12729,6 +12904,7 @@ msgstr "Zastavujem..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -12767,12 +12943,12 @@ msgstr "Položky" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "Hľadať" @@ -13415,12 +13591,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "Číslo portu musí byť medzi 8000 a 32000." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "Pri spustení bezdrôtového zariadenia sa vyskytol problém" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "Ovládač bezdrôtového zariadenia sa nespustil. Vypísal \"%s\"" @@ -13478,6 +13654,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "Po štarte Calibre &automaticky povoliť pripojenia" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "Vydavatelia" @@ -13492,6 +13669,7 @@ msgstr "Názov kategórie pre vyhľadávanie: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "Neplatný názov" @@ -14406,7 +14584,7 @@ msgid "&Shortcut:" msgstr "&Skratka:" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "Dokončené" @@ -14450,7 +14628,7 @@ msgstr "Hľadať skratku podľa názvu" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "Žiadne zhody" @@ -14460,48 +14638,52 @@ msgstr "Žiadne zhody" msgid "Could not find any shortcuts matching %s" msgstr "Nemôžem nájsť žiadnu skratku vyhovujúcu %s" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "Vysunúť toto zariadenie" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "Konfigurovať toto zariadenie" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "Zobraziť knihy v knižnici Calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "Zobraziť knihy v hlavnej pamäti zariadenia" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "Zobraziť knihy na pamäťovej karte A" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "Zobraziť knihy na pamäťovej karte B" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "Odstrániť knižnicu" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "dostupné" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "Rozšírené hľadanie" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "Shift+Ctrl+F" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" @@ -14509,19 +14691,19 @@ msgstr "" "

Prehľadať zoznam kníh podľa názvu, autora, vydavateľa, značiek, " "komentárov, atď.

Slová oddelené medzerou sú vyhľadávané súčasne" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "&Hľadaj!" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "Spustiť rýchle hľadanie (môžete tiež stlačiť klávesu Enter)" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "Zrušiť rýchle hľadanie" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "Kopírovať aktuálny hľadaný text (namiesto názvu hľadania)" @@ -14534,32 +14716,32 @@ msgstr "hviezdičiek" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "V zariadení" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "Veľkosť (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "Zmenené" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "Názov vyhľadávania je \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "UUID tejto knihy je \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -14570,31 +14752,31 @@ msgstr "" "Nemôžem zmeniť umiestnenie tejto knihy na disku. Nie je otvorená iným " "programom?" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "Zlyhalo nastavenie dát" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" "Nedokážem nastaviť údaje. Kliknite na Zobraziť podrobnosti a uvidíte prečo." -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "V knižnici" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "Veľkosť" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "Označené na zmazanie" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "Dvojkliknite na upraviť ma

" @@ -14701,7 +14883,7 @@ msgid "Previous Page" msgstr "Predchádzajúca strana" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -15238,7 +15420,7 @@ msgid "Edit Metadata" msgstr "Upraviť metadáta" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -15391,15 +15573,15 @@ msgstr "&Komentáre" msgid "Basic metadata" msgstr "Základné metadáta" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "Má obálku" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "Má sumár" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -15410,29 +15592,29 @@ msgstr "" "Pri označení \"nemá obálku\" sa niekedy pri \n" "sťahovaní obálka podarí nájsť a naopak." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "Viď. na" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "Calibre sťahuje metadáta z: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "Prosím čakajte" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "Dotaz: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" "Stiahnutie metadát zlyhalo. Detaily zobrazíte kliknutím na Zobraziť " "podrobnosti" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -15444,41 +15626,45 @@ msgstr "" "jedno charakteristické slovo z názvu.

Kompletný výpis zobrazíte kliknutím " "na Zobraziť podrobnosti.." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "Aktuálna obálka" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "Hľadá sa..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "Sťahujem obálky pre %s, prosím čakajte..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" "Stiahnutie obálok zlyhalo. Detaily po kliknutí na Zobraziť podrobnosti.." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "Nemôžem nájsť žiadne obaly pre %s" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -"Nájdených %(num)d obálok k %(title)s. Vyberte tú, ktorá sa Vám " -"najviac páči." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "Sťahujem metadáta..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "Sťahujem obálku..." @@ -15659,9 +15845,9 @@ msgid "The Add &Process" msgstr "Proces &pridávania" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" -"Pri automatickom pridávaní ignorovať súbory s nasledujúcimi príponami " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 msgid "" @@ -15712,34 +15898,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "&Automatické pridávanie" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "Vysoká" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "Nízka" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "Veľmi nízka" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "Zhutniť metadáta" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "Štandardné" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "Všetko na jednom" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "Všetky potvrdzovacie dialógy boli znovunastavené" @@ -15792,18 +15978,15 @@ msgid "Job &priority:" msgstr "&Priorita úlohy:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" -msgstr "Použiť nasledujúce obmedzenia pri otvorení aktuálnej knižnice:" +msgid "Virtual library to apply when the current library is opened:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" -"Použiť tieto obmedzenia pri spustení Calibre pri použití aktuálnej knižnice, " -"alebo tiež pri prepnutí do tejto knižnice. Uvedomte si, že toto nastavenie " -"sa týka konkrétnej knižnice. " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170 msgid "Edit metadata (single) layout:" @@ -16799,10 +16982,6 @@ msgstr "Vyp" msgid "Small" msgstr "Malé" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "Veľké" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "Stredné" @@ -16820,7 +16999,7 @@ msgid "Never" msgstr "Nikdy" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "Podľa prvého písmena" @@ -17945,20 +18124,20 @@ msgstr "" "jednotlivé zariadenie v zásuvnom module zariadenia v Nástroje->Rozšírené-" ">Moduly" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "Nepodarilo sa spustiť server obsahu" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "Záznam o chybách:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "Záznam o prístupe:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "Aby sa zmeny prejavili, je potrebné reštartovať server" @@ -17993,23 +18172,19 @@ msgid "Max. &OPDS items per query:" msgstr "Max. položiek &OPDS na dotaz:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" -msgstr "Max. &nezoskupených OPDS položiek:" +msgid "Max. &ungrouped items:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" -msgstr "Aplikované obmedzenie (uložené hľadania):" +msgid "Virtual library to apply:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" -"Obmedzenie (na základe uloženého hľadania) obmedzí zoznam kníh dostupných " -"cez server obsahu len na také, ktoré vyhovujú hľadaniu. Toto nastavenie " -"platí pre konkrétnu knižnicu (tzn. pre rôzne knižnice môžete mať rozdielne " -"obmedzenia)." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 msgid "" @@ -18468,39 +18643,49 @@ msgstr "Obnoviť &východzie" msgid "Apply any changes you made to this tweak" msgstr "Použiť všetky zmeny, ktoré ste urobili v tomto vylepšení" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" +msgstr "Uložiť hľadanie" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 msgid "Delete current search" msgstr "Odstrániť aktuálne hľadanie" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 msgid "No search is selected" msgstr "Žiadne hľadanie nie je vybrané" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "Vybrané hľadanie bude natrvalo odstránené. Ste si istý?" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "Hľadať (pre rozšírené vyhľadávanie kliknite na tlačidlo vľavo)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "Začať hľadanie" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "Povoliť, alebo zakázať zvýrazňovanie hľadania." -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "Uložené hľadania" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "Vyberte uložené hľadanie, alebo zadajte názov uloženého hľadania" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." @@ -18508,47 +18693,185 @@ msgstr "" "Uložiť aktuálne hľadanie pod názvom zobrazeným v obdĺžniku. Stlačte a držte " "pre vyskakovacie menu volieb." -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "Uložiť hľadanie" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "Odstrániť uložené hľadanie" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "Spravovať uložené hľadania" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" -msgstr "*Aktuálne hľadanie" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" -msgstr "Obmedziť na" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "(všetky knihy)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -"Zobrazenie kníh bude obmedzené len na knihy vyhovujúce vybranému uloženému " -"hľadaniu" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " -msgstr " alebo hľadanie " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "({0} z {1})" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "({0} zo všetkých)" @@ -18844,32 +19167,32 @@ msgstr "Stiahnuť..." msgid "Goto in store..." msgstr "Ísť do obchodu..." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "Nákup v tomto obchode podporuje vývojár Calibre: %s

" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "Prispôsobiť hľadanie pre získanie kníh" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "Konfigurovať hľadanie" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "Namôžem nájsť žiadne knihy vyhovujúce Vašej požiadavke" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "Vyberte formát na stiahnutie do Vašej knižnice." @@ -18992,47 +19315,47 @@ msgstr "Obnoviť" msgid "%p%" msgstr "%p%" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "Názov združeného vyhľadávacieho termínu je \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "Zmena autorov množstva kníh môže trvať dlhšiu dobu. Ste si istý?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" "Zmena metadát takéhoto množstva kníh môže trvať dlhšiu dobu. Ste si istý?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "Hľadania" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "Premenovať užív. kategóriu" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "Pri premenovaní užívateľských kategórií nemôžte v názve použiť bodky" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "Názov %s je už použitý" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "Duplicitný názov hľadania" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "Názov uloženého hľadania %s je už použitý." @@ -19054,13 +19377,13 @@ msgid "Manage Tags" msgstr "Spravovať značky" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "Spravovať užívateľské kategórie" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "Spravovať uložené hľadania" @@ -19161,7 +19484,7 @@ msgid "Alter Tag Browser" msgstr "Upraviť prehliadač značiek" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "Zoradiť podľa" @@ -19204,138 +19527,138 @@ msgstr "" "Všetky z týchto category_managers sú dostupné pravým kliknutím na položku v " "prehliadač značiek hore" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "Premenovať %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "Odstrániť %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "Upraviť triedenie pre %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "Upraviť odkaz pre %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "Pridať %s do užívateľskej kategórie" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "Potomok od %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "Odstrániť hľadanie %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "Odstrániť %(item)s z kategórie %(cat)s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "Hľadať okrem %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "Pridať podkategóriu do %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "Odstrániť užívateľskú kategóriu %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "Skryť kategóriu %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "Zobraziť kategóriu" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "Hľadať knihy z kategórie %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "Hľadať knihy mimo kategórie %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "Spravovať %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "Zobraziť všetky kategórie" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "Zmeniť schému pod-kategórií" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "Zakázať" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "Oddiel" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "Prvé písmeno je použiteľné len pri triedení podľa názvu" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -19346,56 +19669,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -19437,73 +19760,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -19511,134 +19845,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -19721,31 +20100,31 @@ msgstr "" "Nasledujúce knihy už boli prevedené do formátu %s. Želáte si ich opätovne " "skonvertovať?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "&Prispejte na vývoj calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "&Obnoviť" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "Vysunúť pripoj&ené zariadenie" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "Ukončiť Calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "Vymazať aktuálne hľadanie" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "Ladiaci režim" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -19755,11 +20134,11 @@ msgstr "" "Spustili ste Calibre v ladiacom režime. Denník ladenia bude po ukončení " "Calibre dostupný v súbore %s

Denník sa zobrazí automaticky." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "Nepodarilo sa spustiť server obsahu" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -19781,16 +20160,16 @@ msgstr "" "pokúsila automaticky znovu vytvoriť? Znovuvytvorenie nemusí byť v celom " "rozsahu úspešné." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "Chyba konverzie" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "

Konverzia zlyhala: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -19829,23 +20208,23 @@ msgstr "" "problémy.\n" " " -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "Konverzia zlyhala" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "Recepty vypnuté" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "Zlyhalo" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "Prebieha spracovanie úloh. Určite chcete program ukončiť?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" @@ -19855,11 +20234,11 @@ msgstr "" " Ukončenie môže spôsobiť poškodenie zariadenia.
\n" " Ste si istý, že chcete ukončiť?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "Aktívne úlohy" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -20422,29 +20801,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "Priblíž&iť" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "&Odialiť" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "&Uložiť ako" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "Zvoľte súbor do ktorého uložiť" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "Zobraziť obrázok: %s" @@ -21884,20 +22263,20 @@ msgstr "" "príslušnej sekcii Používateľskej príručky. Štandardne výstup nebude " "filtrovaný." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" "Maximálna šírka riadka výstupu. Štandardne sa použije šírka obrazovky." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" "Reťazec, ktorým budú oddelené jednotlivé polia. Štandardne je to medzera." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." @@ -21905,15 +22284,15 @@ msgstr "" "Prefix všetkých ciest k súborom. Štandardne sa použije absolútna cesta k " "adresáru s knižnicou." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "Neplatné polia. Dostupné polia sú:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "Neplatné pole triedenia. Dostupné polia sú:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" @@ -21921,13 +22300,13 @@ msgstr "" "Nasledovné knihy neboli pridané, lebo sa už nachádzajú v databáze (skúste " "možnosť --duplicates):" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "Pridané knihy s id: %s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -21940,7 +22319,7 @@ msgstr "" "Pridá uvedené súbory ako knihy do databázy. Vstupom môžu byť aj adresáre,\n" "relevantné možnosti sú uvedené nižšie.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" @@ -21948,11 +22327,11 @@ msgstr "" "Považovať každý adresár za jednu knihu a všetky súbory v ňom za rôzne " "formáty tej knihy" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "Spracovať adresáre rekurzívne" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." @@ -21960,43 +22339,43 @@ msgstr "" "Pridať knihy do databázy aj keď sa v nej už nachádzajú. Prodovnávajú sa " "názvy kníh." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "Pridať prázdnu knihu (knihu bez formátov)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "Nastaviť názov pridanej knihy(kníh)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "Nastaviť autorov pridávaných kníh" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "Nastaviť ISBN pridávaných kníh" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "Nastaviť značky pridávaných kníh" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "Nastaviť série pridávaných kníh" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "Nastaviť číslo v rámci série pridávaných kníh" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "Musíte zadať minimálne jeden súbor, ktorý sa má pridať" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -22013,33 +22392,38 @@ msgstr "" "Napr. 23,34,57-85 (ak sa zadá rozsah, podledné číslo rozsahu nie je " "zahrnuté).\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "Musíte zadať minimálne jednu knihu, ktorá sa má odstrániť" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" -"%prog add_format [možnosti] ID súbor\n" -"\n" -"Pridá elektronickú knihu v uvedenom súbore k dostupným formátom knihy s " -"identifikačným kódom ID. Identifikačný kód knihy získate pomocou príkazu " -"\"list\". Ak daný formát už existuje, bude nahradený.\n" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "Musíte zadať identifikačný kód a súbor s elektronickou knihou" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "Súbor s elektronickou knihou musí mať príponu" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -22056,11 +22440,11 @@ msgstr "" "prípona súboru, napríklad LRF, TXT alebo EPUB. Ak daný formát neexistuje, " "príkaz bude ignorovaný.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "Musíte zadať identifikačný kód a formát" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -22075,15 +22459,15 @@ msgstr "" "Zobrazí metadáta z databázy calibre pre knihu s identifikačným kódom ID.\n" "Identifikačný kód knihy získate pomocou príkazu \"list\".\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "Vypísať metadáta vo formáte OPF (XML)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "Musíte zadať identifikačný kód" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -22098,7 +22482,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -22108,40 +22492,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "Názov poľa" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "Ako prvý argument musíte uviesť id záznamu" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "Musíte uviesť buď pole, alebo súbor opf" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "Súbor OPF %s neexistuje" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "%s nie je známe pole" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -22159,30 +22543,30 @@ msgstr "" "\n" "(v súbore opf). ID čísla môžte distiť pomocou príkazu list.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" "Exportovať všetky knihy v databáze, bez ohľadu na zoznam identifikačných " "kódov." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "Exportovať knihy do určeného adresára. Štandardne" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "Exportovať všetky knihy do jedného adresára" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "Zadanie tohoto prepínača toto chovanie vypne." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "Musíte zadať identifikačné kódy alebo možnosť %s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -22200,7 +22584,7 @@ msgstr "" "názov je názov stĺpca pre ľudí.\n" "typdát je jedno z: {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." @@ -22208,7 +22592,7 @@ msgstr "" "Tetnto stĺpec obsahuje údaje typu značky (tzn. viac hodnôt oddelených " "čiarkami). Platí len ak je typdát text." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -22228,11 +22612,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "Musíte zadať označenie, názov a typdát." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -22249,7 +22633,7 @@ msgstr "" " Voľby ovplyvňujú zobrazenie položiek vo vygenerovanom katalógu.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" @@ -22259,7 +22643,7 @@ msgstr "" "Ak je zadané, --search sa ignoruje.\n" "Východzie: všetky" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" @@ -22269,17 +22653,17 @@ msgstr "" "pozrite dokumentáciu k hľadaniu v Užívateľskej príručke.\n" "východzie: bez filtrovania" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" "Zobraziť podrobné výstupné informácie. Užitočné pri hľadaní chýb v programe" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "Chyba: Musíte zadať výstupný súbor pre katalóg" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -22298,7 +22682,7 @@ msgstr "" " Zoznam vlastných stĺpcov získate príkazom custom_columns.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." @@ -22306,11 +22690,11 @@ msgstr "" "Ak stĺpec obsahuje viac hodnôt, pridaj tieto k existujúcim, namiesto ich " "nahradenia." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "Chyba: Musíte zadať názov poľa, id a hodnotu" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -22324,27 +22708,27 @@ msgstr "" " Zoznam dostupných vlastných stĺpcov. Zobrazí označenia stĺpca a id-čka.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "Zobraziť podrobnosti každého stĺpca." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "a" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -22360,15 +22744,15 @@ msgstr "" " Dostupné stĺpce si môžete zobraziť príkazom custom_columns.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "Nepýtať sa na potvrdenie" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "Chyba: Musíte zadať označenie stĺpca" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -22389,41 +22773,41 @@ msgstr "" " Ak skúsite pridať dotaz pod názvom, ktorý už existuje, bude nahradený.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "Chyba: Musíte zadať akciu (pridať|odstrániť|vypísať)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "Názov:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "Hľadaný reťazec:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "Chyba: Musíte zadať názov a hľadaný reťazec" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "pridané" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "Chyba: Musíte zadať názov" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "vymazané" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" "Chyba: Neznáma akcia %s, musí byť jedno z: (pridať|odstrániť|vypísať)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -22437,13 +22821,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -22454,12 +22838,12 @@ msgstr "" "\n" "Vykoná nejaké kontroly v súborovom systéme knižnice. Reporty sú {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "Výstup do CSV" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" @@ -22467,7 +22851,7 @@ msgstr "" "Zoznam reportov oddelených čiarkami.\n" "Východzie: všetky" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" @@ -22475,7 +22859,7 @@ msgstr "" "Zoznam ignorovaných prípon oddelených čiarkami.\n" "Východzie: všetky" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" @@ -22483,11 +22867,11 @@ msgstr "" "Zoznam ignorovaných názvov oddelených čiarkami.\n" "Východzie: všetky" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "Neznámy report kontroly" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -22514,19 +22898,19 @@ msgstr "" "do tej miery, do akej sú vyčerpávajúce údaje v súboroch OPF.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" "Skutočne vykonať obnovu. Príkaz sa nespustí, dokiaľ túto voľbu nezadáte." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "Na spustenie obnovy musíte zadať voľbu %s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -22538,7 +22922,7 @@ msgstr "" "Vytvorí zostavu z informácií o kategóriách v databáze. Informácie\n" "sú ekvivalentné s tým, čo sa zobrazuje v paneli značiek.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" @@ -22546,7 +22930,7 @@ msgstr "" "Zobrazí len počet položiek v kategórii, namiesto počtov na pložku v rámci " "kategórie." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." @@ -22554,7 +22938,7 @@ msgstr "" "Znak, do ktorého uzatvoriť hodnotu kategórie v režime CSV. Východzie sú " "úvodzovky (\")." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" @@ -22562,15 +22946,15 @@ msgstr "" "Zoznam názvov kategórií pre vyhľadávanie oddelený čiarkou.\n" "Štandardne: všetky" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "Reťazec na oddelenie polí v režime CSV. Východzia je čiarka." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "POLOŽKY KATEGÓRIE" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -22604,32 +22988,23 @@ msgstr "" "Štítok musí začínať písmenom a môže obsahovať len malé písmená, čísla a " "podčiarky" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "nastavenia obnovené " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "vytváram vlastný stĺpec " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" "

Migrujem starú databázu do knižnice elektronických kníh v %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "Kopírujem %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "Zmenšujem databázu" @@ -22905,20 +23280,20 @@ msgstr "" "Apache/nginx/atď na tento server." #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "Všetky knihy" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "Najnovšie" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "Načítavam, prosím čakajte" @@ -22941,7 +23316,7 @@ msgid "Browsing %d books" msgstr "Prechádzať %d kníh" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "Priemerné hodnotenie" @@ -22950,98 +23325,98 @@ msgstr "Priemerné hodnotenie" msgid "%(prefix)s: %(rating).1f stars" msgstr "%(prefix)s: %(rating).1f hviezdičiek" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "%d hviezdičiek" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "Popularita" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "knižnica" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "domov" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "Prechádzať knihy podľa" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "Zvoľte kategóriu na prechádzanie:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "Prechádzanie podľa" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "Hore" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "v" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "Knihy v" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "Iné formáty" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "Čítať %(title)s vo formáte %(fmt)s" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "Získať" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "Podrobnosti" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "Trvalý odkaz" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "Trvalý odkaz na túto knihu" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "Táto kniha bola odstránená" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "v hľadaní" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "Vyhovujúce knihy" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -23062,23 +23437,23 @@ msgstr "" "\n" "Rozhranie OPDS je automaticky propagované cez BonJour.\n" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "Cesta k priečinku knižnice poskytovanej cez server obsahu" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "Zapísať PID procesu do určeného súboru" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -"Určí obmedzenia pre toto volanie. Táto voľba nahradí akékoľvek nastavenia " -"knižnice zadané v GUI." -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -24254,10 +24629,6 @@ msgstr "dop." msgid "pm" msgstr "odp." -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -24358,6 +24729,31 @@ msgstr "Kód beží" msgid "Restart console" msgstr "Reštartovať konzolu" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "URL musí mať protokol sftp" @@ -24406,101 +24802,101 @@ msgstr "Zlyhalo stiahnutie %s" msgid "The \"%s\" recipe needs a username and password." msgstr "Recept \"%s\" vyžaduje užívateľské meno a heslo." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "Preberanie ukončené" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "Zlyhalo preberanie nasledovných článkov:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "Zlyhalo preberanie niektorých častí nasledovných článkov:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr " od " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "\tNeplatné odkazy:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "Nemôžem načítať článok" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "Dôvod uvidíte po spustení s -vv" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "Preberám prúdy..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "Získané prúdy z hlavnej stránky" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "Preberám obálku..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "Generujem tiráž..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "Začína preberanie [počet vlákien: %d]..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "Prúdy boli uložené do %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "Nepodarilo sa prevziať obálku: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "Preberám obálku z %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "Obrázok tiráže stiahnutý" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "Články v tomto vydaní: " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "Článok bez názvu" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "Prebratý článok: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "Zlyhalo preberanie článku: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "Preberám prúd" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 msgid "" "Failed to log in, check your username and password for the calibre " "Periodicals service." @@ -24508,7 +24904,7 @@ msgstr "" "Prihlásenie zlyhalo. Skontrolujte Vaše užívateľské meno a heslo pre službu " "Periodiká Calibre." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -24844,14 +25240,9 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" -"Vo východzom nastavení oddeľuje Calibre viacerých autorov znakom &\n" -"a slovami \"and\" a \"with\". Môžete si to prispôsobiť zmenou regulárneho\n" -"výrazu nižšie. Reťazec sa rozdelí čímkoľvek čo bude vyhovovať zadanému\n" -"regulárnemu výrazu.\n" -"Štandardne: r'(?i),?\\s+(and|with)\\s+'" #: /home/kovid/work/calibre/resources/default_tweaks.py:85 msgid "Use author sort in Tag Browser" diff --git a/src/calibre/translations/sl.po b/src/calibre/translations/sl.po index 230e7e6547..11f9cddedd 100644 --- a/src/calibre/translations/sl.po +++ b/src/calibre/translations/sl.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: calibre 0.8.12\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" -"PO-Revision-Date: 2013-03-11 23:36+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" +"PO-Revision-Date: 2013-04-28 14:45+0000\n" "Last-Translator: Martin Srebotnjak \n" "Language-Team: Martin Srebotnjak \n" "MIME-Version: 1.0\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || " "n%100==4 ? 3 : 0);\n" -"X-Launchpad-Export-Date: 2013-03-30 05:21+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Generator: Launchpad (build 16580)\n" +"X-Launchpad-Export-Date: 2013-04-29 04:37+0000\n" "X-Poedit-Country: SLOVENIA\n" "X-Poedit-Language: Slovenian\n" "X-Poedit-SourceCharset: iso-8859-1\n" @@ -27,16 +27,16 @@ msgid "Does absolutely nothing" msgstr "Ne stori ničesar" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -91,8 +91,8 @@ msgstr "Ne stori ničesar" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -103,9 +103,9 @@ msgstr "Ne stori ničesar" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -114,7 +114,7 @@ msgstr "Ne stori ničesar" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -127,7 +127,7 @@ msgstr "Ne stori ničesar" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -149,13 +149,13 @@ msgstr "Ne stori ničesar" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -164,33 +164,33 @@ msgstr "Ne stori ničesar" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -335,73 +335,73 @@ msgstr "Nastavi metapodatke v %s datotekah" msgid "Set metadata from %s files" msgstr "Nastavi metapodatke iz %s datotek" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "Dodajte knjige v calibre ali priklopljeno napravo" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "Ustvarite katalog knjig v svoji knjižnici calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "Ustvarite katalog knjig v knjižnici calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "Pretvorite knjige v različne zapise e-knjig" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" -msgstr "" +msgstr "Uredite kazalo vsebine v svojih knjigah" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "Izbrišite knjige iz knjižnice calibre ali povezane naprave" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "Uredite metapodatke knjig v svoji knjižnici calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "Preberite knjige iz svoje knjižnice calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "Prenesite novice z interneta v zapisu e-knjige" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Hitro pokaži seznam sorodnih knjig" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "Izvozite knjige iz svoje knjižnice calibre na trdi disk" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "Pokaži podrobnosti knjige v ločenem oknu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "Ponovno zaženi calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "Odpri mapo, ki vsebuje datoteke knjig iz knjižnice calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "Pošlji knjige na povezano napravo" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" @@ -409,43 +409,43 @@ msgstr "" "Pošlji knjige po e-pošti ali spletu in se poveži tudi v iTunes ali mape " "računalnika, kot da so naprave" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "Prebrskajte Uporabniški priročnik za calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "Prilagodi calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "Enostavno poiščite knjige, podobne trenutno izbrani" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "Preklopi med različnimi knjižnicami calibre in opravi vzdrževanje" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "Kopirajte knjige z naprave v svojo knjižnico calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "Uredite zbirke, v katerih so knjige postavljene na vaši napravi" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "Kopirajte knjigo iz ene knjižnice calibre v drugo" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -"Opravite manjše prilagoditve datotekam epub ali htmlz v svoji knjižnici " -"calibre" +"Opravite manjše prilagoditve datotek epub ali htmlz v svoji knjižnici " +"calibre." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" @@ -453,57 +453,57 @@ msgstr "" "Najdi naslednji ali prejšnji zadetek pri iskanju po svoji knjižnici calibre " "v poudarjenem načinu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "Izberi naključno knjigo iz knjižnice calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "Poiščite knjige v različnih prodajalnah knjig" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "Poišči nove vtičnike calibre ali posodobi obstoječe" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Videz in občutek" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Vmesnik" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" "Izgled in občutek vmesnika programa calibre si prilagodite svojemu okusu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "Vedenje" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "Spremenite odzivanje programa calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Dodajte lastne stolpce" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "Dodajte/odstranite lastne stolpce v seznamu knjig calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Orodna vrstica" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -511,64 +511,64 @@ msgstr "" "Prilagodite orodne vrstice in kontekstne menije, spreminjajte dostopna " "dejanja v obeh" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "Iskanje v teku ..." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "Prilagodite iskanje po knjigah v calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "Vhodne možnosti" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Pretvorba" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "Nastavite možnosti pretvorbe za posamezne vrste vhodnega zapisa" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Splošne možnosti" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "Nastavite možnosti pretvorbe, skupne vsem vrstam zapisov" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "Izhodne možnosti" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "Nastavite možnosti pretvorbe za posamezne vrste izhodnega zapisa" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "Dodajanje knjig" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "Uvozi/izvozi" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "Nadzirajte branje metapodatkov iz datotek ob dodajanju knjig" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "Shranjevanje knjig na disk" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -576,50 +576,50 @@ msgstr "" "Nadzirajte, kako calibre izvaža datoteke iz lastne zbirke podatkov na disk s " "funkcijo Shrani na disk." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "Pošiljanje knjig na naprave" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "Nadzirajte, kako calibre prenese datoteke v vaš bralnik e-knjig" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "Pretičniki metapodatkov" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "Spreminjanje polj metapodatkov pred shranjevanjem/pošiljanjem" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "Funkcije predlog" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "Napredno" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "Ustvarite lastne funkcije predlog" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "Souporaba knjig prek e-pošte" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "Souporaba" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -627,11 +627,11 @@ msgstr "" "Nastavitev souporabe knjig po e-pošti. Lahko uporabite za samodejno " "pošiljanje prenesenih novic na svoje naprave" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "Souporaba prek spleta" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -639,20 +639,20 @@ msgstr "" "Nastavitev strežnika calibre, ki vam bo omogočil dostop do lastne knjižnice " "calibre prek interneta, z vsake naprave" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "Prenos metapodatkov" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "Nadzirajte, kako calibre prenese metapodatke o e-knjigi z medmrežja" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "Prezrte naprave" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." @@ -660,38 +660,38 @@ msgstr "" "Nadzirajte, katere naprave naj program calibre prezre, ko so povezane z " "računalnikom." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Vstavki" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" "Dodajanje/odstranjevanje/spreminjanje različnih funkcionalnosti calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "Prilagoditve" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "Podrobna nastavitev obnašanja calibre v različnih kontekstih" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "Tipkovnica" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "Prilagodite tipke za bližnjice, ki jih uporablja calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Razno" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "Razne naprednejše nastavitve" @@ -994,8 +994,8 @@ msgstr "Omogoči imenovan vtičnik" msgid "Disable the named plugin" msgstr "Onemogoči imenovani vtičnik" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -1005,11 +1005,22 @@ msgstr "Onemogoči imenovani vtičnik" msgid "Path to library too long. Must be less than %d characters." msgstr "Pot do knjižnice je predolga. Imeti mora manj kot %d znakov." -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -1021,26 +1032,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "Glavni pomn." #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "Kartica A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "Kartica B" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1053,11 +1064,11 @@ msgstr "Kartica B" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Novice" @@ -1065,14 +1076,14 @@ msgstr "Novice" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "potrjeno" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "da" @@ -1080,7 +1091,7 @@ msgstr "da" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "ne" @@ -1088,45 +1099,70 @@ msgstr "ne" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "nepotrjeno" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "danes" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "včeraj" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" -msgstr "" +msgstr "tamesec" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1148,29 +1184,29 @@ msgstr "Dnevnik razhroščevanja" #: /home/kovid/work/calibre/src/calibre/debug.py:272 #, python-format msgid "No plugin named %s found" -msgstr "" +msgstr "Ni vtičnika z imenom %s" #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:19 msgid "Communicate with Android phones." msgstr "Povezovanje s telefoni Android." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "Povezovanje s telefoni S60." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "Povezovanje s tablicami WebOS." @@ -1238,7 +1274,7 @@ msgstr "Povezovanje z iTunes/iBooks." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:214 msgid "Apple iDevice detected, launching iTunes, please wait ..." -msgstr "" +msgstr "Zaznana iNaprava Apple, zaganjanje iTunes, počakajte trenutek ..." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:216 msgid "" @@ -1303,8 +1339,8 @@ msgstr "" "Kliknite 'Pokaži podrobnosti' za seznam." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "Katalog" @@ -1358,10 +1394,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1402,6 +1438,7 @@ msgstr "Dodajanje knjig na seznam metapodatkov naprave..." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1468,7 +1505,7 @@ msgstr "Povezovanje z bralnikom e-knjig EB600." #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:56 msgid "Communicate with the Tolino Shine reader." -msgstr "" +msgstr "Povezovanje z bralnikom Tolino Shine." #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:214 msgid "Communicate with the Astak Mentor EB600" @@ -1480,11 +1517,11 @@ msgstr "Povezovanje z bralnikom PocketBook 301." #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:254 msgid "Communicate with the PocketBook 602/603/902/903/Pro 912 reader." -msgstr "" +msgstr "Povezovanje z bralnikom PocketBook 602/603/902/903/Pro 912." #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:274 msgid "Communicate with the PocketBook 622 reader." -msgstr "" +msgstr "Povezovanje z bralnikom PocketBook 622." #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:287 msgid "Communicate with the PocketBook 360+ reader." @@ -1550,7 +1587,7 @@ msgstr "Povezovanje z bralnikom e-knjig Hanvon N520." #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:48 msgid "Communicate with the Kibano eBook reader." -msgstr "" +msgstr "Povezovanje z bralnikom e-knjig Kibano." #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:61 msgid "Communicate with The Book reader." @@ -1652,7 +1689,7 @@ msgstr "Mesto %(dl)d • %(typ)s
" #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:289 msgid "Communicate with the Kindle 2/3/4/Touch/PaperWhite eBook reader." -msgstr "" +msgstr "Povezovanje z bralnikom e-knjig Kindle 2/3/4/Touch/PaperWhite." #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:301 msgid "Send page number information when sending books" @@ -1725,17 +1762,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "Naloži črno-bele naslovnice" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "Pokaži pretekle knjige" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1743,12 +1780,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "Pokaži predoglede" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1756,7 +1793,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "Pokaži priporočene" @@ -1768,7 +1805,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "Poskusi podpirati novejše strojno programje" @@ -1781,10 +1818,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1845,67 +1884,69 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" "Kobo Touch od različice strojnega programja V2.0.0 podpira knjižne police." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "Ustvari knjižne police" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "Izbriši prazne knjižne police" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" -msgstr "" +msgstr "Naloži naslovnice knjig na napravo" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" +"Ob prenosu knjig na napravo naloži tudi njihove naslovnice iz knjižnice " +"calibre." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" -msgstr "" +msgstr "Ohrani razmerje stranic naslovnice" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1913,7 +1954,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1922,11 +1963,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1946,65 +1987,65 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "Povezovanje s Sweex/Kogan/Q600/Wink." #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "Povezovanje z bralnikom Pandigital Novel." -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "Povezovanje z VelocityMicro." -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "Povezovanje z napravo GM2000." -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "Povezovanje z bralnikom Acer Lumiread." -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "Povezovanje z bralnikom Aluratek Color." -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "Povezovanje z bralnikom Trekstor." -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "Povezovanje z bralnikom EEE." -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "Povezovanje z tabličnim računalnikom Adam." -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "Povezovanje z bralnikom Nextbook." -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "Povezovanje z bralnikom Moovybook." -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "Povezovanje z bralnikom COBY." -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "Povezovanje z Ex124G." -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/mtp/base.py:29 msgid "MTP Device" -msgstr "" +msgstr "Naprava MTP" #: /home/kovid/work/calibre/src/calibre/devices/mtp/base.py:31 msgid "Communicate with MTP devices" -msgstr "" +msgstr "Povezovanje z napravami MTP." #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:167 #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:960 @@ -2090,7 +2131,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/mtp/windows/driver.py:61 msgid "MTP devices are not supported on Windows XP" -msgstr "" +msgstr "Naprave MTP v Windows XP niso podprte." #: /home/kovid/work/calibre/src/calibre/devices/mtp/windows/driver.py:69 msgid "" @@ -2119,7 +2160,7 @@ msgstr "Nook" msgid "Communicate with the Nook eBook reader." msgstr "Povezovanje z bralnikom e-knjig Nook." -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "Povezovanje s tabličnimi bralniki e-knjig Nook Color, TSR in Tablet." @@ -2618,7 +2659,7 @@ msgid "There is insufficient free space on the storage card" msgstr "Na spominski kartici primanjkuje prostora" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "Upodobljen %s" @@ -2981,23 +3022,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "Datoteka CSS, uporabljena za izvoz namesto privzete datoteke" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3295,21 +3336,26 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" +msgstr "noge" + #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." -msgstr "" +msgid "headers" +msgstr "glave" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 msgid "" "Specify the character encoding of the output document. The default is cp1252." msgstr "" +"Določite kodiranje znakov v izhodnem dokumentu. Privzeto je to cp1252." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:29 msgid "" @@ -3320,7 +3366,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/recipe_input.py:22 msgid "Download periodical content from the internet" -msgstr "" +msgstr "Prenesi vsebino periodike z interneta" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/recipe_input.py:37 msgid "" @@ -4341,7 +4387,7 @@ msgstr "" msgid "Set book ID" msgstr "Nastavi ID knjige" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4365,27 +4411,27 @@ msgstr "Ne" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "Naslov" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "Avtor(ji)" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "Založnik" @@ -4421,13 +4467,14 @@ msgstr "Opombe" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "Značke" @@ -4436,9 +4483,10 @@ msgstr "Značke" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4450,7 +4498,7 @@ msgstr[2] "Zbirke" msgstr[3] "Zbirke" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4462,8 +4510,8 @@ msgstr "Časovni žig" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "Objavljeno" @@ -4582,60 +4630,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "Ovitek" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "Prenese metapodatke in naslovnice z Amazona" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "ZDA" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "Francija" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "Nemčija" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "VB" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "Italija" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" -msgstr "" +msgstr "Japonska" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 -msgid "Brazil" -msgstr "" +msgstr "Španija" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +msgid "Brazil" +msgstr "Brazilija" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "Izberite spletišče Amazon:" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4643,13 +4691,31 @@ msgstr "" msgid "Metadata source" msgstr "Vir metapodatkov" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4659,6 +4725,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "Prenese metapodatke in naslovnice z Google Knjige" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "Velikost naslovnice" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "Veliko" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "Prenese metapodatke z isbndb.com" @@ -4718,14 +4825,14 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "To je knjiga Amazon Topaz. Ni je mogoče obdelati." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." -msgstr "" +msgstr "To ni datoteka MOBI. Gre za datoteko Topaz." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." -msgstr "" +msgstr "To ni datoteka MOBI." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:54 msgid "This file is locked with DRM. It cannot be tweaked." @@ -4750,72 +4857,72 @@ msgid "No details available" msgstr "Podrobnosti ni na voljo" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "Kazalo vsebine" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "Naslovnica" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "Kazalo" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "Slovarček" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "Zahvale" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "Bibliografija" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "Kolofon" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "Avtorske pravice" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "Posvetilo" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "Epigraf" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "Predgovor" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "Seznam ilustracij" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "Seznam tabel" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "Opombe" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "Uvod" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "Glavno besedilo" @@ -4824,14 +4931,14 @@ msgstr "Glavno besedilo" msgid "%s format books are not supported" msgstr "Knjige v zapisu %s niso podprte" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4856,12 +4963,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4894,7 +5001,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4926,7 +5033,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:131 msgid "Metadata updated\n" -msgstr "" +msgstr "Metapodatki posodobljeni\n" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:134 msgid "Setting cover" @@ -5006,12 +5113,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:138 #, python-format msgid "No file named %s exists" -msgstr "" +msgstr "Datoteka z imenom %s ne obstaja." #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:142 #, python-format msgid "No HTML file named %s exists" -msgstr "" +msgstr "Datoteka HTML z imenom %s ne obstaja." #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:152 #, python-format @@ -5019,11 +5126,11 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" -msgstr "" +msgstr "(Neimenovano)" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:187 @@ -5037,11 +5144,11 @@ msgid "HTML TOC generation options." msgstr "Možnosti tvorbe kazala vsebine za HTML" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "Ocena" @@ -5080,12 +5187,16 @@ msgstr "Stranska vrstica" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/outline_writer.py:60 #, python-format msgid "Page %d" -msgstr "" +msgstr "Stran %d" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftohtml.py:71 msgid "Could not find pdftohtml, check it is in your PATH" msgstr "Ni mogoče najti pdftohtml, preverite, če se nahaja v PATH" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "Neimenovano" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5242,7 +5353,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5346,7 +5457,7 @@ msgstr "Dodaj prazno knjigo (vnos knjige brez zapisa)" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:68 msgid "Shift+Ctrl+E" -msgstr "Shift+Ctrl+E" +msgstr "Dvigalka+krmilka+E" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:69 msgid "Add from ISBN" @@ -5358,7 +5469,7 @@ msgstr "Dodaj datoteke obstoječim knjižnim zapisom" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:72 msgid "Shift+A" -msgstr "Shift+A" +msgstr "Dvigalka+A" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:74 msgid "Control the adding of books" @@ -5368,12 +5479,12 @@ msgstr "Nadziraj dodajanje knjig" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5450,8 +5561,8 @@ msgstr "Dodaj v knjižnico" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5573,7 +5684,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5621,7 +5732,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5635,7 +5746,7 @@ msgstr "Zamenjaj/ustvari knjižnico ..." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5647,12 +5758,12 @@ msgid "Pick a random book" msgstr "Izberi naključno knjigo" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "Hitri preklop" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "Preimenuj knjižnico" @@ -5794,7 +5905,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5822,7 +5933,7 @@ msgstr "Datoteke iz vaše knjižnice se ujemajo s podatki v zbirki podatkov." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5863,7 +5974,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "Ustvari katalog knjig v knjižnici calibre" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "Pretvorba ni možna" @@ -5876,96 +5987,109 @@ msgstr "Začetek pretvorbe %d knjig" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "Izberite knjižnico" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "Kopiraj v knjižnico" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "Kopiraj izbrane knjige v navedeno knjižnico" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "(izbriši po kopiranju)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "Ni mogoče kopirati" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "Ni knjižnice" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "Kopiranih %(num)d knjig na/v %(loc)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "Knjig ni mogoče kopirati: " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5984,6 +6108,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "Ste prepričani?" @@ -6058,75 +6183,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "Izberite vrste zapisa za brisanje" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "Knjig ni mogoče izbrisati" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "Nobena naprava ni povezana" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "Glavni pomnilnik" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "Pomnilniška kartica A" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "Pomnilniška kartica B" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "Ni knjig za brisanje" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "Na napravi ni izbranih knjig" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "Brisanje knjig z naprave." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -6202,12 +6329,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "Ustavljanje" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6291,8 +6418,8 @@ msgstr "Metapodatkov ni mogoče prenesti" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "Prenos ni uspel" @@ -6328,7 +6455,7 @@ msgid "Download complete" msgstr "Prenos je dokončan" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6398,15 +6525,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6470,12 +6597,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/next_match.py:26 msgid "Shift+N" -msgstr "Shift+N" +msgstr "Dvigalka+N" #: /home/kovid/work/calibre/src/calibre/gui2/actions/next_match.py:27 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:235 msgid "Shift+F3" -msgstr "Shift+F3" +msgstr "Dvigalka+F3" #: /home/kovid/work/calibre/src/calibre/gui2/actions/open.py:14 msgid "Open containing folder" @@ -6511,17 +6638,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6530,185 +6668,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6719,7 +6868,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:20 msgid "Ctrl+P" -msgstr "Ctrl+P" +msgstr "Krmilka+P" #: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:22 msgid "Change calibre behavior" @@ -6749,7 +6898,7 @@ msgstr "Ni mogoče nastaviti, preden znova ne zaženete calibre." #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 #: /home/kovid/work/calibre/src/calibre/utils/pyconsole/main.py:59 msgid "Ctrl+R" -msgstr "Ctrl+R" +msgstr "Krmilka+R" #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart" @@ -6825,7 +6974,7 @@ msgid "Click the show details button to see which ones." msgstr "Kilknite gum Pokaži podrobnosti, da vidite, za katere gre." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "Pokaži podrobnosti knjige" @@ -6871,7 +7020,7 @@ msgstr "Podobne knjige ..." #: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25 msgid "Alt+A" -msgstr "Alt+A" +msgstr "Izmenjalka+A" #: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25 msgid "Books by same author" @@ -6883,11 +7032,11 @@ msgstr "Knjige iz te zbirke" #: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:27 msgid "Alt+Shift+S" -msgstr "Alt+Shift+S" +msgstr "Izmenjalka+dvigalka+S" #: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:28 msgid "Alt+P" -msgstr "Alt+P" +msgstr "Izmenjalka+P" #: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:28 msgid "Books by this publisher" @@ -6895,7 +7044,7 @@ msgstr "Knjige tega izdajatelja" #: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:29 msgid "Alt+T" -msgstr "Alt+T" +msgstr "Izmenjalka+T" #: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:29 msgid "Books with the same tags" @@ -6930,7 +7079,7 @@ msgid "this book" msgstr "to knjigo" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "Išči %s" @@ -6942,30 +7091,30 @@ msgstr "Trgovine" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "Izberi trgovine" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "Iskati ni mogoče" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6975,11 +7124,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "To sporočilo prikaži znova" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "O funkciji Pridobi knjige" @@ -7018,11 +7167,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:288 msgid "Tweak Book" -msgstr "" +msgstr "Prilagodi knjigo" #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:64 msgid "Choose the format to tweak:" -msgstr "" +msgstr "Izberite zapis, ki ga želite prilagoditi:" #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:74 msgid "" @@ -7131,11 +7280,11 @@ msgstr "T" #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:326 msgid "Cannot tweak Book" -msgstr "" +msgstr "Knjige ni mogoče prilagoditi" #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:339 msgid "Cannot Tweak Book" -msgstr "" +msgstr "Knjige ni mogoče prilagoditi" #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:340 msgid "" @@ -7143,6 +7292,9 @@ msgid "" "\n" "First convert the book to one of these formats." msgstr "" +"Knjiga mora biti v zapisu ePub, HTMLZ ali AZW3, da jo lahko prilagodite.\n" +"\n" +"Najprej pretvorite knjigo v enega od teh zapisov." #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:37 msgid "Read books" @@ -7243,7 +7395,7 @@ msgid "The specified directory could not be processed." msgstr "Navedene mape ni mogoče obdelati." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "Ni knjig" @@ -7453,7 +7605,7 @@ msgid "Click to open" msgstr "Odprite s klikom" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "Id-ji" @@ -7463,7 +7615,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "Zbirke" @@ -7497,16 +7649,25 @@ msgstr "Pot" msgid "Cover size: %(width)d x %(height)d" msgstr "Velikost naslovnice: %(width)d x %(height)d" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "Možnosti BibTeX" @@ -7574,7 +7735,7 @@ msgstr "izhod" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7760,7 +7921,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "Ime" @@ -8100,8 +8261,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "Navadno" @@ -9022,59 +9183,63 @@ msgstr "Brez &slik" msgid "PDF Output" msgstr "Izvoz PDF" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "&Velikost papirja:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "Ohrani &razmerje stranic naslovnice" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -9086,13 +9251,29 @@ msgstr "" msgid " px" msgstr " px" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9333,6 +9514,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "Pretvori" @@ -9903,7 +10088,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "Ni ustreznih zapisov" @@ -9949,83 +10134,83 @@ msgstr "Naprava: " msgid " detected." msgstr " zaznana." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "Ni naprav" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "0/%i knjig" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "Izberite vrsto zapisa, ki jo želite poslati na napravo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "Ni mogoče poslati: ni povezanih naprav" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "Ni kartic" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "Ni mogoče poslati: naprava nima pomnilniške kartice" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" "Želite samodejno pretvoriti naslednje knjige pred prenosom na napravo?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "Pošiljanje katalogov na napravo." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "Pošiljanje novic na napravo." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "Pošiljanje knjig na napravo." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "Na napravi ni več prostora" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" "

Prenos knjig na napravo ni mogoč, ker na napravi ni dovolj prostora " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -10187,7 +10372,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10698,13 +10883,13 @@ msgid "Where do you want to delete from?" msgstr "Od kod želite izbrisati?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "Knjižnica" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "Naprava" @@ -10738,8 +10923,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10758,13 +10943,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10818,7 +11003,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:147 msgid "Ctrl+S" -msgstr "Ctrl+S" +msgstr "Krmilka+S" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/drm_error_ui.py:54 msgid "This book is DRMed" @@ -10863,7 +11048,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "Ni zadetkov" @@ -10911,12 +11096,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "Neveljavno ime avtorja" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10991,7 +11176,7 @@ msgstr "&Ustavi izbrana opravila" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:77 msgid "&Hide selected jobs" -msgstr "" +msgstr "&Skrij izbrana opravila" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:78 msgid "Show job &details" @@ -11007,51 +11192,51 @@ msgstr "Ustavi vsa opravila, ki niso pove&zana z napravo" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:81 msgid "&Hide all jobs" -msgstr "" +msgstr "&Skrij vsa opravila" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "&Kopiraj na odložišče" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "Pokaži po&drobnosti" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "Skrij po&drobnosti" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "Pokaži podrobnosti o tej napaki" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "Kopirano" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "Pokaži zapisnik" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:322 #, python-format msgid "Hide the remaining %d error messages" -msgstr "" +msgstr "Skrij preostalih %d sporočil o napaki" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:61 msgid "Title/Author" @@ -11914,6 +12099,7 @@ msgstr "Prekinjanje ..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11949,12 +12135,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "Najdi" @@ -12530,12 +12716,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "Težava pri zagonu brezžične naprave" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12587,6 +12773,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "Založniki" @@ -12601,6 +12788,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "Neveljavno ime" @@ -13331,7 +13519,7 @@ msgstr "Brskalnik naslovnic" #: /home/kovid/work/calibre/src/calibre/gui2/init.py:116 msgid "Shift+Alt+B" -msgstr "Shift+Alt+B" +msgstr "Dvigalka+izmenjalka+B" #: /home/kovid/work/calibre/src/calibre/gui2/init.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:321 @@ -13340,7 +13528,7 @@ msgstr "Brskalnik značk" #: /home/kovid/work/calibre/src/calibre/gui2/init.py:132 msgid "Shift+Alt+T" -msgstr "Shift+Alt+T" +msgstr "Dvigalka+izmenjalka+T" #: /home/kovid/work/calibre/src/calibre/gui2/init.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:29 @@ -13365,7 +13553,7 @@ msgstr "Podrobnosti o knjigi" #: /home/kovid/work/calibre/src/calibre/gui2/init.py:220 #: /home/kovid/work/calibre/src/calibre/gui2/init.py:231 msgid "Shift+Alt+D" -msgstr "Shift+Alt+D" +msgstr "Dvigalka+izmenjalka+D" #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:67 msgid "Job" @@ -13432,7 +13620,7 @@ msgstr "Opravila:" #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:444 msgid "Shift+Alt+J" -msgstr "Shift+Alt+J" +msgstr "Dvigalka+izmenjalka+J" #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:461 msgid "Click to see list of jobs" @@ -13483,7 +13671,7 @@ msgid "&Shortcut:" msgstr "&Bližnjica:" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "Opravljeno" @@ -13527,7 +13715,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "Ni zadetkov" @@ -13537,66 +13725,70 @@ msgstr "Ni zadetkov" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "Izvrzi to napravo" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "Prilagodi to napravo" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "Pokaži knjige v knjižnici calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "Pokaži knjige v glavnem pomnilniku naprave" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "Pokaži knjige na pomn. kartici A" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "Pokaži knjige na pomn. kartici B" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "Izbriši knjižnico" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "na voljo" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "Navidezna knjižnica" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "Napredno iskanje" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" -msgstr "Ctrl+Shift+F" +msgstr "Krmilka+dvigalka+F" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "&Pojdi" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "Opravi hitro iskanje (lahko pritisnete tudi tipko Enter)" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "Ponastavi hitro iskanje" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "Kopiraj trenutno besedilo iskanja (namesto iskalnega polja)" @@ -13609,32 +13801,32 @@ msgstr "zvezdic" msgid "Y" msgstr "Y" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "Na napravi" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "Velikost (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "Spremenjeno" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "Iskano polje je \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13643,30 +13835,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "V knjižnici" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "Velikost" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "Označeno za brisanje" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "Dvoklikni me, da me urediš

" @@ -13771,7 +13963,7 @@ msgid "Previous Page" msgstr "Prejšnja stran" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -14269,7 +14461,7 @@ msgid "Edit Metadata" msgstr "Uredi metapodatke" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14414,15 +14606,15 @@ msgstr "&Komentarji" msgid "Basic metadata" msgstr "Osnovni metapodatki" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "Ima naslovnico" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "Ima povzetek" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14430,27 +14622,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "Oglejte si pri" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "calibre prenaša metapodatke s strežnikov: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "Počakajte trenutek" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14458,40 +14650,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "Trenutna naslovnica" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "Iskanje ..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "Prenašanje naslovnic za %s, počakajte ..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -"Najdenih %(num)d naslovnic publikacije %(title)s. Izberite tisto, ki " -"vam najbolj ugaja." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "Prenašanje metapodatkov ..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "Prenašanje naslovnice ..." @@ -14632,7 +14828,8 @@ msgid "The Add &Process" msgstr "&Postopek dodajanja" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14675,34 +14872,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "&Samodejno dodajanje" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "Visoka" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "Nizka" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "Strni metapodatke" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "Privzeto" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "Vse na enem zavihku" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14751,12 +14948,13 @@ msgid "Job &priority:" msgstr "Prednos&t opravila:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" +"Katera navidezna knjižnica naj velja, ko je odprta trenutna knjižnica:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15672,10 +15870,6 @@ msgstr "Izključeno" msgid "Small" msgstr "Majhno" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "Veliko" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "Srednje" @@ -15693,7 +15887,7 @@ msgid "Never" msgstr "Nikoli" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "Po začetnicah" @@ -16662,20 +16856,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "Dnevnik napak:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "Zapisnik dostopov:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16708,18 +16902,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -17055,7 +17249,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:420 msgid "Invalid tweaks" -msgstr "" +msgstr "Neveljavne prilagoditve" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:421 msgid "" @@ -17080,7 +17274,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:119 msgid "Edit tweak" -msgstr "" +msgstr "Uredi prilagoditev" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:120 msgid "Restore this tweak to its default value" @@ -17094,39 +17288,49 @@ msgstr "O&bnovi privzeto" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" -msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" +msgstr "Ustvari shranjeno iskanje" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "Izbrano iskanje bo izbrisano za vedno. Ste prepričani?" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "Najdi (za napredno iskanje pritisnite gumb na levi)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "Omogočite/onemogočite poudarjanje iskanja." -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "Shranjena iskanja" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "Izberite shranjeno iskanje ali vnesite ime za novo shranjeno iskanje" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." @@ -17134,46 +17338,187 @@ msgstr "" "Shranite trenutno iskanje pod imenom, prikazanem v polju. Pritisnite in " "držite pritisnjeno, da se pojavi meni." -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "Ustvari shranjeno iskanje" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "Izbriši shranjeno iskanje" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "Upravljaj s shranjenimi iskanji" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" -msgstr "*Trenutno iskanje" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" +msgstr "Ustvari navidezno knjižnico glede na %s" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" -msgstr "Omeji na" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "Uredi navidezno knjižnico" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "Ustvari navidezno knjižnico" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "Ime &navidezne knjižnice:" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "Ustvari navidezno knjižnico glede na: " + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "Novo navidezno knjižnico morate poimenovati" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" +"Uporabite \"navidezno knjižnico\", da prikažete le podmnožico knjig iz te " +"knjižnice." + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "(vse knjige)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" -msgstr "" -"Prikaz knjig bo omejen na tiste, ki ustrezajo izbranemu shranjenemu iskanju" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" +msgstr "Uredi navidezno knjižnico" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "Odstrani navidezno knjižnico" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "Ustvari navidezno knjižnico" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "Ste prepričani, da želite odstraniti navidezno knjižnico {0}?" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "({0} izmed {1})" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "({0} od vseh)" @@ -17449,32 +17794,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17588,46 +17933,46 @@ msgstr "Ponovno naloži" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "Iskanja" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "Preimenuj uporabniško kategorijo" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "Ime %s je že v uporabi!" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17649,13 +17994,13 @@ msgid "Manage Tags" msgstr "Upravljaj z značkami" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "Upravljaj z upor. kategorijami" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "Upravljaj s shranjenimi iskanji" @@ -17735,7 +18080,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:347 msgid "ALT+f" -msgstr "ALT+F" +msgstr "Izmenjalka+F" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:352 msgid "Find the first/next matching item" @@ -17754,7 +18099,7 @@ msgid "Alter Tag Browser" msgstr "Spremeni brskalnik značk" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "Razvrsti po" @@ -17797,138 +18142,138 @@ msgstr "" "Vsi ti upravitelji kategorij so na voljo z desnim klikom na elemente v " "zgornjem brskalniku značk" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "Preimenuj %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "Dodaj %s v uporabniško kategorijo" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "Išči vse drugo kot %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "Dodaj podkategorijo v %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "Izbriši uporabniško kategorijo %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "Skrij kategorijo %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "Pokaži kategorijo" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "Išči knjige v kategoriji %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "Išči knjige zunaj kategorije %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "Upravljaj z %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "Pokaži vse kategorije" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "Spremeni shemo podkategorij" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17939,56 +18284,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -18030,73 +18375,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -18104,134 +18460,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18310,31 +18711,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "&Donirajte v podporo calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "&Obnovi" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "&Izvrzi povezano napravo" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "Izhod iz calibra" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "Razhroščevalni način" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18342,11 +18743,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18362,16 +18763,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "Napaka pri pretvorbi" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18394,34 +18795,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "Ni uspelo" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "Aktivna opravila" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18962,29 +19363,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19315,7 +19716,7 @@ msgstr "Pokaži" #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:958 #, python-format msgid "Hide %(label)s %(shortcut)s" -msgstr "" +msgstr "Skrij %(label)s %(shortcut)s" #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:995 msgid "Toggle" @@ -20242,32 +20643,32 @@ msgstr "" "dokumentacijo, povezano z iskanjem v uporabniškem priročniku. Privzeto je " "iskanje brez filtriranja." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "Neveljavna polja. Polja, ki so na voljo:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "Neveljavno razvrščevalno polje. Polja, ki so na voljo:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" @@ -20275,13 +20676,13 @@ msgstr "" "Naslednje knjige niso bile dodane, saj se že nahajajo v zbirki podatkov " "(glejte možnost --duplicates):" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -20295,7 +20696,7 @@ msgstr "" "mape, oglejte si\n" "z mapami povezane možnosti spodaj.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" @@ -20303,11 +20704,11 @@ msgstr "" "Privzami, da vsebuje vsaka mapo le eno knjigo in da so vse datoteke v njej " "ista e-knjiga v različnih zapisih." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "Obdelaj mape rekurzivno" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." @@ -20315,43 +20716,43 @@ msgstr "" "Dodaj knjige v zbirko podatkov, tudi če že obstajajo. Primerjava se izvede " "po naslovu." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "Določite naslov dodanih knjig" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "Določite avtorje dodanih knjig" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "Določite ISBN dodanih knjig" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "Določite značke dodanih knjig" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "Določiti morate vsaj eno datoteko za dodajanje" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20362,33 +20763,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "Vsaj eno knjigo morate določiti za odstranitev" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" -"%prog add_format [možnosti] id datoteka_e-knjige\n" -"\n" -"Dodaj e-knjigo v datoteki_e-knjige k seznamu zapisov, ki so na voljo za " -"logično knjigo, identificirano z id-jem. ID lahko dobite z ukazom list. Če " -"zapis že obstaja, se ga zamenja.\n" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "Določiti morate id in datoteko e-knjige" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "Datoteka e-knjige mora imeti končnico" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20404,11 +20810,11 @@ msgstr "" "dobite z ukazom list. fmt naj bo končnica datoteke, kot so npr. LRF, TXT ali " "EPUB. Če logična knjiga nima zapisa fmt, se ne zgodi nič.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "Določiti morate id in zapis" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20424,15 +20830,15 @@ msgstr "" "identificirano z id-jem.\n" "id je identifikacijska številka, ki jo dobite z ukazom list.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "Natisni metapodatke v zapisu OPF (XML)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "Določiti morate id" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20447,7 +20853,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20457,40 +20863,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20508,29 +20914,29 @@ msgstr "" "datoteki opf).\n" "ID številke lahko dobite z ukazom list.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" "Izvozi vse knjige iz zbirke podatkov brez upoštevanja seznama id-jev." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "Izvozi knjige v podano mapo. Privzeto je" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "Izvozi vse knjige v eno mapo" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "Določiti morate nekaj id-jev ali možnost %s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20541,13 +20947,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20567,11 +20973,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20582,30 +20988,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "Podrobneje prikaži izhodne informacije. Koristno za razhroščevanje." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20617,17 +21023,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20636,27 +21042,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "Pokaži podrobnosti vsakega stolpca." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20666,15 +21072,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "Ne zahtevaj potrditve" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20687,40 +21093,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "Ime:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "Išči niz:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "dodano" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "Napaka: določiti morate ime" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "odstranjeno" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20734,13 +21140,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20748,34 +21154,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20790,18 +21196,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20809,33 +21215,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20858,32 +21264,23 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" "

Selitev stare zbirke podatkov v knjižnico e-knjig v %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "Kopiranje %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "Strnjevanje zbirke podatkov" @@ -21125,20 +21522,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "Vse knjige" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "Najnovejše" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "Nalaganje, prosimo, počakajte" @@ -21161,7 +21558,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "Povprečna ocena" @@ -21170,98 +21567,98 @@ msgstr "Povprečna ocena" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "%d zvezdic" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "Priljubljenost" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "Drugi zapisi" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "Podrobnosti" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "Ta knjiga je bila izbrisana" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -21274,21 +21671,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -22291,10 +22690,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22393,6 +22788,31 @@ msgstr "Koda je v teku" msgid "Restart console" msgstr "Ponovno zaženi konzolo" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "URL mora imeti shemo sftp" @@ -22441,107 +22861,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "Prenos končan" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "Prenos naslednjih člankov ni uspel:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "Prenos nekaterih delov naslednjih člankov ni uspel:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr " z " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "\tNeuspešne povezave:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "Pridobivanje virov ..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "Dobljeni viri iz glavne strani" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "Poskus prenosa naslovnice ..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "Pričetek prenosa [%d nit(i)] ..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "Viri, preneseni v %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "Prenos naslovnice ni uspel: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "Prenašanje naslovnice iz %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "Neimenovan članek" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "Članek prenesen: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "Prenos članka ni uspel: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "Pridobivanje vira" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22817,7 +23237,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/sq.po b/src/calibre/translations/sq.po index f53d84a3ad..c4120323b9 100644 --- a/src/calibre/translations/sq.po +++ b/src/calibre/translations/sq.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2011-08-07 22:44+0000\n" "Last-Translator: Erlis Mulosmani \n" "Language-Team: Albanian \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:07+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:23+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "nuk bën absolutisht asgjë" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "nuk bën absolutisht asgjë" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "nuk bën absolutisht asgjë" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "nuk bën absolutisht asgjë" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "nuk bën absolutisht asgjë" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "nuk bën absolutisht asgjë" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "nuk bën absolutisht asgjë" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -325,345 +325,345 @@ msgstr "" msgid "Set metadata from %s files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Ndërfaqe" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Panel" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Shndërrim" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Shtojca" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -941,8 +941,8 @@ msgstr "" msgid "Disable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -952,11 +952,22 @@ msgstr "" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -968,26 +979,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1000,11 +1011,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Lajme" @@ -1012,14 +1023,14 @@ msgstr "Lajme" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1027,7 +1038,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1035,45 +1046,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1101,23 +1137,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1240,8 +1276,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "" @@ -1289,10 +1325,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1333,6 +1369,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1651,17 +1688,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1669,12 +1706,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1682,7 +1719,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1694,7 +1731,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1707,10 +1744,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1767,66 +1806,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1834,7 +1873,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1843,11 +1882,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1867,55 +1906,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2040,7 +2079,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2521,7 +2560,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2830,23 +2869,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3134,15 +3173,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4093,7 +4136,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4117,27 +4160,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "Titull" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "Autor(ë)" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "Botues" @@ -4173,13 +4216,14 @@ msgstr "Komente" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "Etiketa" @@ -4188,9 +4232,10 @@ msgstr "Etiketa" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4200,7 +4245,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4212,8 +4257,8 @@ msgstr "Vulë kohore" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "Botuar" @@ -4325,60 +4370,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "Kapak" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4386,13 +4431,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4402,6 +4465,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4461,12 +4565,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4493,72 +4597,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "Tryeza e Lëndës" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "Faqe Titulli" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "Tregues" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "Bibliografi" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "Të drejta kopjimi" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "Listë e ilustrimeve" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "Listë Tabelash" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "Shënime" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "Teksti Kryesor" @@ -4567,14 +4671,14 @@ msgstr "Teksti Kryesor" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4599,12 +4703,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4637,7 +4741,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4762,9 +4866,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4780,11 +4884,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "Vlerësim" @@ -4827,6 +4931,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4981,7 +5089,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5103,12 +5211,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5185,8 +5293,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5307,7 +5415,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5355,7 +5463,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5369,7 +5477,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5381,12 +5489,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5526,7 +5634,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5554,7 +5662,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5595,7 +5703,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5608,96 +5716,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5716,6 +5837,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5788,75 +5910,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5932,12 +6056,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6021,8 +6145,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6058,7 +6182,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6128,15 +6252,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6241,17 +6365,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6260,185 +6395,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6555,7 +6701,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "Shfaq hollësi libri" @@ -6660,7 +6806,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6672,30 +6818,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6705,11 +6851,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -6973,7 +7119,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7183,7 +7329,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7193,7 +7339,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7227,16 +7373,25 @@ msgstr "Shteg" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7304,7 +7459,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7490,7 +7645,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7830,8 +7985,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8747,59 +8902,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8811,13 +8970,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9055,6 +9230,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9621,7 +9800,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9667,81 +9846,81 @@ msgstr "Pajisje: " msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "Pa pajisje" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9903,7 +10082,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10414,13 +10593,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10454,8 +10633,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10474,13 +10653,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10579,7 +10758,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "Nuk u gjetën përputhje" @@ -10627,12 +10806,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10727,40 +10906,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11628,6 +11807,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11663,12 +11843,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12242,12 +12422,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12299,6 +12479,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "Botuesa" @@ -12313,6 +12494,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13189,7 +13371,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13233,7 +13415,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13243,66 +13425,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "Kërkim i thelluar" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13315,32 +13501,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13349,30 +13535,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13477,7 +13663,7 @@ msgid "Previous Page" msgstr "Faqja e Mëparshme" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13975,7 +14161,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14120,15 +14306,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14136,27 +14322,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14164,38 +14350,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14336,7 +14528,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14379,34 +14572,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14455,12 +14648,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15373,10 +15566,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15394,7 +15583,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16362,20 +16551,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "Regjistrim gabimesh:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16408,18 +16597,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16794,83 +16983,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17146,32 +17485,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17285,46 +17624,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17346,13 +17685,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17445,7 +17784,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17484,138 +17823,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17626,56 +17965,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17717,73 +18056,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17791,134 +18141,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -17997,31 +18392,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18029,11 +18424,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18049,16 +18444,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18081,34 +18476,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18649,29 +19044,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19919,44 +20314,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19965,59 +20360,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20028,28 +20423,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20059,11 +20464,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20073,15 +20478,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20096,7 +20501,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20106,40 +20511,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20150,28 +20555,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20182,13 +20587,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20208,11 +20613,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20223,30 +20628,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20258,17 +20663,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20277,27 +20682,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20307,15 +20712,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20328,40 +20733,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20375,13 +20780,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20389,34 +20794,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20431,18 +20836,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20450,33 +20855,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20499,31 +20904,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20765,20 +21161,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20801,7 +21197,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20810,98 +21206,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20914,21 +21310,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21931,10 +22329,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22033,6 +22427,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22081,107 +22500,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22444,7 +22863,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/sr.po b/src/calibre/translations/sr.po index 49e62c721f..6b218c428d 100644 --- a/src/calibre/translations/sr.po +++ b/src/calibre/translations/sr.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" -"PO-Revision-Date: 2013-01-03 18:57+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" +"PO-Revision-Date: 2013-04-11 10:18+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: Ozzii\n" "MIME-Version: 1.0\n" @@ -16,8 +16,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:20+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:36+0000\n" +"X-Generator: Launchpad (build 16580)\n" "Language: sr\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -25,16 +25,16 @@ msgid "Does absolutely nothing" msgstr "Не ради баш ништа" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -89,8 +89,8 @@ msgstr "Не ради баш ништа" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -101,9 +101,9 @@ msgstr "Не ради баш ништа" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -112,7 +112,7 @@ msgstr "Не ради баш ништа" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -125,7 +125,7 @@ msgstr "Не ради баш ништа" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -147,13 +147,13 @@ msgstr "Не ради баш ништа" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -162,33 +162,33 @@ msgstr "Не ради баш ништа" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -333,73 +333,73 @@ msgstr "Упиши метаподатке у %s датотеке" msgid "Set metadata from %s files" msgstr "Учитај метаподатке из %s датотеке" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "Додај књиге у calibre или повезани уређај" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "Узми напомене од повезаног Kindle (експериментално)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "Направите каталог књига у библиотеци calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "Претварање књига у различите формате е-књига" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "Избриши књиге из ваше calibre библиотеке или повезаног уређаја" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "Уреди метаподатке књига у библиотеци calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "Прочитај књиге у библиотеци calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "Преузми вести са интернета у форми е-књиге" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Прикажи брзо списак сродних књига" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "Извоз књига из библиотеке calibre на чврсти диск" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "Прикажи детаље књига у посебном искачућем прозору" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "Поново покрени calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "Отворите фасциклу која садржи датотеке књига у библиотеци calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "Пошаљи књиге у повезани уређај" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" @@ -407,43 +407,43 @@ msgstr "" "Делите књигу путем е-поште или интернетом, такође повезивање са iTunes или " "фасциклама на вашем рачунару као да су уређаји." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "Отвори calibre корисничко упутство" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "Прилагоди calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "Пронађи књиге сличне као тренутно одабрану" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" "Пребацивање између различитих calibre библиотека и вршимо одржавање истих" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "Копирај књигe из уређаја у calibre библиотеку" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "Уредите колекције у којој се књига налазе на уређају" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "Копирање књиге из једне calibre библиотеке у другу" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" "Направите мале измене у epub или htmlz датотекама у вашој calibre библиотеци" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" @@ -451,56 +451,56 @@ msgstr "" "Пронађи следећу или претходну одговарајућу при претраживању у calibre " "библиотеци у истакнутом режиму" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "Изаберите насумичну књигу из библиотеке calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "Трагање за књигама од различитих продаваца књига" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "Преузмите нове додатке calibre или ажурирате постојеће" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Изглед и понашање" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Сучеље" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "Прилагодите изглед и понашање calibre-а да одговара вашем укусу" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "Понашање" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "Промените начин понашања calibre-а" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Додај своје колоне" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "Додајте/уклоните сопствене колоне за calibre списак књига" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Алатна трака" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -508,67 +508,67 @@ msgstr "" "Прилагодите алатну траку и контекстни меније мењајући акције које су на " "располагању у сваком од њих" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "Претраживање" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "Подесите свој начин проналажења књиге у calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "Могућности уноса" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Претварање" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" "Подесите могућности претварања које су специфичне за сваки улазни формат" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Уобичајене могућности" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "Поставите могућности за претварање за све формате" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "Излазне могућности" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" "Поставите могућности за претварање специфичне за сваки излазни формат" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "Додавање књига" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "Увоз/Извоз" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Регулишите како calibre чита метаподатке из датотека приликом додавања књига" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "Чување књига на диску" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -576,50 +576,50 @@ msgstr "" "Регулишете како calibre извози датотеке из базе података на диск приликом " "коришћења Сачувај на диску" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "Слање књига на уређаје" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "Регулишете како calibre преноси датотеке на ваш читач" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "Прикључци за метаподатке" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "Измени поља метаподатака пре чувања/слања" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "Шаблонске функције" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "Напредно" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "Направите сопствене функције шаблона" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "Дељење књига е-поштом" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "Дељење" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -627,11 +627,11 @@ msgstr "" "Подесите дељење књига путем е-поште. Може се користити за аутоматско слање " "преузетих вести на ваш уређај" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "Размена преко мреже" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -639,57 +639,57 @@ msgstr "" "Подесите calibre сервер садржаја који ће вам дати приступ вашој библиотеци " "са било ког места, на било ком уређају, преко интернета" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "Преузми метаподатке" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "Регулишите параметре преузимања метаподатака са интернета" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "Занемарени уређаји" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" "Контролише који уређаји ће бити игнорисани када се привежу на рачунар." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Додаци" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Додавај /уклони/ прилагоди разне елементе понашања calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "Фино подешавање" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "Фино подесите како да се calibre понаша у различитим ситуацијама" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "Тастатура" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "Подесите пречице на тастатури које користи calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Разно" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "Разна напредна подешавања" @@ -989,8 +989,8 @@ msgstr "Укључи наведени додатак." msgid "Disable the named plugin" msgstr "Искључи наведени додатак" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -1001,11 +1001,22 @@ msgid "Path to library too long. Must be less than %d characters." msgstr "" "Путања до библиотеке је предуга. Она мора да садржи мање од %d знакова." -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "правим корисничку колону " + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -1017,26 +1028,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "Основна" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "Картица A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "Картица B" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1049,11 +1060,11 @@ msgstr "Картица B" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Вести" @@ -1061,14 +1072,14 @@ msgstr "Вести" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "означено" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "да" @@ -1076,7 +1087,7 @@ msgstr "да" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "не" @@ -1084,45 +1095,70 @@ msgstr "не" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "неозначено" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "данас" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "јуче" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "овог месеца" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "дана раније" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "празно" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "празно" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "Неисправан булов упит \"{0}\"" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1152,23 +1188,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "Повежи се са Android телефонима." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "Повежи се са S60 телефонима." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "Повежи се са WebOS таблетима." @@ -1303,8 +1339,8 @@ msgstr "" "Кликните на 'Прикажи детаље' за списак." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "Каталог" @@ -1359,10 +1395,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1403,6 +1439,7 @@ msgstr "Додајем књиге на списак метаподатака н #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1729,17 +1766,17 @@ msgstr "" "други омот читачу, што је корисно ако сте променили омот." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "Отпреми црно-беле корице" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "Прикажи застареле књиге" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1747,12 +1784,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "Прикажи прегледе" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1760,7 +1797,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "Прикажи препоруке" @@ -1772,7 +1809,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "Покушај за подршку новијег фирмвера" @@ -1785,10 +1822,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "Верзија Kobo базе није подржана - Видите детаље" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1858,19 +1897,19 @@ msgstr "" "/>Напредак поглавља: %(chapter_progress)s%%
Истицање: " "%(text)s
Белешке: %(annotation)s

" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "Kobo Touch од фирмвера V2.0.0 подржава полице за кљиге." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "Специфирати колоне типа етикете за аутоматско управљање" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "Креирај полице за кљиге" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." @@ -1878,11 +1917,11 @@ msgstr "" "Ако не постоје, креира нове полице на Kobo Touch. Ово је само за фирмвер " "V2.0.0 и после." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "Обриши празне полице" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." @@ -1890,38 +1929,38 @@ msgstr "" "После синхронизације, брише празне полице из Kobo Touch. Само за фирмвер " "V2.0.0 и после." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "Преузми омоте за књиге" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1929,7 +1968,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1938,11 +1977,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "Наслов за тестирање када се отклањају грешке" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1962,55 +2001,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "Повежи се са Sweex/Kogan/Q600/Wink" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "Повежи се са Pandigital Novel" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "Повежи се са VelocityMicro" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "Повежи се са GM2000" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "Повежи се са Acer Lumiread" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "Повежи се са Aluratek Color" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "Повежи се са Trekstor" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "Повежи се са EEE Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "Повежи се са Adam tablet" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "Повежи се са Nextbook Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "Повежи се са Moovybook Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "Повежи се са COBY" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "Повежи се са Ex124G" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2137,7 +2176,7 @@ msgstr "The Nook" msgid "Communicate with the Nook eBook reader." msgstr "Повежи се са Nook eBook читачем." -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "Повежи се са са уређајем за читање књига Nook Color, TSR и Tablet." @@ -2642,7 +2681,7 @@ msgid "There is insufficient free space on the storage card" msgstr "Нема довољно простора на меморијској картици." #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "Обрађено %s" @@ -3029,18 +3068,18 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "CSS датотека се користи за излаз уместо подразумеване датотеке" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" "Шаблон се користи за стварање html индексне датотеке, уместо подразумеване" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" @@ -3048,7 +3087,7 @@ msgstr "" "Шаблон се користи за стварање html садржаја књиге уместо подразумеване " "датотеке" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3367,15 +3406,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4476,7 +4519,7 @@ msgstr "" msgid "Set book ID" msgstr "Постави идентификатор за књигу" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4502,27 +4545,27 @@ msgstr "Не" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "Наслов" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "Аутор" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "Издавач" @@ -4558,13 +4601,14 @@ msgstr "Коментари" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "Ознаке" @@ -4573,9 +4617,10 @@ msgstr "Ознаке" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4586,7 +4631,7 @@ msgstr[1] "Серије" msgstr[2] "Серија" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4598,8 +4643,8 @@ msgstr "Временска ознака" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "Објављено" @@ -4726,61 +4771,61 @@ msgstr "" "Преузми корицу и метаподатке за књигу идентификовану ISBN бројем са " "LibraryThing.com\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "Корице" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "Скида додатне податке и корице са Амазона" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "САД" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "Француска" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "Немачка" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "ВБ" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "Италија" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "Јапан" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "Шпанија" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "Амазон вебсајт који се користи:" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" "Метаподаци Амазона ће бити преузети помоћу Амазон веб сајта ове земље." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "Сајт Амазон у истеку.Покушати поново касније." @@ -4788,6 +4833,24 @@ msgstr "Сајт Амазон у истеку.Покушати поново ка msgid "Metadata source" msgstr "Изворни метаподаци" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " @@ -4795,7 +4858,7 @@ msgid "" msgstr "" "Скида додатне податке и корице са Douban.com. Корисно само за Кинеске књиге." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4805,6 +4868,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "Скида додатне податке и корице са Google Books-а" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "Велика" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "Preuzmi metapodatke s isbndb.com" @@ -4866,12 +4970,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "Ово је Amazon Topaz књига. Њу није могуће обрадити." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "Ово није MOBI датотека него Topaz." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "Ово није MOBI датотека." @@ -4898,72 +5002,72 @@ msgid "No details available" msgstr "Детаљи нису доступни" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "Садржај" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "Насловна страна" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "Индекс" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "Појмовник" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "Захвалности" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "Библиографија" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "Импресум" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "Ауторска права" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "Посвета" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "Епиграф" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "Предговор" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "Списак илустрација" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "Списак табела" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "Белешке" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "Предговор" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "Главни текст" @@ -4972,14 +5076,14 @@ msgstr "Главни текст" msgid "%s format books are not supported" msgstr "Књиге у формату %s нису подржане" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -5004,12 +5108,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -5042,7 +5146,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -5167,9 +5271,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -5185,11 +5289,11 @@ msgid "HTML TOC generation options." msgstr "Могућности за стварање HTML садржаја" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "Оцена" @@ -5234,6 +5338,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "Не могу да пронађем pdftohtml, проверите да ли је наведен у путањи." +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5394,7 +5502,7 @@ msgid "Show this confirmation again" msgstr "Показује ову потврду опет" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "Потребно је поновно покретање." @@ -5521,12 +5629,12 @@ msgstr "Контрола додавања књига" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5603,8 +5711,8 @@ msgstr "Додај у библиотеку" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5725,7 +5833,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5773,7 +5881,7 @@ msgid "No existing calibre library found at %s" msgstr "Нема постојеће calibre библиотеке на %s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "Изабери библиотеку" @@ -5787,7 +5895,7 @@ msgstr "Промени/направи библиотеку..." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5799,12 +5907,12 @@ msgid "Pick a random book" msgstr "Изабери књигу насумице" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "Брзи прелазак" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "Преименуј библиотеку" @@ -5946,7 +6054,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5976,7 +6084,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -6019,7 +6127,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "Направите каталог књига за вашу calibre библиотеку" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "Није могуће претворити" @@ -6032,96 +6140,109 @@ msgstr "Почињем претварање %d књига." msgid "Empty output file, probably the conversion process crashed" msgstr "Празна излазна датотека - процес претварања вероватно није успео" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "%(title)s по %(author)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "Изаберите библиотеку" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "Умножи у библиотеку" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "Умножи изабрану књигу у наведену библиотеку" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "(избриши после умножавања)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "Није могуће умножити" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "Нема библиотеке" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "Није пронађена библиотека у %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "Копирано %(num)d књига у %(loc)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "Нисам успео да умножим књиге: " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "Аутоматско упоређивање" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -6142,6 +6263,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "Да ли сте сигурни?" @@ -6215,60 +6337,60 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "Изаберите формате за брисање" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "Није могуће избрисати књиге" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "Није прикључен ниједан уређај" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "Основна меморија" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "Меморијска картица A" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "Меморијска картица B" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "Нема књига које могу бити избрисане" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "Ниједна од изабраних књига се не налази на уређају" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "Бришем књиге са уређаја." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" @@ -6276,21 +6398,19 @@ msgstr "" "Неке од изабраних књига се налазе на прикљученом уређају. Одакле " "желите да их обришете?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -"Изабране књиге ће бити заувек избрисане и уклоњене из ваше calibre " -"библиотеке. Да ли сте сигурни?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" -"Изабране књиге ће бити заувек избрисане с вашег уређаја. Да ли сте " -"сигурни?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 msgid "Start wireless device connection" @@ -6365,12 +6485,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "Прекидам" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6454,8 +6574,8 @@ msgstr "Нисам успео да преузмем метаподатке" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "Преузимање није успело" @@ -6491,7 +6611,7 @@ msgid "Download complete" msgstr "Преузимање је завршено" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "Преузми евиденцију" @@ -6573,15 +6693,15 @@ msgstr "" "књигама заувек обрисани из ваше calibre библиотеке.

Да ли сте " "сигурни да желите да наставите?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "Примени промену метаподатака" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "Неки неуспеси" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6686,17 +6806,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6705,185 +6836,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "Улепшај интер&пункцију." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -7003,7 +7145,7 @@ msgid "Click the show details button to see which ones." msgstr "Кликните на дугме за више детаља да их видите." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "Прикажи детаље о књизи" @@ -7108,7 +7250,7 @@ msgid "this book" msgstr "ова књига" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "Потражи %s" @@ -7120,17 +7262,17 @@ msgstr "Продавнице" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "Изабери продавнице" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "Потрага неизводива" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." @@ -7138,7 +7280,7 @@ msgstr "" "„Calibre“ помаже да нађете ибук преко разних комерцијалних и јавних извора " "за Вас." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " @@ -7147,7 +7289,7 @@ msgstr "" "Са интегрисаном претрагом, лако можете да нађете радње које имају тражену " "књигу, по најбољој цени. Добићете исто инфо о DRM и друге информације." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -7157,11 +7299,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "Покажи поново ову поруку" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "О преузимању књига" @@ -7436,7 +7578,7 @@ msgid "The specified directory could not be processed." msgstr "Нисам могао да обрадим наведени директоријум." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "Нема књига." @@ -7663,7 +7805,7 @@ msgid "Click to open" msgstr "Кликни да бисте отворили" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "Id-ови" @@ -7673,7 +7815,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "Књига %(sidx)s од %(series)s" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "Збирке" @@ -7707,16 +7849,25 @@ msgstr "Путања" msgid "Cover size: %(width)d x %(height)d" msgstr "Величина корице: %(width)d x %(height)d" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "BibTeX могућности" @@ -7784,7 +7935,7 @@ msgstr "излаз" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7970,7 +8121,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "Назив" @@ -8310,8 +8461,8 @@ msgid "Style the selected text block" msgstr "Стил за изабрани део текста." #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "Нормалан" @@ -9249,59 +9400,63 @@ msgstr "Занемари &слике" msgid "PDF Output" msgstr "Излазни ПДФ" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "Величина &папира:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "&Прилагођена величина:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "Сачувај р&азмере насловне стране." -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "Se&rif - врста слова" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "&Sans - врста слова:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "Шта&мпана слова:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "&Стандардни словолик:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -9313,13 +9468,29 @@ msgstr "" msgid " px" msgstr " px" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "Величина штампаних &слова:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9563,6 +9734,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "Претвори" @@ -10139,7 +10314,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "Нема одговарајућих формата." @@ -10185,66 +10360,66 @@ msgstr "Уређај: " msgid " detected." msgstr " откривен." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "изабране за слање." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "Нема уређаја." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "%(num)i од %(total)i књига" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "0 од %i кљига" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "Изабери формат за слање на уређај." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "Не могу да пошаљем: Није прикључен ниједан уређај." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "Нема меморијске картице." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "Не могу да пошаљем: Уређај нема меморијску картицу." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "Аутоматски претвори следеће књиге пре слања на уређај?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "Шаљем каталог на уређај" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "Шаљем вести на уређај" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "Шаљем књиге на уређај" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." @@ -10253,17 +10428,17 @@ msgstr "" "одговарајући формати. Морате прво претворити књиге у формат који ваш уређај " "подржава." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "На уређају нема довољно места." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" "

Не могу да пренесем књиге на уређај, јер нема више слободног места. " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -10425,7 +10600,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10954,13 +11129,13 @@ msgid "Where do you want to delete from?" msgstr "Одакле желите да избришете?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "Библиотека" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "Уређај" @@ -10996,8 +11171,8 @@ msgid "Location" msgstr "Место" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -11016,13 +11191,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "Ова ставка је празна." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "Ставка не може да буде празна. Избришите је." @@ -11123,7 +11298,7 @@ msgstr "Веза" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "Ништа није пронађено." @@ -11171,12 +11346,12 @@ msgid "Copy to author" msgstr "Пресликај по аутору" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "Неважеће име аутора" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "Име аутора не може садржати знак &." @@ -11271,40 +11446,40 @@ msgstr "&Сакриј све послове" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "&Сачувај у остави" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "Прикажи &детаље" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "Сакриј &детаље" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "Покажи детаљне информације о овој грешци" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "Умножено" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "Прикажи дневник" @@ -12237,6 +12412,7 @@ msgstr "Прекидам..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -12272,12 +12448,12 @@ msgstr "Ставке" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "Претрага" @@ -12867,12 +13043,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12924,6 +13100,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "Издавачи" @@ -12938,6 +13115,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "Неважеће име" @@ -13836,7 +14014,7 @@ msgid "&Shortcut:" msgstr "&Пречица:" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "Готово" @@ -13880,7 +14058,7 @@ msgstr "Трагање за пречицом по имену" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "Нема резултата" @@ -13890,48 +14068,52 @@ msgstr "Нема резултата" msgid "Could not find any shortcuts matching %s" msgstr "Није могуће пронаћи одговарајуће пречице %s" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "Искључи овај уређај." -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "Подеси овај уређај" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "Прикажи књиге у calibre библиотеци." -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "Прикажи књиге у основној меморији уређаја." -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "Прикажи књиге на меморијској картици А." -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "Прикажи књиге на меморијској картици B." -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "Избриши библиотеку" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "доступно" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "Напредна претрага." -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "Shift+Ctrl+F" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" @@ -13939,19 +14121,19 @@ msgstr "" "

Претражи списак књига по наслову, аутору, издавачу, етикетама, " "коментарима, итд.

Речи раздвојене размацима морају СВЕ бити присутне." -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "&Тражи!" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "Изведи брзо претраживање (можете и само притиснути Enter)" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "Поништи брзу претрагу." -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "Умножи текст који се тренутно тражи (уместо назива претраге)" @@ -13964,32 +14146,32 @@ msgstr "звездице" msgid "Y" msgstr "Y" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "На уређају." -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "Величина (МБ)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "Измењено" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "Име за претрагу је \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "UUID ове књиге је \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -14000,32 +14182,32 @@ msgstr "" "Није могуће променити локацију на диску за ову књигу. Да ли је отворити у " "другом програму ?" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "Нисам успео да поставим податке" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" "Није могуће поставити податке, кликните на Прикажи детаље да бисте видели " "зашто." -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "У библиотеци." -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "Величина" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "Изабрано за брисање." -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "Кликните два пута да ме промените

" @@ -14133,7 +14315,7 @@ msgid "Previous Page" msgstr "Претходна страница" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -14655,7 +14837,7 @@ msgid "Edit Metadata" msgstr "Уреди метаподатке" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14804,15 +14986,15 @@ msgstr "&Напомене" msgid "Basic metadata" msgstr "Основни метаподаци" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "Има корице" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "Има преглед" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14820,27 +15002,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "Погледајте на" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "calibre преузима метаподатке из: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "Сачекајте" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "Питање: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14848,38 +15030,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "Тренутне корице" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "Претражујем..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "Преузимање корице за %s, сачекати..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "Не могу да нађем корицу за %s" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." -msgstr "Нашао сам %(num)d корице за %(title)s. Одаберите коју желите." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "Преузимање метаподатака..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "Преузимам насловну страну..." @@ -15030,7 +15218,8 @@ msgid "The Add &Process" msgstr "Поступак &додавања" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -15075,34 +15264,34 @@ msgstr "Аутоматско рретвори додате датотеке у msgid "&Automatic Adding" msgstr "&Аутоматско додавање" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "Висок" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "Низак" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "Веома низак" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "Сажети метаподаци" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "Подразумевано" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "Све на 1 картицу" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "Сва питања за потврду су омогућена." @@ -15153,18 +15342,15 @@ msgid "Job &priority:" msgstr "&Приоритет посла:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" -msgstr "Ограничења која треба применити при отварању ове библиотеке:" +msgid "Virtual library to apply when the current library is opened:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" -"Примени ово ограничење при покретању цалибре-а ако се користи ова " -"библиотека. Ово ограничење ће бити примењено и при промени библиотеке. Ово " -"подешавање је везано за библиотеку. " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170 msgid "Edit metadata (single) layout:" @@ -16106,10 +16292,6 @@ msgstr "Искљ." msgid "Small" msgstr "Мала" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "Велика" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "Средњи" @@ -16127,7 +16309,7 @@ msgid "Never" msgstr "Никада" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "По првом слову." @@ -17152,20 +17334,20 @@ msgstr "" "Пошаљи на уређај. Ова подешавања се могу променити за поједине уређаје " "подешавањем додатка за уређај у изборнику Подешавања->Напредна->Додаци" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "Нисам успео да покренем сервер садржаја." -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "Дневник грешака:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "Дневник приступа:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "Morate ponovo pokrenuti server da bi promene imale efekta" @@ -17200,22 +17382,19 @@ msgid "Max. &OPDS items per query:" msgstr "Нај. број &OPDS ставки по упиту:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" -msgstr "Нај. OPDS негр&уписане ставке:" +msgid "Max. &ungrouped items:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" -msgstr "Ограничење (сачувана претрага) које треба применити:" +msgid "Virtual library to apply:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" -"Ово ограничење (засновано на сачуваној претрази) ће ограничити којим књигама " -"ће сервер дозволити приступ. Ово подешавање је везано за библиотеку (тј. " -"можете навести различита ограничења за различите библиотеке)." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 msgid "" @@ -17595,40 +17774,50 @@ msgstr "Врати на подразумевано" msgid "Apply any changes you made to this tweak" msgstr "Примени све промене које сте направили са овим подешавањима" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" +msgstr "Прављење сачуване претраге" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 msgid "Delete current search" msgstr "Обриши тренутну претрагу" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 msgid "No search is selected" msgstr "Не тражи се изабрано" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" "Изабрана претрага ће бити избрисана заувек. Да ли сте сигурни?" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "Тражи (за напредну претрагу кликните дугме лево)." -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "Покрени претрагу" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "Омогући или онемогући истицање претраге." -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "Сачуване претраге" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "Изаберите сачувану претрагу, или унесите име за нову." -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." @@ -17636,45 +17825,185 @@ msgstr "" "Сачувај тренутну претрагу под именом приказаног у пољу. Притисните и држите " "за искачући изборник са могућностима." -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "Прављење сачуване претраге" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "Управљање сачуваном претрагом" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" -msgstr "*Тренутна претрага" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" -msgstr "Ограничи на" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "(све књиге)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " -msgstr " или претрагу " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "({0} од {1})" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "({0} од свих)" @@ -17950,32 +18279,32 @@ msgstr "Преузми..." msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "Жељена претрага за добијање књига" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "Подешавање претраге" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "Није могуће пронаћи ни једну књигу одговарајућу вашем упиту." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "Изабери формат за преузимање у вашу библиотеку." @@ -18091,47 +18420,47 @@ msgstr "Поново учитај" msgid "%p%" msgstr "%p%" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "Промена аутора за више књига може потрајати. Да ли сте сигурни?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" "Измена метаподатака за оволико књига може потрајати. Да ли сте сигурни?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "Претраге" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "Преименуј категорију корисника" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "Име %s iсе већ користи" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "Назив претраге већ постоји." -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "Назив сачуване претраге %s је већ у употреби." @@ -18153,13 +18482,13 @@ msgid "Manage Tags" msgstr "Управљање oзнакама" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "Уреди корисничке категорије" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "Уреди сачуване претраге" @@ -18261,7 +18590,7 @@ msgid "Alter Tag Browser" msgstr "Преуреди ознаке прегледа" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "Разврстај по" @@ -18301,138 +18630,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "Преименуј %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "Обриши %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "Уреди разврставање за %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "Уреди везу за %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "Додај %s корисника категорији" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "Дечје %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "Обриши претрагу %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "Трагање за свим, али %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "Додај под- категорију %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "Обриши категорију корисника %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "Сакриј категорију %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "Прикажи категорију" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "Претрага за књигама у категорији %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "Претрага за књигама које нису у категорији %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "Уреди '%s'" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "Прикажи све категорије" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "Промени шему подкатегорије" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "Искључи" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "Партиција" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "Прво слово је употребљива само када је разврставање по називу" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -18443,56 +18772,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -18534,73 +18863,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -18608,134 +18948,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18816,31 +19201,31 @@ msgstr "" "Ове књиге су већ претворене у формат %s. Да ли желите да их поново " "претворите?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "&Дарујте да подржите развој calibre програма" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "&Поврати" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "Искључи пов&езани уређај." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "Искључи calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "Опозови тренутну претрагу" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "Режим исправљања грешака" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18851,11 +19236,11 @@ msgstr "" "извештај о раду ће бити у датотеци: %s

Садржај ове датотеке ће бити " "приказан аутоматски." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "Неуспех при покретању садржај сервера" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18874,16 +19259,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "Грешка претварања" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "

Неуспешно претварање: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18906,24 +19291,24 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "Неуспешно претварање" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "Рецепт је искључен." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "Неуспело" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" "Још увек има активних послова. Да ли сте сигурни да желите да прекинете рад?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" @@ -18934,11 +19319,11 @@ msgstr "" "уређају.
\n" " Да ли сте сигурни да желите да прекинете рад?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "Активни послови" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -19492,29 +19877,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -20842,18 +21227,18 @@ msgstr "" "погледате одговарајући део Корисничког упутства. Подразумева се да неће бити " "филтрирања." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "Највећа ширина реда у излазу. Подразумева се ширина екрана." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "Знаци који служе за раздвајање поља. Подразумева се размак." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." @@ -20861,15 +21246,15 @@ msgstr "" "Префикс за све путање. Подразумева се апсолутна путања до фасцикле која " "садржи библиотеку." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "Неисправна поља. Расположива поља:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "Неисправно поље за разврставање. Расположива поља:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" @@ -20877,13 +21262,13 @@ msgstr "" "Следеће књиге нису додате, јер већ постоје у бази података (види могућност--" "duplicates):" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -20897,7 +21282,7 @@ msgstr "" "директоријуме, видите\n" "могућности за директоријуме наведене ниже.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" @@ -20905,11 +21290,11 @@ msgstr "" "Подразумевај да сваки директоријум садржи само једну књигу и да су све " "датотеке у њему само различити формати исте књиге." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "Рекурзивно обради директоријуме." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." @@ -20917,43 +21302,43 @@ msgstr "" "Додај књиге у библиотеку чак и ако су већ у њој. Поређење се врши на основу " "наслова." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "Додај празну књигу (књига без формата)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "Постави наслов за додату књигу" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "Постави аутора за додату књигу" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "Постави ISBN за додату књигу" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "Постави ознаке за додату књигу" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "Постави серију за додату књигу" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "Подесите број серије додате књиге" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "Морате навести бар једну датотеку за додавање." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20964,33 +21349,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "Морате навести бар једну књигу за уклањање." #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" -"%prog add_format [могућности] идентификатор датотеке_екњиге\n" -"\n" -"Додај е-књигу из датотеке_екњиге у расположиве формате књиге одређене " -"идентификатором. Иденитификаторе можете добити коришћењем списка команди. " -"Ако формат већ постоји биће замењен новим.\n" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "Морате навести и идентификатор и датотеку са е-књигом" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "е-књига мора да има наставак" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -21007,11 +21397,11 @@ msgstr "" "LRF, или TXT, или EPUB. Ако књига нема одговарајући формат неће бити " "извршена никаква акција.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "Морате навести идентификатор и формат" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -21027,15 +21417,15 @@ msgstr "" "иденитифкатором.\n" "Идентификатор је број добијен коришћењем лист команде.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "Прикажи метаподатке у OPF облику (XML)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "Морате навести идентификатор." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -21050,7 +21440,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -21060,40 +21450,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "Име поља" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "Морате навести ид запис као први аргумент" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "%s није познато поље" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -21109,28 +21499,28 @@ msgstr "" "Ова операција чува све формате књига, насловне стране и метаподатке (у\n" "opf датотеци). Идентификаторе можете добити коришћењем лист команде.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "Извези све књиге из базе података занемаривши листу идентификатора." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "Извези књиге у наведени директоријум. Подразумева се" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "Извези све књиге у исти директоријум." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "Навођење ове могућности ће спречити ову акцију." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "Морате навести неке идентификаторе за могућност %s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -21147,7 +21537,7 @@ msgstr "" "кориснику.\n" "Тип је један од: {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." @@ -21155,7 +21545,7 @@ msgstr "" "Ова колона чува етикете као податке (тј. као више вредности раздвојених " "зарезима). Ово важи ако је тип текст." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -21175,11 +21565,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "Морате навести етикету, назив и тип." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -21197,7 +21587,7 @@ msgstr "" "каталогу.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" @@ -21207,7 +21597,7 @@ msgstr "" "Ако је наведена занемариће се могућност --search.\n" "Подразумева се: све" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" @@ -21217,16 +21607,16 @@ msgstr "" "да погледате у одговарајући одељак Корисничког упутства.\n" "Подразумева се: без филтрирања." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "Прикажи детаљне информације. Корисно за тражење грешака." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "Грешка: Морате навести излазну датотеку за каталог." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -21247,7 +21637,7 @@ msgstr "" " custom_columns.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." @@ -21255,11 +21645,11 @@ msgstr "" "Ако колона чува више вредности, додај наведене вредности постојећим уместо " "да буду замењене." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "Грешка: Морате навести назив поља, идентификатор и вредност." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -21274,27 +21664,27 @@ msgstr "" "идентификаторе.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "Прикажи детаље о свакој колони." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "y" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -21310,15 +21700,15 @@ msgstr "" " расположивих колона коришћењем команде custom_columns.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "Немој да питаш за одобрење." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "Грешка: Морате навести назив колоне." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -21340,41 +21730,41 @@ msgstr "" " бити земењен.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "Грешка: Морате навести акцију (add|remove|list)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "Назив:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "Низ знакова за претрагу:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "Грешка: Морате навести назив и низ знакова за претрагу." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "додато" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "Грешка: Морате навести назив." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "уклоњено" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" "Грешка: Акција %s није препозната. Мора бити једна од: (add|remove|list)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -21388,13 +21778,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -21405,12 +21795,12 @@ msgstr "" "\n" "Изврши неке провере у директоријумима с библиотеком. Извештаји су {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "Извештај у CSV формату." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" @@ -21418,7 +21808,7 @@ msgstr "" "Зарезима раздвојена листа извештаја.\n" "Подразумевано: све" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" @@ -21426,7 +21816,7 @@ msgstr "" "Зарезима раздвојена листа проширења које ће бити занемарена.\n" "Подразумевано: све" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" @@ -21434,11 +21824,11 @@ msgstr "" "Зарезима раздвојена листа имена која ће бити занемарена.\n" "Подразумевано: све" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "Провера за непознат извештај." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -21467,7 +21857,7 @@ msgstr "" "подаци у OPF датотекама.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." @@ -21475,12 +21865,12 @@ msgstr "" "Заиста изврши опоравак. Ова команда неће бити покренута ако не изаберете ову " "могућност." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -21492,14 +21882,14 @@ msgstr "" "Сачини извештај о категоријама у бази података. Ови подаци\n" "су идентични онима приказаним у прозору са етикетама.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" "Испиши само број ставки по категорији уместо броја по ставки у категорији." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." @@ -21507,7 +21897,7 @@ msgstr "" "Знак којим ће бити уоквирена категорија у CSV начину рада. Подразумева се " "наводник (\")." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" @@ -21515,16 +21905,16 @@ msgstr "" "Зарезима раздвојена листа имена за претраживање категорија.\n" "Подразумева се: све" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" "Низ знакова који раздваја поља у CSV начину рада. Подразумева се зарез." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "СТАВКЕ У КАТЕГОРИЈИ" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -21557,32 +21947,23 @@ msgstr "" "Етикета сме садржати само мала слова, цифре и доње црте, и мора почети " "словом." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "правим корисничку колону " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" "

Преводим стару базу података у библиотеку е-књига у %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "Умножавам%s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "Сажимам базу података" @@ -21849,20 +22230,20 @@ msgstr "" "овом серверу из Apache/nginx/итд." #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "Све књиге" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "Најновије" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "Учитавам. Молим сачекајте." @@ -21885,7 +22266,7 @@ msgid "Browsing %d books" msgstr "Преглед %d књига" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "Просечна оцена" @@ -21894,98 +22275,98 @@ msgstr "Просечна оцена" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "%d звездица" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "Популарност" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "библиотека" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "почетна" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "Прегледај књиге по" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "Изабери категорију по којој ће се прегледати:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "Преглед по" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "Горе" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "у" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "Књиге у" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "Други формати" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "Читај %(title)s у формату %(fmt)s" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "Узми" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "Појединости" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "Стална веза" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "Трајна веза ка овој књизи." -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "Ова књига је избрисана" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "у претрази" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "Одговарајуће књиге." -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -22008,24 +22389,23 @@ msgstr "" "\n" "OPDS интерфејс се аутоматски најављује преко Bonjour сервиса.\n" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "Путања до фасцикле с библиотеком коју ће користити сервер садржаја." -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "Упиши PID процеса у наведену датотеку" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -"Наводи ограничење које ће бити коришћено при овом покретању. Ово подешавање " -"замењује сва подешавања за поједине библиотеке која су постављена у " -"корисничком сучељу." -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -23035,10 +23415,6 @@ msgstr "прпо." msgid "pm" msgstr "попо." -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -23139,6 +23515,31 @@ msgstr "Програм се извршава" msgid "Restart console" msgstr "Поново покрени командну линију." +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "УРЛ мора да има sftp шему" @@ -23187,101 +23588,101 @@ msgstr "Неуспело преузимање %s" msgid "The \"%s\" recipe needs a username and password." msgstr "Рецепт \"%s\" захтева корисничко име и лозинку." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "Преузимање је завршено" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "Нисам успео да преузмем следеће чланке:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "Нисам успео да преузмем делове следећих чланаке:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr " од " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "\tНеуспеле везе:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "Не може да се нађе артикал." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "Покренути са -vv да би видели разлог" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "Преузимам изворе..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "Добио сам изворе с основне стране..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "Покушавам да преузмем насловну страну..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "Правим списак уредника..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "Почиње преузимање [%d нити]..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "Извори су преузети у %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "Нисам успео да преузмем насловну страну: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "Преузимам насловну страну са %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "Преузео сам слику за импресум" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "Текстови у овом броју: " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "Чланак без имена" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "Преузео сам чланак: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "Није успело преузимање чланка: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "Преузимам извор" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 msgid "" "Failed to log in, check your username and password for the calibre " "Periodicals service." @@ -23289,7 +23690,7 @@ msgstr "" "Неуспело пријављивање. Проверите корисничко име и лозинку вашег calibre " "сервиса за периодику." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -23568,7 +23969,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/sr@latin.po b/src/calibre/translations/sr@latin.po index c4b9e9fa10..2849845718 100644 --- a/src/calibre/translations/sr@latin.po +++ b/src/calibre/translations/sr@latin.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2012-08-23 11:36+0000\n" "Last-Translator: Radan Putnik \n" "Language-Team: Serbian Latin \n" @@ -16,24 +16,24 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:27+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:43+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -88,8 +88,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -100,9 +100,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -111,7 +111,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -124,7 +124,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -146,13 +146,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -161,33 +161,33 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -326,345 +326,345 @@ msgstr "" msgid "Set metadata from %s files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -942,8 +942,8 @@ msgstr "" msgid "Disable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -953,11 +953,22 @@ msgstr "" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -969,26 +980,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1001,11 +1012,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" @@ -1013,14 +1024,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1028,7 +1039,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1036,45 +1047,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1102,23 +1138,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1241,8 +1277,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "" @@ -1290,10 +1326,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1334,6 +1370,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1652,17 +1689,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1670,12 +1707,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1683,7 +1720,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1695,7 +1732,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1708,10 +1745,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1768,66 +1807,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1835,7 +1874,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1844,11 +1883,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1868,55 +1907,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2041,7 +2080,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2522,7 +2561,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2831,23 +2870,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3135,15 +3174,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4094,7 +4137,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4118,27 +4161,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4174,13 +4217,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4189,9 +4233,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4201,7 +4246,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4213,8 +4258,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4326,60 +4371,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4387,13 +4432,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4403,6 +4466,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4462,12 +4566,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4494,72 +4598,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4568,14 +4672,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4600,12 +4704,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4638,7 +4742,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4763,9 +4867,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4781,11 +4885,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4828,6 +4932,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4982,7 +5090,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5104,12 +5212,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5186,8 +5294,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5308,7 +5416,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5356,7 +5464,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5370,7 +5478,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5382,12 +5490,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5527,7 +5635,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5555,7 +5663,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5596,7 +5704,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5609,96 +5717,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5717,6 +5838,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5789,75 +5911,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5933,12 +6057,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6022,8 +6146,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6059,7 +6183,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6129,15 +6253,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6242,17 +6366,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6261,185 +6396,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6556,7 +6702,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6661,7 +6807,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6673,30 +6819,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6706,11 +6852,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -6974,7 +7120,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7184,7 +7330,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7194,7 +7340,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7228,16 +7374,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7305,7 +7460,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7491,7 +7646,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7831,8 +7986,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8748,59 +8903,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8812,13 +8971,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9056,6 +9231,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9622,7 +9801,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9668,81 +9847,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9904,7 +10083,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10415,13 +10594,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10455,8 +10634,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10475,13 +10654,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10580,7 +10759,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10628,12 +10807,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10728,40 +10907,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11629,6 +11808,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11664,12 +11844,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12243,12 +12423,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12300,6 +12480,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12314,6 +12495,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13190,7 +13372,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13234,7 +13416,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13244,66 +13426,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13316,32 +13502,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13350,30 +13536,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13478,7 +13664,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13976,7 +14162,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14121,15 +14307,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14137,27 +14323,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14165,38 +14351,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14337,7 +14529,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14380,34 +14573,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14456,12 +14649,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15374,10 +15567,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15395,7 +15584,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16363,20 +16552,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16409,18 +16598,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16795,83 +16984,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17147,32 +17486,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17286,46 +17625,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17347,13 +17686,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17446,7 +17785,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17485,138 +17824,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17627,56 +17966,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17718,73 +18057,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17792,134 +18142,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -17998,31 +18393,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18030,11 +18425,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18050,16 +18445,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18082,34 +18477,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18650,29 +19045,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19920,44 +20315,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19966,59 +20361,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20029,28 +20424,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20060,11 +20465,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20074,15 +20479,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20097,7 +20502,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20107,40 +20512,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20151,28 +20556,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20183,13 +20588,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20209,11 +20614,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20224,30 +20629,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20259,17 +20664,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20278,27 +20683,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20308,15 +20713,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20329,40 +20734,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20376,13 +20781,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20390,34 +20795,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20432,18 +20837,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20451,33 +20856,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20500,31 +20905,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20766,20 +21162,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20802,7 +21198,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20811,98 +21207,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20915,21 +21311,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21932,10 +22330,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22034,6 +22428,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22082,107 +22501,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22445,7 +22864,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/sv.po b/src/calibre/translations/sv.po index 773ebcdf75..a3b7a4f56a 100644 --- a/src/calibre/translations/sv.po +++ b/src/calibre/translations/sv.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" -"PO-Revision-Date: 2013-01-28 00:24+0000\n" -"Last-Translator: Loofy \n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" +"PO-Revision-Date: 2013-04-28 21:17+0000\n" +"Last-Translator: Merarom \n" "Language-Team: Swedish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:22+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Generator: Launchpad (build 16580)\n" +"X-Launchpad-Export-Date: 2013-04-29 04:37+0000\n" "X-Poedit-Country: SWEDEN\n" "X-Poedit-Language: Swedish\n" @@ -25,16 +25,16 @@ msgid "Does absolutely nothing" msgstr "Gör absolut ingenting" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -89,8 +89,8 @@ msgstr "Gör absolut ingenting" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -101,9 +101,9 @@ msgstr "Gör absolut ingenting" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -112,7 +112,7 @@ msgstr "Gör absolut ingenting" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -125,7 +125,7 @@ msgstr "Gör absolut ingenting" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -147,13 +147,13 @@ msgstr "Gör absolut ingenting" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -162,33 +162,33 @@ msgstr "Gör absolut ingenting" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -333,73 +333,73 @@ msgstr "Ställ in metadata i %s-filer" msgid "Set metadata from %s files" msgstr "Ställ in metadata utifrån %s-filer" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "Lägg till böcker till calibre eller den anslutna enheten" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "Hämta anteckningar från en ansluten Kindle (exprimentell)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "Skapa en katalog med de böcker som finns i ditt calibre-bibliotek" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "Konvertera böcker till olika e-boksformat" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" -msgstr "" +msgstr "Finjustera Dina e-Böcker" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" -msgstr "" +msgstr "Redigera innehållsförteckningen i Dina Böcker" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "Ta bort böcker från ditt calibre-bibliotek eller anslutna enhet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "Redigera metadata för de böcker som finns i ditt calibre-bibliotek" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "Läs böcker som finns i ditt calibre-bibliotek" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "Ladda hem nyheter från Internet i e-boksformat" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Visa en lista med relaterade böcker" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "Exportera böcker från ditt calibre-bibliotek till hårddisken" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "Visa bokdetaljer i ett separat fönster" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "Starta om calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "Öppna mappen med de bokfiler som finns i ditt calibre-bibliotek" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "För över böcker till den anslutna enheten" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" @@ -407,42 +407,42 @@ msgstr "" "Skicka böcker via e-post eller webben. Anslut också till iTunes eller mappar " "på datorn som om de vore enheter" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "Läs Calibres användarhandbok" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "Anpassa calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "Hitta böcker liknande den valda" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "äxla mellan olika calibre-bibliotek och utför underhåll på dem" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "Kopiera böcker från enheten till ditt calibre-biblioteket" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "Redigera samlingarna som böckerna placeras i på enheten" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "Kopiera en bok från ett calibre-bibliotek till ett annat" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" "Gör små förändringar i epub- eller htmlz-filer i ditt calibre-bibliotek" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" @@ -450,58 +450,58 @@ msgstr "" "Hitta nästa eller föregående träff vid sökning i markeraläget i ditt calibre-" "bibliotek" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "Välj en slumpmässig bok från ditt Calibre-biblioteket" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "Sök efter böcker från olika boksäljare" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "Hämta nytt Calibre-tillägg eller uppdatera din befintliga" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Utseende och beteende" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Gränssnitt" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" "Justera utseendet och beteendet av Calibre-gränssnittet så det passar din " "smak" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "Beteende" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "Ändra Calibres beteende" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Lägg till dina egna kolumner" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "Lägga till / ta bort dina egna kolumner till Calibres boklista" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Verktygsrad" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -509,65 +509,65 @@ msgstr "" "Anpassa verktygsfält och menyer, genom att ändra vilka åtgärder som finns i " "varje" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "Sökning" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "Anpassa sättet att söka efter böcker verk i eCalibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "Inmatningsalternativ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Konvertera" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "Ange konverteringsalternativ specifika för varje indataformat" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Vanliga alternativ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "Ange konverteringsalternativ gemensamma för alla format" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "Alternativ för utdata" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "Ange konvertering specifika för varje utdataformat" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "Lägga till böcker" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "Import / Export" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Kontrollera hur Calibre läser metadata från filer när du lägger till böcker" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "Spara böcker till disk" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -575,50 +575,50 @@ msgstr "" "Kontrollera hur Calibre exporterar filer från databasen till hårddisken när " "du använder Spara till disk" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "Skickar böcker till enheter" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "Kontrollera hur Calibre överför filer till din läsplatta" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "Kontrollpanel för metadata" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "Ändra metadatafält innan du sparar / skickar" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "Mallfunktioner" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "Avancerat" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "Skapa din egna mallfunktioner" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "Dela böcker via e-post" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "Delar" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -626,11 +626,11 @@ msgstr "" "Ställ in delning av böcker via e-post. Kan användas för automatisk sändning " "av nedladdade nyheter till dina enheter" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "Dela på nätet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -638,56 +638,56 @@ msgstr "" "Ställ in Calibre innehållsserver som ger dig tillgång till din Calibre-" "bibliotek från någonstans, på någon enhet på Internet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "Hämta metadata" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "Kontrollera hur Caliber laddningar ned ebokmetadata från nätet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "Ignorerade enheter" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "Styr vilka enheter calibre ignorerar när de ansluts till datorn." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Tillägg" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Lägg till / ta bort / anpassa olika bitar av Calibre-funktionalitet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "Justeringar" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "Finjustera hur Calibre beter sig i olika sammanhang" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "Tangentbord" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "Anpassa snabbtangenter som används av Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Diverse" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "Diverse avancerad konfiguration" @@ -855,6 +855,7 @@ msgid "" "Intended for the Nook HD+ and similar tablet devices with a resolution of " "1280x1920" msgstr "" +"Avsedd för Nook HD + och liknande surfplattor med en upplösning på 1280x1920" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:484 msgid "This profile is intended for the Kobo Reader." @@ -989,8 +990,8 @@ msgstr "Aktivera namngivet tillägg" msgid "Disable the named plugin" msgstr "Inaktivera namngivet tillägg" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -1000,11 +1001,22 @@ msgstr "Inaktivera namngivet tillägg" msgid "Path to library too long. Must be less than %d characters." msgstr "Sökväg till biblioteket för lång. Måste vara mindre än tecken %d." -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "skapa anpassad kolumn " + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -1016,26 +1028,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "%(tt)sMedelbetyg är %(rating)3.1f" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "Allmänt" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "Kort A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "Kort B" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1048,11 +1060,11 @@ msgstr "Kort B" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Nyheter" @@ -1060,14 +1072,14 @@ msgstr "Nyheter" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "ikryssad" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "ja" @@ -1075,7 +1087,7 @@ msgstr "ja" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "nej" @@ -1083,45 +1095,70 @@ msgstr "nej" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "inte ikryssad" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "i dag" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "i går" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "denna månad" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "dagar sedan" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "Antal konverteringsfel: {0}" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "Datumkonverteringsfel: {0}" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "tom" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "tom" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "Ogiltig Boolesk fråga \"{0}\"" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "Ogiltig frågeformat för kolonseparerad sökning: {0}" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "Rekursiv frågegrupp upptäckt: {0}" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1151,7 +1188,7 @@ msgstr "" msgid "Communicate with Android phones." msgstr "Kommunicera med Android-telefoner." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" @@ -1159,7 +1196,7 @@ msgstr "" "Kommaseparerad lista av kataloger att skicka e-böcker till på enhetens " "huvudminne . Den första som existerar kommer att användas" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" @@ -1167,11 +1204,11 @@ msgstr "" "Kommaseparerad lista av kataloger att skicka e-böcker till på enhetens kort " " lagring . Den första som existerar kommer att användas" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "Kommunicera med S60-telefoner" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "Kommunicera med WebOS-surfplattor." @@ -1324,8 +1361,8 @@ msgstr "" "Klicka på \"Visa detaljer\" för en lista." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "Katalog" @@ -1380,10 +1417,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1424,6 +1461,7 @@ msgstr "Lägger till böcker till enhetens metadatalista..." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1490,7 +1528,7 @@ msgstr "Kommunicera med läsplattan Binatone Readme." #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:56 msgid "Communicate with the Tolino Shine reader." -msgstr "" +msgstr "Kommunicera Med läsaren Tolino Shine." #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:214 msgid "Communicate with the Astak Mentor EB600" @@ -1759,17 +1797,17 @@ msgstr "" "användbart om du har ändrat omslaget." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "Ladda Upp Svartvitt omslag" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "Visa utgått böcker" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1780,12 +1818,12 @@ msgstr "" "kan ta bort dem med den nya bortagningslogiken." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "Visa förhandsvisning" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1796,7 +1834,7 @@ msgstr "" "se dem. Aktivera om du vill se / ta bort dem." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "Visa rekommendationer" @@ -1811,7 +1849,7 @@ msgstr "" "vill se / ta bort dem." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "Försök att stödja nyare firmware" @@ -1824,10 +1862,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "Kobo databas version stöds - se detaljer" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1886,19 +1926,19 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" -msgstr "" +msgstr "Ange ett tags typ kolumnen för automatisk hantering" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "Skapa bokhyllor" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." @@ -1906,11 +1946,11 @@ msgstr "" "Skapa nya bokhyllor på Kobo Touch om de inte existerar. Det är bara för " "firmware V2.0.0 eller senare." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "Ta Bort Tomma Bokhyllor" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." @@ -1918,27 +1958,31 @@ msgstr "" "Ta bort alla tomma bokhyllor från Kobo Touch När synkroniseringen är klar. " "Det är bara för firmware V2.0.0 eller senare." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "Ladda Omslag för Böcker" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" +"Ladda omslagsbilder från Calibres biblioteket när du skickar böcker till " +"enheten." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" -msgstr "" +msgstr "Behåll bildförhållande från omslagsbild" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" +"När överföringen av omslag sker, ändra inte bildformatet när du ändrar " +"storlek för enheten. Detta är för firmware-versioner 2.3.1 och senare." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " @@ -1948,11 +1992,11 @@ msgstr "" "andra fall är de bara pekare till webbplatsen att köpa. Aktivera om du vill " "se / ta bort dem." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "Ställ in serieinformation" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1964,7 +2008,7 @@ msgstr "" "den efter att boken har behandlats av enheten. Aktivera om du vill ställa in " "serien informationen." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1972,12 +2016,17 @@ msgid "" "factory defaults and testing software. This driver supports firmware V2.x.x " "and DBVersion up to " msgstr "" +"Kobo uppdaterar rutinmässigt firmware- och databasenversionen. Med det här " +"alternativet kommer Calibre att försöka utföra fullständig läs-skriv-" +"funktionalitet - (betafunktion) Aktivera endast om du är bekväm med att " +"återställa din Kobo till fabriksinställningarna och testa programvara. Den " +"här drivrutinen stöder firmware V2.xx och DBVersion upp till " -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "Titel som används vid felsökning" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -2000,57 +2049,57 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "Kommunicera med Sweex/Kogan/Q600/Wink" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "Kommunicera med Pandigital Novel" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "Kommunicera med VelocityMicro" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "Kommunicera med GM200" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "Kommunicera med Acer Lumiread" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "Kommunicera med Aluratek Color" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "Kommunicera med Trekstor" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "Kommunicera med EEE Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "Kommunicera med Adam-tabletten" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "Kommunicera med Nextbook Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "Kommunicera med Moovybook-läsare" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "Kommunicera med COBY" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "Kommunicera med Ex124G" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" -msgstr "" +msgstr "Kommunicera Med WayteQ OCH SPC Dickens Läsare" #: /home/kovid/work/calibre/src/calibre/devices/mtp/base.py:29 msgid "MTP Device" @@ -2152,6 +2201,9 @@ msgid "" "may need to install Windows Media Player 11 or newer and/or restart your " "computer" msgstr "" +"Windowstjänsten för den portabla enheten är inte tillgänglig på datorn. Du " +"kanske måste installera Windows Media Player 11 eller nyare och / eller " +"starta om datorn" #: /home/kovid/work/calibre/src/calibre/devices/nokia/driver.py:17 msgid "Communicate with the Nokia 770 internet tablet." @@ -2173,9 +2225,9 @@ msgstr "Nook" msgid "Communicate with the Nook eBook reader." msgstr "Kommunicera med läsplattan Nook." -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." -msgstr "" +msgstr "Kommunicera med Nook Color, TSR och surfplattans e-bokläsare." #: /home/kovid/work/calibre/src/calibre/devices/nuut2/driver.py:17 msgid "Communicate with the Nuut2 eBook reader." @@ -2303,6 +2355,10 @@ msgid "" "With this option, calibre will send a separate cover image to the reader, " "useful if you are sending DRMed books in which you cannot change the cover." msgstr "" +"Normalt, Sony läsare får omslagsbild från själva e-bokfilen. Med det här " +"alternativet, kommer Calibre skicka en separat omslagsbild till läsaren, " +"användbart om du överför böcker med kopieringsskydd (DRM) som du inte kan " +"byta omslag på." #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:76 msgid "Refresh separate covers when using automatic management" @@ -2310,7 +2366,7 @@ msgstr "Uppdatera separata omslag Närs du använder Automatisk hantering" #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:88 msgid "Use SONY Author Format (First Author Only)" -msgstr "" +msgstr "Använd SONY författarformat (bara den första författare)" #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:90 msgid "" @@ -2325,11 +2381,11 @@ msgstr "Trådlös enhet" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:188 msgid "Communicate with Smart Device apps" -msgstr "" +msgstr "Kommunicera Med SMARTA enhets apps" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:274 msgid "All by something" -msgstr "" +msgstr "Alla med" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:277 msgid "Enable connections at startup" @@ -2346,6 +2402,8 @@ msgstr "Säkerhetslösenordet" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:281 msgid "Enter a password that the device app must use to connect to calibre" msgstr "" +"Ange ett lösenord som enhetensappen måste använda för att ansluta till " +"Calibre" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:283 msgid "Use fixed network port" @@ -2386,7 +2444,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:293 msgid "Possibilities include: series, tags, authors, etc" -msgstr "" +msgstr "Möjligheter inkluderar: serier, märkningar, författare, etc." #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:301 msgid "Enable the no-activity timeout" @@ -2417,7 +2475,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:311 msgid "Replace books with the same calibre identifier" -msgstr "" +msgstr "Byt böcker med samma Calibre-identifierare" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:312 msgid "" @@ -2703,7 +2761,7 @@ msgid "There is insufficient free space on the storage card" msgstr "Det finns tillräckligt med plats på minneskortet" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "Renderade %s" @@ -3104,11 +3162,11 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "CSS-fil som används för produktion istället för standard-fil" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" @@ -3116,7 +3174,7 @@ msgstr "" "Mall som används för generering av HTML-index filen istället för den " "förvalda fil" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" @@ -3124,7 +3182,7 @@ msgstr "" "Mall som används för generering av html innehållet i boken istället för " "standard-fil" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3395,6 +3453,8 @@ msgid "" "The unit of measure for page sizes. Default is inch. Choices are %s Note: " "This does not override the unit for margins!" msgstr "" +"Mätenheten för sidstorlek. Standard är tum. Alternativen är %s Obs: Detta " +"påverkar inte enheten för marginaler!" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:63 #, python-format @@ -3402,6 +3462,8 @@ msgid "" "The size of the paper. This size will be overridden when a non default " "output profile is used. Default is letter. Choices are %s" msgstr "" +"Storleken på papperet. Denna storlek kommer att åsidosättas när en icke " +"standard utdataprofil används. Standard är bokstaven. Alternativen är %s" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:67 msgid "" @@ -3422,24 +3484,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:77 msgid "The font family used to render serif fonts" -msgstr "" +msgstr "Teckensnittetsfamilj som används för att omvandla serif typsnittet" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:80 msgid "The font family used to render sans-serif fonts" msgstr "" +"Teckensnittetsfamilj som används för att omvandla sans-serif typsnittet" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:83 #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:87 msgid "The font family used to render monospaced fonts" msgstr "" +"Teckensnittetsfamilj som används för att omvandla monospace typsnittet" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:90 msgid "The default font size" -msgstr "" +msgstr "Den förvalda teckenstorlek" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:93 msgid "The default font size for monospaced text" -msgstr "" +msgstr "Den förvalda teckenstorleken för monospace-text" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:95 msgid "Surround all links with a red box, useful for debugging." @@ -3462,15 +3526,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4265,7 +4333,7 @@ msgstr "Ange publiceringsdatum." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:574 msgid "Set the book timestamp (no longer used anywhere)" -msgstr "" +msgstr "Ställ in bokens tidsstämpel (används inte längre)" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:578 msgid "" @@ -4676,7 +4744,7 @@ msgstr "" msgid "Set book ID" msgstr "Ange bokens identitet" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4702,27 +4770,27 @@ msgstr "Nej" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "Titel" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "Författare" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "Förlag" @@ -4758,13 +4826,14 @@ msgstr "Kommentarer" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "Etiketter" @@ -4773,9 +4842,10 @@ msgstr "Etiketter" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4785,7 +4855,7 @@ msgstr[0] "Serier" msgstr[1] "Series" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4797,8 +4867,8 @@ msgstr "Tidsstämpel" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "Utgiven" @@ -4935,61 +5005,61 @@ msgstr "" "Hämta omslag/sociala metadata från boken med angivet ISBN-nummer från " "LibraryThing.com\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "Omslag" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "Nedladdningar metadata och omslag från Amazon" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "USA" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "Frankrike" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "Tyskland" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "Storbritannien" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "Italien" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "Japan" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 -msgid "Brazil" -msgstr "" +msgstr "Spanien" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +msgid "Brazil" +msgstr "Brasilien" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "Amazon webbplats som ska användas:" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" "Metadata från Amazon att hämtas med hjälp av detta lands Amazon hemsida." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "Amazon tidsbegränsning löpte ut. Försök igen senare." @@ -4997,6 +5067,26 @@ msgstr "Amazon tidsbegränsning löpte ut. Försök igen senare." msgid "Metadata source" msgstr "Metadatakälla" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" +"Ladda ner flera bokomslag från Amazon. Användbar för att hitta alternativa " +"omslag." + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "Maximalt antal omslag att hämta" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " @@ -5005,7 +5095,7 @@ msgstr "" "Nedladdningar metadata och täcker från Douban.com. Användbara endast för " "kinesiska böcker." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -5015,6 +5105,49 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "Nedladdningar metadata och omslag från Google Books" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" +"Ladda ner omslag genom att använda Google bildsökning. Användbar för att " +"hitta större / alternativa omslag." + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "Konfigurera Google bildsökningstillägg" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "Omslagsstorlek" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "Alla storlekar" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "Stor" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "Hämtar metadata from isbndb.com" @@ -5087,12 +5220,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "Det här är en Amazon Topaz-bok. Den kan inte hanteras." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "Detta är inte en MOBI fil." @@ -5119,72 +5252,72 @@ msgid "No details available" msgstr "Inga detaljer tillgängliga" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "Innehållsförteckning" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "Titelsida" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "Översikt" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "Ordförklaringar" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "Tack till" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "Litteraturförteckning" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "Kolofon" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "Upphovsrätt" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "Tillägnan" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "Epigraf" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "Förord" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "Illustrationslista" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "Tabellista" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "Anteckningar" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "Förord" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "Huvudtext" @@ -5193,14 +5326,14 @@ msgstr "Huvudtext" msgid "%s format books are not supported" msgstr "%s-formaterade böcker stöds inte" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -5208,7 +5341,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/errors.py:17 msgid "This file is locked with DRM. It cannot be edited." -msgstr "" +msgstr "I Den KAN integre redigeras." #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:36 #, python-format @@ -5225,12 +5358,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -5263,12 +5396,16 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" +"

Sätt ett \"skyddsomslag\" i början av boken som innehåller \n" +"allt om bokens metadata som titel, markeringar, författare, serier, " +"kommentarer, \n" +"etc. Eventuella tidigare skyddsomslag kommer att ersättas.

" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 msgid "

Remove a previous inserted book jacket page.

\n" -msgstr "" +msgstr "

bort ett tidigare insatt skyddsomslag.

\n" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:78 msgid "" @@ -5287,44 +5424,44 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:125 msgid "Updating metadata" -msgstr "" +msgstr "Uppdaterar metadata" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:130 msgid "Updated metadata jacket" -msgstr "" +msgstr "Skyddsomslagets metadata har uppdaterats" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:131 msgid "Metadata updated\n" -msgstr "" +msgstr "Metadata uppdaterad\n" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:134 msgid "Setting cover" -msgstr "" +msgstr "Stalla i omslag" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:139 msgid "Inserting metadata jacket" -msgstr "" +msgstr "Satta in skyddsomslagets metadata" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:142 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:146 msgid "Existing metadata jacket replaced" -msgstr "" +msgstr "Befintlig skyddsomslagets metadata ersättas" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:144 msgid "Metadata jacket inserted" -msgstr "" +msgstr "Skyddsomslagets metadata insatt" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:150 msgid "Removing metadata jacket" -msgstr "" +msgstr "Borttagning av skyddsomslag metadata" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:152 msgid "Metadata jacket removed" -msgstr "" +msgstr "Skyddsomslagets metadata avlägsnas" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:154 msgid "No metadata jacket found" -msgstr "" +msgstr "Ingens skyddsomslag metadata hittades" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:158 msgid "Smartening punctuation" @@ -5332,7 +5469,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:163 msgid "Subsetting embedded fonts" -msgstr "" +msgstr "Delinställning inbäddat teckensnitt" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:169 #, python-format @@ -5356,15 +5493,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:220 msgid "You must provide the input file to polish" -msgstr "" +msgstr "Du maste ängl indatafilen attR polera" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:224 msgid "Unknown extra arguments" -msgstr "" +msgstr "Okanda extra argument" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:242 msgid "You must specify at least one action to perform" -msgstr "" +msgstr "Du måste ange minst en åtgärd att utföra" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/replace.py:73 #, python-format @@ -5375,12 +5512,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:138 #, python-format msgid "No file named %s exists" -msgstr "" +msgstr "Det existerar ingen fil med namnet %s" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:142 #, python-format msgid "No HTML file named %s exists" -msgstr "" +msgstr "Ingen HTML-fil med namnet %s existerar" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:152 #, python-format @@ -5388,11 +5525,11 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" -msgstr "" +msgstr "(Namnlös)" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:187 @@ -5406,11 +5543,11 @@ msgid "HTML TOC generation options." msgstr "Alternativ för innehållsförteckning från HTML." #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "Betyg" @@ -5456,6 +5593,10 @@ msgstr "Sidan %d" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "Kunde inte hitta pdftohtml, kolla om det finns i din PATH" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "Namnlös" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5622,7 +5763,7 @@ msgid "Show this confirmation again" msgstr "Visum This bekräftelse Igen" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "Omstart behövs" @@ -5748,12 +5889,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5830,8 +5971,8 @@ msgstr "Lägg till i biblioteket" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5955,7 +6096,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "Välj destination för %(title)s.%(fmt)s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -6006,7 +6147,7 @@ msgid "No existing calibre library found at %s" msgstr "Inga befintliga Calibre biblioteket finns på %s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "Välj bibliotek" @@ -6020,7 +6161,7 @@ msgstr "Byt/skapa bibliotek..." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -6032,12 +6173,12 @@ msgid "Pick a random book" msgstr "Välj en slumpmässig bok" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "Snabb växling" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "Byt namn på biblioteket" @@ -6189,7 +6330,7 @@ msgstr "" "databasen?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -6218,7 +6359,7 @@ msgstr "Inga problem upptäcktes" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -6246,7 +6387,7 @@ msgstr "Konvertera böcker" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:22 msgid "Convert books between different ebook formats" -msgstr "" +msgstr "Konvertera böcker mellan olika e-bokformat" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:55 msgid "Convert individually" @@ -6261,7 +6402,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "Skapa en katalog med de böcker i din caliber biblioteket" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "Kan inte konvertera" @@ -6274,96 +6415,109 @@ msgstr "Påbörjar konvertering av %d böcker" msgid "Empty output file, probably the conversion process crashed" msgstr "Tom utfil, förmodligen kraschade konverteringsprocessen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "Välj bibliotek" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" +msgstr "&Kopiera" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "&Flytta" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "Kopiera till bibliotek" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "Kopiera utvalda böcker till angivet biblioteket" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "(Stryk efter kopiering)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "Kan inte kopiera" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "Inga bibliotek" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "Inga bibliotek finns på %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "Copied %(num)d books to %(loc)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "Kunde inte kopiera böcker: " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "Automatisk sammanslagning" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -6384,6 +6538,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "Är du säker?" @@ -6461,11 +6616,11 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "Välj format att ta bort" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." @@ -6473,7 +6628,7 @@ msgstr "" "Välj format inte som ska tas bort.

Observera att detta aldrig " "kommer att ta bort alla format från en bok." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" @@ -6481,44 +6636,44 @@ msgstr "" " Alla format för den valda böcker kommer att bort från " "biblioteket.
Boken metadata kommer att hållas. Är du säker?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "Kan ej ta bort böcker" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "Ingen enhet ansluten" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "Inbyggt minne" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "Minneskort A" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "Minneskort B" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "Inga böcker att ta bort" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "Inga av de valda böckerna finns på enheten" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "Tar bort böcker från enheten" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" @@ -6526,21 +6681,21 @@ msgstr "" "Några av de utvalda böcker på den anslutna enheten. Var vill du ha " "de markerade filerna ska bort ifrån?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -"De utvalda böckerna kommer att tas bort permanent och filerna tas " -"bort från ditt Calibre-bibliotek. Är du säker?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" -"De utvalda böckerna kommer att tas bort permanent från enheten. Är " -"du säker?" +"Den valda boken %d kommer att tas bort permanent från din enhet. " +"Är du säker?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 msgid "Start wireless device connection" @@ -6615,12 +6770,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "Avslutar" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "Stoppa server, kan detta ta upp till en minut, vänta ..." @@ -6704,8 +6859,8 @@ msgstr "Misslyckades med att hämta metadata" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "Hämtningen misslyckades" @@ -6746,7 +6901,7 @@ msgid "Download complete" msgstr "Nedladdning färdig" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "Hämta log" @@ -6842,15 +6997,15 @@ msgstr "" "permanent bort från din kaliber biblioteket.
Är du säker " " du vill fortsätta?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "Tillämpa förändrat metadata" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "Vissa fel" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6933,7 +7088,7 @@ msgstr "O" #: /home/kovid/work/calibre/src/calibre/gui2/actions/open.py:15 msgid "Open the folder containing the current book's files" -msgstr "" +msgstr "Öppna mappen som innehåller den aktuella bokens filer" #: /home/kovid/work/calibre/src/calibre/gui2/actions/plugin_updates.py:18 msgid "Plugin Updater" @@ -6941,7 +7096,7 @@ msgstr "Tilläggsuppdaterare" #: /home/kovid/work/calibre/src/calibre/gui2/actions/plugin_updates.py:18 msgid "Update any plugins you have installed in calibre" -msgstr "" +msgstr "Uppdatera Alla TILLÄGG du HAR installerade i Calibre" #: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:34 msgid "Polish book" @@ -6955,19 +7110,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:40 #, python-format msgid "

About Polishing books

%s" +msgstr "

Om Polering AV Böcker %s" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" -msgstr "" +msgstr "

Delinställning av typsnitt

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6976,192 +7142,205 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" -msgstr "" +msgstr "

Bokskyddsomslag

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "Snygga till &interpunktion" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" -msgstr "" +msgstr "Om" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" -msgstr "" +msgstr "Visa &rapport" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" -msgstr "" +msgstr "&Spara inställningar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" -msgstr "" +msgstr "&Hämta inställningar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" -msgstr "" +msgstr "Välj &alla" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" -msgstr "" +msgstr "Välj &ingen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" -msgstr "" +msgstr "Inga åtgärder valda" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" -msgstr "" +msgstr "Välj namn" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" -msgstr "" +msgstr "Välj ett namn för dessa inställningar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" +msgstr "Ta bort sparade inställningar" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "Måste uppdatera metadata" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" -msgstr "" +msgstr "Polering av %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " -msgstr "" +msgstr " OCHj " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." -msgstr "" +msgstr "Om du polerar igen, kommer polering utföras på originalen." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" -msgstr "" +msgstr "Polerar Böcker" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" -msgstr "" +msgstr "Applicera perfekt glans på dina böcker" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" -msgstr "" +msgstr "P" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" +"Polering stöds bara böcker i %s format. Konvertera till ett av dessa format " +"innan polering." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" -msgstr "" +msgstr "Starta polering av %d bok/böcker" #: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:20 msgid "Configure calibre" -msgstr "" +msgstr "Anpassa Calibre" #: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:20 msgid "Ctrl+P" @@ -7240,7 +7419,7 @@ msgstr "Kan inte spara till disk" #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:64 msgid "Choose format to save to disk" -msgstr "" +msgstr "Välj format för att spara till disk" #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:85 msgid "Choose destination directory" @@ -7274,7 +7453,7 @@ msgid "Click the show details button to see which ones." msgstr "Klicka på knappen \"Visa detaljer\" för att se vilka." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "Visa bokdetaljer" @@ -7285,6 +7464,7 @@ msgstr "I" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:17 msgid "Show the detailed metadata for the current book in a separate window" msgstr "" +"Visa detaljerat metadata för den aktuella boken i ett separat fönster" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:26 msgid "No detailed info available" @@ -7313,7 +7493,7 @@ msgstr "Snabbvisare är inte tillgänglig för böcker på enheten." #: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:17 msgid "Show books similar to the current book" -msgstr "" +msgstr "Visa böcker som liknar den aktuella boken" #: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:17 msgid "Similar books..." @@ -7369,7 +7549,7 @@ msgstr "Sök efter e-böcker" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:28 msgid "this author" -msgstr "" +msgstr "denna författare" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:28 msgid "this title" @@ -7380,7 +7560,7 @@ msgid "this book" msgstr "den här boken" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "Sök %s" @@ -7392,17 +7572,17 @@ msgstr "Butiker" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "Välj butiker" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "Kan inte söka" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." @@ -7410,7 +7590,7 @@ msgstr "" "Caliber hjälper dig hitta den eBoj du vill genom att söka på webbplatserna " "för olika kommersiella och offentliga domänkällor för dig." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " @@ -7419,7 +7599,7 @@ msgstr "" "Med den integrerade sökning kan du lätt hitta vilken butik har den bok du " "söker, till bästa pris. Du får också DRM status och annan nyttig information." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -7435,29 +7615,29 @@ msgstr "" "bok läsare, särskilt om den bok du köper har DRM ." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "Visa detta meddelande igen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "Om hämta böcker" #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:24 msgid "Choose format to edit" -msgstr "" +msgstr "Välj format för att redigera" #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:28 msgid "Choose which format you want to edit:" -msgstr "" +msgstr "Välj vilket format du vill redigera:" #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:40 msgid "&All formats" -msgstr "" +msgstr "&Alla format" #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:62 msgid "Edit ToC" -msgstr "" +msgstr "Redigera innehållsförteckning" #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "K" @@ -7466,7 +7646,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:113 msgid "Cannot edit ToC" -msgstr "" +msgstr "Kan integre redigera INNEHÅLLSFÖRTECKNING" #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:103 #, python-format @@ -7474,15 +7654,17 @@ msgid "" "Editing Table of Contents is only supported for books in the %s formats. " "Convert to one of those formats before polishing." msgstr "" +"Redigera Innehåll stöds bara böcker i %s format. Konvertera till ett av " +"dessa format innan polering." #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:288 msgid "Tweak Book" -msgstr "" +msgstr "Justera bok" #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:64 msgid "Choose the format to tweak:" -msgstr "" +msgstr "På Välj formatet FÖR ATT justera:" #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:74 msgid "" @@ -7517,7 +7699,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:104 msgid "&Preview Book" -msgstr "" +msgstr "& Förgranska bok" #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:25 @@ -7541,11 +7723,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:113 msgid "Abort without saving any changes" -msgstr "" +msgstr "Avbryt Utan attR Spara Nagra ändringar" #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:115 msgid "Save your changes and update the book in the calibre library" -msgstr "" +msgstr "Spara ändringarna OCH uppdatera Boken i Calibre-biblioteket" #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:155 msgid "Exploding, please wait..." @@ -7608,7 +7790,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:37 msgid "Read books" -msgstr "" +msgstr "Read Böcker" #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:37 msgid "V" @@ -7711,7 +7893,7 @@ msgid "The specified directory could not be processed." msgstr "Den angivna katalogen kunde inte behandlas." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "Inga böcker" @@ -7938,7 +8120,7 @@ msgid "Click to open" msgstr "Klicka för att öppna" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "Ids" @@ -7948,7 +8130,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "Bok %(sidx)s av %(series)s" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "Samlingar" @@ -7982,16 +8164,25 @@ msgstr "Sökväg" msgid "Cover size: %(width)d x %(height)d" msgstr "Omslagsmått: %(width)d x %(height)d" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "&Kopiera länk" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "Ta bort %s format" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "Spara %s format till hårddisken" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "Återställ %s formatet" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "Alternativ för BibTeX" @@ -8059,7 +8250,7 @@ msgstr "utdata" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -8197,36 +8388,38 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:680 msgid "Delete saved catalog preset" -msgstr "" +msgstr "Radera sparad katalogförinställning" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:681 msgid "The selected saved catalog preset will be deleted. Are you sure?" -msgstr "" +msgstr "Den valda sparade katalogenförinställning raderas. Är du säker?" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:706 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:711 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:716 msgid "Save catalog preset" -msgstr "" +msgstr "Spara katalogförinställdning" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:707 msgid "Preset name:" -msgstr "" +msgstr "Förinställt Namn:" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:712 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1065 msgid "You must provide a name." -msgstr "" +msgstr "Du maste ängl ETT Namn." #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:717 msgid "" "That saved preset already exists and will be overwritten. Are you sure?" msgstr "" +"Det sparade förinställningen finns redan och kommer att skrivas över. Är du " +"säker?" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:981 #, python-format msgid "Are you sure you want to delete '%s'?" -msgstr "" +msgstr "Ar du Saker In ATT du Vill ta Bort '%s'?" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:983 #, python-format @@ -8252,7 +8445,7 @@ msgstr "Sant" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "Namn" @@ -8272,15 +8465,15 @@ msgstr "Prefix" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:346 msgid "Presets" -msgstr "" +msgstr "Förinställningar" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:347 msgid "Select catalog preset to load" -msgstr "" +msgstr "Välj förinställd katalog att ladda" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:348 msgid "Save current catalog settings as preset" -msgstr "" +msgstr "Spara aktuella katalogeninställningar som förinställd" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:349 #: /usr/src/qt-everywhere-opensource-src-4.8.4/src/gui/widgets/qdialogbuttonbox.cpp:661 @@ -8289,7 +8482,7 @@ msgstr "Spara" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:350 msgid "Delete current preset" -msgstr "" +msgstr "Radera Aktuell förinställning" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:351 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:629 @@ -8307,39 +8500,39 @@ msgstr "Inkluderade sektioner" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:354 msgid "List of books, sorted by Author" -msgstr "" +msgstr "Lista ÖVER Böcker, sorterade KUNISADA författare" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:355 msgid "&Authors" -msgstr "" +msgstr "OCHj författare" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:356 msgid "List of books, sorted by Title" -msgstr "" +msgstr "Lista ÖVER Böcker, sorterade KUNISADA titel" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:357 msgid "&Titles" -msgstr "" +msgstr "&Titlar" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:358 msgid "List of series books, sorted by Series" -msgstr "" +msgstr "Förteckning över serie böcker, sorterade efter serie" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:359 msgid "&Series" -msgstr "" +msgstr "&Serier" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:360 msgid "List of books, sorted by Genre" -msgstr "" +msgstr "Lista över böcker, sorterade efter genre" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:361 msgid "&Genres" -msgstr "" +msgstr "&Genrer" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:362 msgid "Field containing Genres" -msgstr "" +msgstr "Fält som innehåller genrer" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:363 msgid "List of books, sorted by date added to calibre" @@ -8443,7 +8636,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:387 msgid "&Merge with Comments:" -msgstr "" +msgstr "&Slå samman med Kommentarer:" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:388 msgid "Catalog cover:" @@ -8451,11 +8644,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:389 msgid "Generate new cover" -msgstr "" +msgstr "SKAPA-Nya omslag" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:390 msgid "Use existing cover" -msgstr "" +msgstr "Använd existerande omslag" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:391 msgid "E&xtra Description note:" @@ -8592,8 +8785,8 @@ msgid "Style the selected text block" msgstr "Stilartsändra det markerade textblocket" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "Normal" @@ -8648,7 +8841,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:216 msgid "Enter name (optional):" -msgstr "" +msgstr "Ange namn (valfritt):" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:584 msgid "Normal view" @@ -8710,6 +8903,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 msgid "None of the selected books have saved conversion settings." msgstr "" +"INGEN AV De utvalda böckerna HAR sparat konverteringsinställningarna." #: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:84 msgid "Bulk Convert" @@ -8845,7 +9039,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/djvu_input.py:14 msgid "DJVU Input" -msgstr "" +msgstr "DJVU ingang" #: /home/kovid/work/calibre/src/calibre/gui2/convert/djvu_input_ui.py:32 msgid "Use &djvutxt, if available, for faster processing" @@ -9156,7 +9350,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:223 msgid "Select what style information you want completely removed:" -msgstr "" +msgstr "Välj vilken stil information du vill helt tabort:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:224 msgid "Removes the font-family CSS property" @@ -9182,7 +9376,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:229 msgid "&Padding" -msgstr "" +msgstr "&Utfyllnad" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:230 msgid "Convert floating images/text into static images/text" @@ -9558,59 +9752,63 @@ msgstr "&Inga bilder" msgid "PDF Output" msgstr "PDF-utdata" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "&Pappersstorlek:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "Behåll omslagets proportioner" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "Se&rif-familjen:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "&Sans-familjen:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "Familj för fast bredd-teckensnitt:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "Normalt tecken&snitt:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" -msgstr "" +msgstr "Grundinställning av typsnittstorlek" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -9622,15 +9820,31 @@ msgstr "" msgid " px" msgstr " px" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "Teckenstorlek för fast bredd:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "Sidhuvud och sidfot" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" +msgstr "Och sidfotmall:" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 msgid "PMLZ Output" msgstr "PMLZ kodat utdata" @@ -9667,7 +9881,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:185 msgid "Failed to generate preview" -msgstr "" +msgstr "DET Gick integre attR Generera förhandsgranskning" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:191 msgid "Open book" @@ -9676,6 +9890,7 @@ msgstr "Öppna bok" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:215 msgid "Click the Open button below to open a ebook to use for testing." msgstr "" +"Klicka på knappen öppna nedan för att öppna en bok att använda för testning." #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:90 msgid "Regex Builder" @@ -9757,7 +9972,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace.py:113 msgid "Failed to read" -msgstr "" +msgstr "Läsning misslyckades" #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace.py:114 #, python-format @@ -9815,7 +10030,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:150 msgid "Edit the currently selected expression" -msgstr "" +msgstr "Redigera det valda uttrycket" #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:151 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:59 @@ -9824,7 +10039,7 @@ msgstr "Ändra" #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:152 msgid "Remove the currently selected expression" -msgstr "" +msgstr "Ta bort det valda uttrycket" #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:901 @@ -9833,7 +10048,7 @@ msgstr "&Ta bort" #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:154 msgid "Load a list of expressions from a previously saved file" -msgstr "" +msgstr "Ladda en lista med uttryck från en tidigare sparad fil" #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:155 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:463 @@ -9842,7 +10057,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:156 msgid "Save this list of expressions so that you can re-use it easily" -msgstr "" +msgstr "Spara denna lista över uttryck så att du lätt kan återanvända den" #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:157 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:188 @@ -9853,11 +10068,11 @@ msgstr "&Spara" #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:158 msgid "Move expression up." -msgstr "" +msgstr "Flytta uttryck upp." #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:159 msgid "Move expression down." -msgstr "" +msgstr "Flytta uttryck ned." #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:160 msgid "" @@ -9869,6 +10084,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "Konvertera" @@ -9934,7 +10153,7 @@ msgstr "Infoga sidbrytningar före (XPath-uttryck):" #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:35 msgid "Start reading at (XPath expression):" -msgstr "" +msgstr "Börja läsa på (XPath-uttryck):" #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:44 #: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:39 @@ -10288,7 +10507,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:347 msgid "Values changed" -msgstr "" +msgstr "Värden har ändrats" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:348 msgid "" @@ -10368,7 +10587,7 @@ msgstr "Hämta en lista över böcker på enheten" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:485 msgid "Prepare files for transfer from device" -msgstr "" +msgstr "Förbereder filer för överföring från enheten" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:496 msgid "Get annotations from device" @@ -10454,7 +10673,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "Inga lämpliga format" @@ -10469,13 +10688,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:919 msgid "Cannot configure the device while there are running device jobs." -msgstr "" +msgstr "Kan inte anpassa enheten medan det finns aktiva jobb på enheten." #: /home/kovid/work/calibre/src/calibre/gui2/device.py:924 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:360 #, python-format msgid "Configure %s" -msgstr "" +msgstr "Anpassa %s" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:939 #, python-format @@ -10500,67 +10719,67 @@ msgstr "Enhet: " msgid " detected." msgstr " hittades" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "vald att skickas" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "Ingen enhet" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" -msgstr "" +msgstr "Ingen enhet ansluten" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "%(num)i av %(total)i böcker" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "0 av %i böcker" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "Välj format att skicka till enhet" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "Kan inte skicka: ingen enhet är ansluten" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "Inget kort" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "Kan inte skicka: Enheten har inget minneskort" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" "Skall följande böcker konverteras automatiskt innan de skickas till enheten?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "Skickar kataloger till enhet." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "Skickar nyheter till enheten." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "Skickar böcker till enheten." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." @@ -10569,17 +10788,17 @@ msgstr "" "format hittades. Konvertera boken/böckerna till ett format som stöds av " "enheten först." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "Inget ledigt utrymme på enheten" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" "

Kan inte skicka böcker till enheten finns det inte något ledigt utrymme " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -10639,7 +10858,7 @@ msgstr "Spara mall:" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:57 msgid "No formats selected" -msgstr "" +msgstr "Inga valda format" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:58 msgid "You must choose at least one format to send to the device" @@ -10653,7 +10872,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:92 msgid "&Template editor" -msgstr "" +msgstr "&Mallredigerare" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41 @@ -10686,7 +10905,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:220 msgid "Folder on the device" -msgstr "" +msgstr "Mapp in enheten" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:228 msgid "&Remove rule" @@ -10706,7 +10925,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:300 msgid "Add a &new rule" -msgstr "" +msgstr "Lägg till en &ny regel" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:338 #, python-format @@ -10728,7 +10947,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:370 #, python-format msgid "Choose the formats to send to the %s" -msgstr "" +msgstr "På Välj format för ATT SKICKA till %s" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:373 #, python-format @@ -10741,11 +10960,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:383 msgid "Show device information" -msgstr "" +msgstr "Visuminformation OM enheten" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10777,7 +10996,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_folder_browser.py:92 msgid "Choose folder on device" -msgstr "" +msgstr "Välj mapp på enhet" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_folder_browser.py:105 msgid "Scanned folders:" @@ -10791,11 +11010,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_folder_browser.py:131 msgid "Select &All" -msgstr "" +msgstr "Markera &allt" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_folder_browser.py:133 msgid "Select &None" -msgstr "" +msgstr "Markera i&nget" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_folder_browser.py:136 msgid "Choose folders to scan" @@ -10823,11 +11042,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:60 msgid "Reset series" -msgstr "" +msgstr "Återställ serie" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn.py:72 msgid "Some invalid ISBNs" -msgstr "" +msgstr "Vissa ogiltiga ISBN" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn.py:73 msgid "" @@ -10837,11 +11056,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn.py:79 msgid "All invalid ISBNs" -msgstr "" +msgstr "Alla ogiltiga ISBN" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn.py:80 msgid "All the ISBNs you entered were invalid. No books can be added." msgstr "" +"Alla de ISBN nummer som du angav var ogiltiga. Inga böcker kan läggas till." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn_ui.py:63 msgid "Add books by ISBN" @@ -10878,12 +11098,12 @@ msgstr "&Märken att sätta på skapade värdeandelar:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:50 #, python-format msgid "Next [%s]" -msgstr "" +msgstr "Nasta [%s]" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:52 #, python-format msgid "Previous [%s]" -msgstr "" +msgstr "Föregående [%s]" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:71 msgid "Fit &cover within view" @@ -10895,7 +11115,7 @@ msgstr "Mina böcker" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog.py:202 msgid "No help available" -msgstr "" +msgstr "Ingen hjälp finns tillgänglig" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog.py:203 msgid "No help available for this output format." @@ -11356,13 +11576,13 @@ msgid "Where do you want to delete from?" msgstr "Var vill du vill ta bort från?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "Bibliotek" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "Enhet" @@ -11398,8 +11618,8 @@ msgid "Location" msgstr "Plats" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -11418,13 +11638,13 @@ msgstr "%(curr)s (var %(initial)s)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "Posten är tom" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "En post kan inte lämnas tom. Ta bort den i stället." @@ -11519,7 +11739,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:96 msgid "Already in calibre:" -msgstr "" +msgstr "Redan i Calibre:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:52 msgid "Author sort" @@ -11531,7 +11751,7 @@ msgstr "Länk" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "Inga träffar hittades" @@ -11579,12 +11799,12 @@ msgid "Copy to author" msgstr "Kopiera till författare" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "Ogiltigt författarnamn" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "Författarnamnet kan inte innehålla & tecken." @@ -11654,7 +11874,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:74 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:188 msgid "&Search" -msgstr "" +msgstr "&Sök" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:75 msgid "Find previous match" @@ -11686,40 +11906,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "&Kopiera till Urklipp" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "Visa &detaljer" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "Dölj &detaljer" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "Visa detaljerad information om detta fel" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "Kopierad" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "Visa logg" @@ -12181,6 +12401,8 @@ msgid "" "Enter what you are looking for, either plain text or a regular expression, " "depending on the mode" msgstr "" +"Skriv vad du letar efter, antingen oformaterad text eller ett reguljärt " +"uttryck, beroende på läget" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:640 msgid "" @@ -12659,6 +12881,7 @@ msgstr "Avbryter..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -12696,12 +12919,12 @@ msgstr "Föremål" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "Sök" @@ -12974,7 +13197,7 @@ msgstr "Lägg till en anpassad nyhetskälla" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:454 msgid "Download all scheduled news sources" -msgstr "" +msgstr "Ladda ner alla schemalagda nyhetskällor" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:204 msgid "Go" @@ -13065,7 +13288,7 @@ msgstr "&Avancerat" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:226 msgid "Delete downloaded news &older than:" -msgstr "" +msgstr "Radera nedladdade nyheter &äldre än:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:227 msgid "" @@ -13315,7 +13538,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:129 msgid "Invalid port number" -msgstr "" +msgstr "Ogiltigt portnummer" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:119 msgid "You must provide a port number." @@ -13327,15 +13550,15 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" -msgstr "" +msgstr "Problem börjar håla Wireless enheten" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" -msgstr "" +msgstr "Den trådlösa drivrutinen inte startar. Den sa \"%s\"" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice_ui.py:86 msgid "Smart device control" @@ -13353,19 +13576,19 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice_ui.py:90 msgid "Calibre IP addresses:" -msgstr "" +msgstr "Calibre IP-Adresser:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice_ui.py:91 msgid "Possibe IP addresses:" -msgstr "" +msgstr "Möjliga IP-Adresser:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice_ui.py:92 msgid "Optional &password:" -msgstr "" +msgstr "Tillval & Lösenord:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice_ui.py:93 msgid "Optional password for security" -msgstr "" +msgstr "Valfritt lösenord FÖR Säkerhet" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice_ui.py:95 msgid "Optional &fixed port:" @@ -13373,7 +13596,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice_ui.py:96 msgid "Optional port number" -msgstr "" +msgstr "Valfritt portnummer" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice_ui.py:97 msgid "&Use a fixed port" @@ -13384,6 +13607,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "Utgivare" @@ -13398,6 +13622,7 @@ msgstr "Kategori uppslagningsnamn: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "Ogiltigt namn" @@ -13627,7 +13852,7 @@ msgstr "Mallvärde:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:114 msgid "The value of the template using the current book in the library view" -msgstr "" +msgstr "Värdet av mallen med den aktuella boken i biblioteksvyn" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:115 msgid "Function &name:" @@ -14074,7 +14299,7 @@ msgstr "Reguljärt uttryck (?P)" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:123 msgid "Choose a font family" -msgstr "" +msgstr "Välj en typsnittsfamilj" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:136 #, python-format @@ -14083,7 +14308,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:171 msgid "Choose font family" -msgstr "" +msgstr "Välj typsnittsfamilj" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:195 msgid "Add &fonts" @@ -14091,15 +14316,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:199 msgid "Choose a font family from the list below:" -msgstr "" +msgstr "Välj en typsnittsfamilj från listan nedan:" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:205 msgid "Find Next" -msgstr "" +msgstr "Sök nästa" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:208 msgid "Find Previous" -msgstr "" +msgstr "Sök föregående" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:258 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:377 @@ -14119,7 +14344,7 @@ msgstr "Inget" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:264 msgid "Select font files" -msgstr "" +msgstr "På Välj typsnittsfiler" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:264 msgid "TrueType/OpenType Fonts" @@ -14127,7 +14352,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:274 msgid "Corrupt font" -msgstr "" +msgstr "Korrupta typsnitt" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:275 #, python-format @@ -14136,20 +14361,20 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:294 msgid "Added fonts" -msgstr "" +msgstr "Tillagda teckensnitt" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:295 #, python-format msgid "Added font families: %s" -msgstr "" +msgstr "Tillagda teckensnittsfamiljer:%s" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:320 msgid "Choose &font family" -msgstr "" +msgstr "Välj &typsnittsfamilj" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:329 msgid "Clear the font family" -msgstr "" +msgstr "Rensa teckensnittsfamiljen" #: /home/kovid/work/calibre/src/calibre/gui2/init.py:111 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327 @@ -14273,12 +14498,12 @@ msgstr " - Jobb" #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:546 msgid "Search for a job by name" -msgstr "" +msgstr "Sök efter ett jobb efter namn" #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job" -msgstr "" +msgstr "Inget jobb" #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:618 @@ -14312,7 +14537,7 @@ msgid "&Shortcut:" msgstr "&Snabbtangent:" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "Färdig" @@ -14358,7 +14583,7 @@ msgstr "Sök efter en genväg vid namn" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "Inga träffar" @@ -14368,48 +14593,52 @@ msgstr "Inga träffar" msgid "Could not find any shortcuts matching %s" msgstr "Kunde inte hitta några genvägar matchande %s" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "Mata ut enhet" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "Visa böcker i Calibre-biblioteket" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "Visa böcker i läsplattans inbyggda minne" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "Visa böcker på minneskort A" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "Visa böcker på minneskort B" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "Radera biblioteket" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "tillgängligt" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "Avancerad sökning" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "Skift + Ctrl + F" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" @@ -14417,19 +14646,19 @@ msgstr "" "

Sök i listan med böcker efter titel, författare, förlag, taggar, " "kommentarer, m.m.

Ord separerade med mellanslag får relationen OCH" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "&Kör!" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "Utför snabbsökning (du kan också trycka på Enter)" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "Återställ snabbsökning" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "Kopiera aktuell söktext (i stället för söknamn)" @@ -14442,32 +14671,32 @@ msgstr "stjärnor" msgid "Y" msgstr "J" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "På enhet" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "MiB" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "Ändrad" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "Söknamn är \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "Denna boks UUID är \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -14476,30 +14705,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "I biblioteket" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "Storlek" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "Markerat för borttagning" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "Dubbelklicka för att redigera mig

" @@ -14606,7 +14835,7 @@ msgid "Previous Page" msgstr "Föregående sida" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -15138,7 +15367,7 @@ msgid "Edit Metadata" msgstr "Redigera metadata" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -15294,15 +15523,15 @@ msgstr "&Kommentarer" msgid "Basic metadata" msgstr "Grundläggande metadata" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "Har omslag" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "Har sammandrag" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -15314,29 +15543,29 @@ msgstr "" "med ett omslag med ett omslag i \n" "omslagsnedladdningssteget, och vice versa." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "Se på" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "Calibre hämtar metadata från: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "Var god vänta" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "Fråga: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" "Misslyckades med att hämta metadata. Klicka på Visa detaljer för att se " "detaljer" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -15348,41 +15577,46 @@ msgstr "" "ett enda särskiljande ord i titeln.

För att se hela loggen, klicka på " "Visa detaljer." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "Nuvarande omslag" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "Söker ..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "Hämtar omslag för %s , var god att vänta ..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" "Misslyckades med att hämta några omslag, klicka på \"Visa detaljer\" för " "detaljer." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "Kunde inte hitta några omslag för %s " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -"Fann %(num)d omslag av %(title)s. Välj den som du gillar bäst." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "Hämtar metadata ..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "Hämtar omslag..." @@ -15560,7 +15794,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -15603,34 +15838,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "Hög" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "Låg" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "Mycket lågt" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "Kompakt Metadata" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "Grundinställning" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "Allt på 1 flik" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "Alla bekräftelsedialogrutor har återställts" @@ -15684,18 +15919,15 @@ msgid "Job &priority:" msgstr "Jobb&prioritet:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" -msgstr "Begränsning tillämpas när den nuvarande biblioteket öppnas:" +msgid "Virtual library to apply when the current library is opened:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" -"Tillämpa denna begränsning av Calibre-start om det nuvarande biblioteket " -"används. Tillämpas också vid byte till detta bibliotek. Observera att denna " -"inställning är per bibliotek. " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170 msgid "Edit metadata (single) layout:" @@ -16689,10 +16921,6 @@ msgstr "Av" msgid "Small" msgstr "Liten" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "Stor" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "Medel" @@ -16710,7 +16938,7 @@ msgid "Never" msgstr "Aldrig" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "Efter första bokstaven" @@ -17807,20 +18035,20 @@ msgstr "" "enskilda enheter genom att anpassa insticksprogram Device Interface i " "Inställningar-> Avancerat-> insticksprogram" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "Kunde inte starta medieservern" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "Fellogg:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "Åtkomstlogg:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "Du måste starta om servern för att ändringarna ska gälla" @@ -17855,23 +18083,19 @@ msgid "Max. &OPDS items per query:" msgstr "Max. &OPDS-poster per fråga:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" -msgstr "Max. antal ogr&upperade OPDS-poster" +msgid "Max. &ungrouped items:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" -msgstr "Begränsning (sparad sökning) gäller:" +msgid "Virtual library to apply:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" -"Denna begränsning (baserat på en sparad sökning) kommer att begränsa vilka " -"böcker innehållsservern ställer till förfogande för dem som motsvarar " -"sökningen. Denna inställning är per bibliotek (dvs du kan ha en annan " -"begränsning per bibliotek)." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 msgid "" @@ -18325,40 +18549,50 @@ msgstr "Återställ till &standardvärde" msgid "Apply any changes you made to this tweak" msgstr "Tillämpa alla ändringar du gjort i denna ändring" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" +msgstr "Skapa sparad sökning" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 msgid "Delete current search" msgstr "Radera sökning" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 msgid "No search is selected" msgstr "Ingen sökning är vald" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" "Den valda sökningen kommer att tas bort permanent . Är du säker?" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "Sök (för avancerad sökning, klicka på knappen till vänster)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "Starta sökning" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "Aktivera eller inaktivera sökträffs markeringar." -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "Sparade sökningar" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "Välj sparad sökning eller ange namn för en ny sparad sökning" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." @@ -18366,47 +18600,185 @@ msgstr "" "Spara aktuell sökning under namnet som visas i rutan. Tryck och håll för ett " "menyfönster." -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "Skapa sparad sökning" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "Ta bort sparad sökning" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "Hantera sparade sökningar" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" -msgstr "* Nuvarande sökning" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" -msgstr "Begränsa till" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "(alla böcker)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -"Visning av böcker kommer att begränsas till dem som passar en vald sparad " -"sökning" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " -msgstr " eller sök " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "({0} av {1})" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "({0} av alla)" @@ -18704,32 +19076,32 @@ msgstr "Hämtar ..." msgid "Goto in store..." msgstr "Gå in i butiken ..." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "Köpa från denna butik stöder Calibre-tvecklare: %s

" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "Anpassa lboksökningshämtning" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "Konfigurera sökning" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "Kunde inte hitta några böcker som passar din sökning." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "Välj format att ladda ner till ditt bibliotek." @@ -18851,47 +19223,47 @@ msgstr "Ladda om" msgid "%p%" msgstr "%p%" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "De grupperade söktermsnamnet är \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "Ändra författare till flera böcker kan ta ett tag. Är du säker?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "Ändra metadata för att många böcker kan ta ett tag. Är du säker?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "Sökningar" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "Byt namn på användarkategori" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" "Du kan inte använda punkter i namnet när du döper om användarkategorier" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "Namnet %s används redan" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "Kopiera sökningens namn" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "Namnet %s för den sparade sökningen används redan" @@ -18913,13 +19285,13 @@ msgid "Manage Tags" msgstr "Hantera Märken" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "Hantera användarkategorier" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "Hantera sparade sökningar" @@ -19022,7 +19394,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "Sortera efter" @@ -19063,138 +19435,138 @@ msgstr "" "Alla dessa category_managers är tillgängliga genom att högerklicka på objekt " "i webbläsaren ovan" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "Byt namn på %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "Redigera sortering för %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "Redigera länk för %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "Lägg %s till användarkategorin" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "Barn till %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "Ta bort sökningen %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "Ta bort %(item)s från kategori %(cat)s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "Sök efter allt utom %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "Lägg underkategori till %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "Radera användarkategorin %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "Dölj kategori %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "Visa kategori" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "Sök efter böcker i kategorin %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "Sök efter böcker som inte tillhör kategorin %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "Hantera %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "Visa alla kategorier" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "Ändra sub-kategorisering systemet" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "Första bokstaven är användbart endast när man sorterar efter namn" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -19205,56 +19577,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -19296,73 +19668,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -19370,134 +19753,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -19580,31 +20008,31 @@ msgstr "" "Följande böcker har redan konverterats till %s-format. Vill du konvertera " "dem en gång till?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "&Donera för att stödja Calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "Åte&rställ" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "Mata ut ansluten &enhet" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "Avsluta Calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "Rensa sökning" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "Felsökningsläge" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -19614,11 +20042,11 @@ msgstr "" "Du har startat Caliber i felsökningsläge. När du har avslutat Caliber kommer " "felsökningsloggen finnas i filen: %s

logg visas automatiskt." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -19634,16 +20062,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "Konverteringen misslyckades" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -19666,23 +20094,23 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "Recept inaktiverat" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "Misslyckades" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "Det finns aktiva jobb. Är du säker på att du vill avsluta?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" @@ -19692,11 +20120,11 @@ msgstr "" " Om du avslutar nu kan enheten skadas.
\n" " Är du säker på att du vill avsluta ändå?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "Aktiva jobb" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -20254,29 +20682,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -21634,8 +22062,8 @@ msgstr "" "Filtrera sökningens resultat. För information om sökformatet, se tillhörande " "sökdokumentation i bruksanvisningen. Som standard filteras sökningen ej." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." @@ -21643,11 +22071,11 @@ msgstr "" "Den maximala bredden på en enda rad i utdata. Som standard används den " "detekterade skärmstorleken." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "Sträng som används för att separera fält. Standard är mellanslag." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." @@ -21655,15 +22083,15 @@ msgstr "" "Prefixet för alla sökvägar. Standard är den absoluta sökvägen till " "biblioteksmappen." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "Ogiltiga fält. Tillgängliga fält:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "Ogiltigt sorteringsfält. Tillgängliga fält:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" @@ -21671,13 +22099,13 @@ msgstr "" "Följande böcker har inte lagts till eftersom de redan finns i databasen (se -" "-duplicates alternativ):" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -21691,7 +22119,7 @@ msgstr "" "kataloger, se\n" "katalog-relaterade alternativ nedan.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" @@ -21699,11 +22127,11 @@ msgstr "" "Antag att varje katalog bara har en enda logisk bok och att alla filer i " "katalogen är samma e-bok i olika format." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "Sök igenom kataloger rekursivt" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." @@ -21711,43 +22139,43 @@ msgstr "" "Lägg till böcker till databasen även om de redan finns. Jämförelsen görs " "utifrån boktitlarna." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "Lägg till en tom bok (en bok utan format)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "Du måste ange minst en fil att lägga till" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -21758,33 +22186,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "Du måste ange minst en bok att ta bort" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" -"%prog add_format [alternativ] id ebok_fil\n" -"\n" -"Lägg e-boken i ebok_fil till tillgängliga format för den logiska boken som " -"identifierats med ID. Du kan få ID genom att använda kommandot list. Om " -"formatet redan existerar, kommer det ersättas.\n" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "Du måste ange ett ID och en e-bokfil" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "e-bokfilen måste ha en filändelse" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -21800,11 +22233,11 @@ msgstr "" "få ID genom att använda kommandot list. FMT bör vara en filändelse som LRF, " "TXT eller EPUB. Om logiska boken inte har FMT tillgänglig, görs ingenting.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "Du måste ange ett ID och ett format" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -21820,15 +22253,15 @@ msgstr "" "ID.\n" "ID är ett ID-nummer från listkommandot.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "Skriv metadata i OPF-form (XML)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "Du måste ange ett ID" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -21843,7 +22276,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -21853,40 +22286,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -21903,28 +22336,28 @@ msgstr "" "Exportoperationen sparar alla format av boken, omslaget och metadata (i\n" "en opf fil). Du kan få ID-nummer från kommandot list.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "Exportera alla böcker i databasen och ignorera ID-listan." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "Exportera böcker till den angivna katalogen. Standard är" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "Exportera alla böcker till en enda katalog" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "Om denna växel aktiveras, kommer detta beteende att stängas av." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "Du måste ange några ID:n eller %s-alternativet" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -21942,7 +22375,7 @@ msgstr "" "kolumnen.\n" "Datatypen är en av: (0)\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." @@ -21950,7 +22383,7 @@ msgstr "" "Denna kolumn lagrar etiketter som data (d.v.s. flera kommaseparerade " "värden). Gäller endast om datatypen är text." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -21970,11 +22403,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "Du måste ange kolumnetikett, namn och datatyp" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -21993,7 +22426,7 @@ msgstr "" " Val styra hur posterna visas i de genererade utdatakatalogen.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" @@ -22003,7 +22436,7 @@ msgstr "" "Om de deklareras, ignoreras --search.\n" "Grundinställning: alla" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" @@ -22013,16 +22446,16 @@ msgstr "" "bruksanvisningen för information om sökformatet.\n" "Grundinställning: Ingen filtrering" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "Visa detaljerad utdata. Användbart för felsökning" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "Fel: Du måste ange en katalogutfil" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -22042,7 +22475,7 @@ msgstr "" " kommandot custom_columns.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." @@ -22050,11 +22483,11 @@ msgstr "" "Om kolumnen lagrar flera värden, lägg angivna värden till de redan " "befintliga, i stället för att ersätta dem." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "Fel: Du måste ange ett fältnamn, ID och värde" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -22068,27 +22501,27 @@ msgstr "" " Lista anpassade kolumner. Visar kolumnetiketter och ID:n.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "Visa detaljer för varje kolumn." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "j" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -22104,15 +22537,15 @@ msgstr "" " tillgängliga kolumner med kommandot custom_columns.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "Fråga inte efter bekräftelse" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "Fel: Du måste ange en kolumnetikett" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -22135,42 +22568,42 @@ msgstr "" " ersättas.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "Fel: Du måste ange en åtgärd (lägg till | ta bort | lista)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "Namn:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "Sök sträng:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "Fel: Du måste ange ett namn och en söksträng" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "tillagd" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "Fel: Du måste ange ett namn" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "borttaget" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" "Fel: Åtgärd %s kändes inte igen, måste vara en av: (lägg till | ta bort | " "lista)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -22184,13 +22617,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -22202,12 +22635,12 @@ msgstr "" "Utföra vissa kontroller av filsystemet som representerar ett bibliotek. " "Rapporter är (0)\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "Resultat från CSV" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" @@ -22215,7 +22648,7 @@ msgstr "" "Kommaseparerad lista av rapporter.\n" "Grundinställning: Alla" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" @@ -22223,7 +22656,7 @@ msgstr "" "Kommaseparerad lista med tillägg att ignorera.\n" "Grundinställning: Alla" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" @@ -22231,11 +22664,11 @@ msgstr "" "Kommaseparerad lista med namn att ignorera.\n" "Grundinställning: Alla" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "Kontrollera okänd rapport" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -22262,7 +22695,7 @@ msgstr "" "vad finns i OPF filer.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." @@ -22270,12 +22703,12 @@ msgstr "" "Verklig återhämtning. Kommandot kan inte köras om inte detta alternativ har " "angetts." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "Du måste ange %s alternativ för att göra en återhämtning" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -22287,7 +22720,7 @@ msgstr "" "Ta fram en rapport i kategorin information i databasen. Den\n" "informationen motsvarar det som visas i markeringsrutan.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" @@ -22295,7 +22728,7 @@ msgstr "" "Skriv ut endast antalet objekt i en kategori i stället för räkna per post " "inom kategorin" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." @@ -22303,7 +22736,7 @@ msgstr "" "Tecknet till att sätta runt den kategorivärdet i CSV-läge. Standard är " "citattecken (\")." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" @@ -22311,17 +22744,17 @@ msgstr "" "Kommaseparerad lista av kategori uppslagsnamn.\n" "Standard: Alla" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" "Den sträng som används för att skilja fält i CSV-läge. Standard är ett " "kommatecken." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "KATEGORIPOSTER" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -22354,31 +22787,22 @@ msgstr "" "Etikett får endast innehålla små bokstäver, siffror och understreck och " "börja med en bokstav" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "skapa anpassad kolumn " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "

Migrera den gamla databasen till e-bokbibliotek i %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "Kopierar %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "Komprimerar databas" @@ -22660,20 +23084,20 @@ msgstr "" "Apache/nginx/etc." #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "Alla böcker" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "Nyaste" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "Laddar, var god vänta" @@ -22696,7 +23120,7 @@ msgid "Browsing %d books" msgstr "Bläddrar %d böcker" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "Medelbetyg" @@ -22705,98 +23129,98 @@ msgstr "Medelbetyg" msgid "%(prefix)s: %(rating).1f stars" msgstr "%(prefix)s: %(rating).1f stjärnor" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "%d stjärnor" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "Popularitet" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "biblioteket" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "hem" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "Bläddra böcker av" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "Välj en kategori för att bläddra genom:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "Bläddrar genom" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "Upp" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "i" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "Böcker på" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "Andra format" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "Läs %(title)s på %(fmt)s format" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "Hämta" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "Detaljinformation" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "Permalink" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "En permanent länk till den här boken" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "Denna bok har tagits bort" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "söker" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "Matchande böcker" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -22819,23 +23243,23 @@ msgstr "" "\n" "OPDS-gränssnittet annonseras automatiskt via BonJour.\n" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "Sökväg till biblioteksmappen som medieservern skall dela ut" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "Skriv process-PID till angiven fil" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -"Anger en begränsning som skall användas för denna åkallan. Det här " -"alternativet åsidosätter någon per-bibliotek inställningar som anges i GUI" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -24012,10 +24436,6 @@ msgstr "am" msgid "pm" msgstr "pm" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -24114,6 +24534,31 @@ msgstr "Kod körs" msgid "Restart console" msgstr "Starta om konsolen" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "Adressen måste ha formen sftp" @@ -24162,101 +24607,101 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "\"%s\"-receptet behöver ett användarnamn och lösenord." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "Hämtningen är färdig" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "Kunde inte hämta följande artiklar:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "Kunde inte hämta delar av följande artiklar:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr " från " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "\tMisslyckade länkar:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "Kunde inte hämta artikeln." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "Den felsökningsspårning finns tidigare i denna logg" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "Kör med -vv för att se orsaken" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "Hämtar flöden..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "Mottagit flöden från indexsidan" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "Försöker hämta omslaget ..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "Skapar redaktionsruta..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "Påbörjar hämtning [%d tråd(ar)]..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "Flöden hämtade till %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "Kunde inte hämta omslag: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "Hämtar omslag från %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "Redaktionslogga hämtad" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "Namnlös artikel" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "Artikel hämtad: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "Artikeln kunde inte hämtas: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "Hämtar flöde" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 msgid "" "Failed to log in, check your username and password for the calibre " "Periodicals service." @@ -24264,7 +24709,7 @@ msgstr "" "Kunde inte logga in, kontrollera ditt användarnamn och lösenord för Calibres " "prenumerationstjänst." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -24550,7 +24995,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/ta.po b/src/calibre/translations/ta.po index ccd1676bc3..c8c047a7ad 100644 --- a/src/calibre/translations/ta.po +++ b/src/calibre/translations/ta.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2011-08-05 17:54+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: Tamil \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:22+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:39+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "நிச்சயமாக எதுவும் செய்யாது" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "நிச்சயமாக எதுவும் செய்யாத #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "நிச்சயமாக எதுவும் செய்யாத #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "நிச்சயமாக எதுவும் செய்யாத #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "நிச்சயமாக எதுவும் செய்யாத #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "நிச்சயமாக எதுவும் செய்யாத #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "நிச்சயமாக எதுவும் செய்யாத #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -325,345 +325,345 @@ msgstr "Metadata va indha files'la %s set pannu" msgid "Set metadata from %s files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "பார்வையும் உணர்வும்" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "முகப்பு" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "நடத்தை" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "கருவிப்பட்டை" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "தேடுகிறது" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "உள்ளீடு தேர்வுகள்" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "நிலைமாற்றம்" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "பொது விருப்பம்" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "வெளியீடு தேர்வுகள்" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "இறக்குமதி/ஏற்றுமதி" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "உயர்நிலை" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "புத்தகத்தை மினஞ்சல் மூலமாக பகிர்" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "பகிர்வு" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "இணையம் மூலமாக பகிர்" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "செருகல்கள்" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "தேவைபடி மாற்று" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "இதர வகை" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -941,8 +941,8 @@ msgstr "" msgid "Disable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -952,11 +952,22 @@ msgstr "" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -968,26 +979,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1000,11 +1011,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" @@ -1012,14 +1023,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1027,7 +1038,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1035,45 +1046,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1101,23 +1137,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1240,8 +1276,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "" @@ -1289,10 +1325,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1333,6 +1369,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1651,17 +1688,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1669,12 +1706,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1682,7 +1719,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1694,7 +1731,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1707,10 +1744,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1767,66 +1806,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1834,7 +1873,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1843,11 +1882,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1867,55 +1906,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2040,7 +2079,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2521,7 +2560,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2830,23 +2869,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3134,15 +3173,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4096,7 +4139,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4120,27 +4163,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4176,13 +4219,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4191,9 +4235,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4203,7 +4248,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4215,8 +4260,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4328,60 +4373,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4389,13 +4434,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4405,6 +4468,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4464,12 +4568,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4496,72 +4600,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4570,14 +4674,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4602,12 +4706,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4640,7 +4744,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4765,9 +4869,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4783,11 +4887,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4830,6 +4934,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4984,7 +5092,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5106,12 +5214,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5188,8 +5296,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5310,7 +5418,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5358,7 +5466,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5372,7 +5480,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5384,12 +5492,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5529,7 +5637,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5557,7 +5665,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5598,7 +5706,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5611,96 +5719,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5719,6 +5840,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5791,75 +5913,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5935,12 +6059,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6024,8 +6148,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6061,7 +6185,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6131,15 +6255,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6244,17 +6368,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6263,185 +6398,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6558,7 +6704,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6663,7 +6809,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6675,30 +6821,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6708,11 +6854,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -6976,7 +7122,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7186,7 +7332,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7196,7 +7342,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7230,16 +7376,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7307,7 +7462,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7493,7 +7648,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7833,8 +7988,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8750,59 +8905,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8814,13 +8973,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9058,6 +9233,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9624,7 +9803,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9670,81 +9849,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9906,7 +10085,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10417,13 +10596,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10457,8 +10636,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10477,13 +10656,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10582,7 +10761,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10630,12 +10809,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10730,40 +10909,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11631,6 +11810,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11666,12 +11846,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12245,12 +12425,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12302,6 +12482,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12316,6 +12497,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13192,7 +13374,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13236,7 +13418,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13246,66 +13428,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13318,32 +13504,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13352,30 +13538,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13480,7 +13666,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13978,7 +14164,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14123,15 +14309,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14139,27 +14325,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14167,38 +14353,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14339,7 +14531,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14382,34 +14575,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14458,12 +14651,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15376,10 +15569,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15397,7 +15586,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16365,20 +16554,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16411,18 +16600,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16797,83 +16986,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17149,32 +17488,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17288,46 +17627,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17349,13 +17688,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17448,7 +17787,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17487,138 +17826,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17629,56 +17968,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17720,73 +18059,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17794,134 +18144,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18000,31 +18395,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18032,11 +18427,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18052,16 +18447,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18084,34 +18479,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18652,29 +19047,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19922,44 +20317,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19968,59 +20363,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20031,28 +20426,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20062,11 +20467,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20076,15 +20481,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20099,7 +20504,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20109,40 +20514,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20153,28 +20558,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20185,13 +20590,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20211,11 +20616,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20226,30 +20631,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20261,17 +20666,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20280,27 +20685,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20310,15 +20715,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20331,40 +20736,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20378,13 +20783,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20392,34 +20797,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20434,18 +20839,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20453,33 +20858,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20502,31 +20907,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20768,20 +21164,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20804,7 +21200,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20813,98 +21209,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20917,21 +21313,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21934,10 +22332,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22036,6 +22430,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22084,107 +22503,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22447,7 +22866,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/te.po b/src/calibre/translations/te.po index 2d9dbc49ec..cd48c6c9b9 100644 --- a/src/calibre/translations/te.po +++ b/src/calibre/translations/te.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2011-08-05 17:01+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: Telugu \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:22+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:39+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -325,345 +325,345 @@ msgstr "" msgid "Set metadata from %s files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "పనిముట్ల పట్టీ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "ఉన్నత" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -941,8 +941,8 @@ msgstr "" msgid "Disable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -952,11 +952,22 @@ msgstr "" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -968,26 +979,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1000,11 +1011,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "వార్తలు" @@ -1012,14 +1023,14 @@ msgstr "వార్తలు" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1027,7 +1038,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1035,45 +1046,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1101,23 +1137,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1240,8 +1276,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "" @@ -1289,10 +1325,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1333,6 +1369,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1651,17 +1688,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1669,12 +1706,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1682,7 +1719,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1694,7 +1731,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1707,10 +1744,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1767,66 +1806,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1834,7 +1873,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1843,11 +1882,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1867,55 +1906,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2040,7 +2079,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2521,7 +2560,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2830,23 +2869,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3134,15 +3173,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4093,7 +4136,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4117,27 +4160,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "శీర్షిక" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "రచయిత(లు)" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "ప్రచురణకర్త" @@ -4173,13 +4216,14 @@ msgstr "వ్యాఖ్యలు" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4188,9 +4232,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4200,7 +4245,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4212,8 +4257,8 @@ msgstr "కాలముద్ర" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "ప్రచురితం" @@ -4325,60 +4370,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4386,13 +4431,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4402,6 +4465,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4461,12 +4565,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4493,72 +4597,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "విషయ సూచిక" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "శీర్షిక పేజీ" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "సూచిక" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "పదకోశం" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "కాపీహక్కులు" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "అంకితం" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "ముందుమాట" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "పట్టికల జాబితా" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "పీఠిక" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "ముఖ్య పాఠ్యం" @@ -4567,14 +4671,14 @@ msgstr "ముఖ్య పాఠ్యం" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4599,12 +4703,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4637,7 +4741,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4762,9 +4866,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4780,11 +4884,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4827,6 +4931,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4981,7 +5089,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5103,12 +5211,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5185,8 +5293,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5307,7 +5415,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5355,7 +5463,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5369,7 +5477,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5381,12 +5489,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5526,7 +5634,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5554,7 +5662,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5595,7 +5703,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5608,96 +5716,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5716,6 +5837,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5788,75 +5910,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5932,12 +6056,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6021,8 +6145,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6058,7 +6182,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6128,15 +6252,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6241,17 +6365,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6260,185 +6395,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6555,7 +6701,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6660,7 +6806,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6672,30 +6818,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6705,11 +6851,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -6973,7 +7119,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "పుస్తకాలు లేవు" @@ -7183,7 +7329,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7193,7 +7339,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7227,16 +7373,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7304,7 +7459,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7490,7 +7645,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7830,8 +7985,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8747,59 +8902,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8811,13 +8970,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9055,6 +9230,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9621,7 +9800,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9667,81 +9846,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9903,7 +10082,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10414,13 +10593,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10454,8 +10633,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10474,13 +10653,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10579,7 +10758,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10627,12 +10806,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10727,40 +10906,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11628,6 +11807,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11663,12 +11843,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12242,12 +12422,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12299,6 +12479,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12313,6 +12494,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13189,7 +13371,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13233,7 +13415,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13243,66 +13425,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13315,32 +13501,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "పరిమాణం (మెబై)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13349,30 +13535,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13477,7 +13663,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13975,7 +14161,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14120,15 +14306,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14136,27 +14322,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14164,38 +14350,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14336,7 +14528,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14379,34 +14572,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14455,12 +14648,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15373,10 +15566,6 @@ msgstr "" msgid "Small" msgstr "చిన్న" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15394,7 +15583,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16362,20 +16551,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16408,18 +16597,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16794,83 +16983,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17146,32 +17485,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17285,46 +17624,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17346,13 +17685,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17445,7 +17784,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17484,138 +17823,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17626,56 +17965,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17717,73 +18056,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17791,134 +18141,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -17997,31 +18392,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18029,11 +18424,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18049,16 +18444,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18081,34 +18476,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18649,29 +19044,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19919,44 +20314,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19965,59 +20360,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20028,28 +20423,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20059,11 +20464,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20073,15 +20478,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20096,7 +20501,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20106,40 +20511,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20150,28 +20555,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20182,13 +20587,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20208,11 +20613,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20223,30 +20628,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20258,17 +20663,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20277,27 +20682,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20307,15 +20712,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20328,40 +20733,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20375,13 +20780,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20389,34 +20794,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20431,18 +20836,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20450,33 +20855,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20499,31 +20904,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20765,20 +21161,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20801,7 +21197,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20810,98 +21206,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20914,21 +21310,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21931,10 +22329,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22033,6 +22427,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22081,107 +22500,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22444,7 +22863,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/th.po b/src/calibre/translations/th.po index 3f60ca459f..509da86a8a 100644 --- a/src/calibre/translations/th.po +++ b/src/calibre/translations/th.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2011-12-15 15:14+0000\n" "Last-Translator: akarong \n" "Language-Team: Thai \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:23+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:39+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:428 #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:438 @@ -34,16 +34,16 @@ msgid "Does absolutely nothing" msgstr "ไม่มีอะไรเลย" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -98,8 +98,8 @@ msgstr "ไม่มีอะไรเลย" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -110,9 +110,9 @@ msgstr "ไม่มีอะไรเลย" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -121,7 +121,7 @@ msgstr "ไม่มีอะไรเลย" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -134,7 +134,7 @@ msgstr "ไม่มีอะไรเลย" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -156,13 +156,13 @@ msgstr "ไม่มีอะไรเลย" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -171,33 +171,33 @@ msgstr "ไม่มีอะไรเลย" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -327,168 +327,168 @@ msgstr "อ่านข้อมูลจากหนังสือในไฟ msgid "Set metadata from %s files" msgstr "ตั้งค่าข้อมูลจาก %s ไฟล์" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "รูปลักษณ์" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "ส่วนติดต่อ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "ปรับเปลี่ยนรูปลักษณ์ให้เหมาะกับรสนิยมในการใช้งานของคุณเอง" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "พฤติกรรม" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "เปลี่ยนแปลงพฤติกรรมในการทำงานของ calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "เพิ่มคอลัมน์ของคุณเอง" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "เพิ่ม/ลดคอลัมน์ของคุณเองในรายการหนังสือของ calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "แถบเครื่องมือ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -496,113 +496,113 @@ msgstr "" "ปรับเปลี่ยนทูลบาร์และเมนูเนื้อหา " "โดยกำหนดการเรียกใช้โปรแกรมในแต่ละเมนูและทูลบาร์" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "กำลังค้นหา" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "ตัวเลือกอินพุท" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "แปลงไฟล์" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "กำหนดตัวเลือกในการแปลงไฟล์ให้เฉพาะเจาะจงกับรูปแบบอินพุท" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "ตัวเลือกทั่วไป" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "กำหนดตัวเลือกในการแปลงไฟล์ให้ใช้กับทุกรูปแบบ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "ตัวเลือกเอาท์พุท" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "กำหนดตัวเลือกในการแปลงไฟล์ให้เฉพาะเจาะจงกับรูปแบบเอาท์พุท" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "เพิ่มหนังสือ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "นำเข้า/ส่งออก" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "ควบคุมให้ calibre อ่านชุดข้อมูลจากไฟล์ในเวลาที่เพิ่มหนังสือ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "บันทึกหนังสือลงดิสก์" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "ควบคุมให้ calibre ส่งออกไฟล์จากฐานข้อมูลลงดิสก์เวลาสั่งบันทึก" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "ส่งหนังสือไปยังอุปกรณ์ปลายทาง" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "ควบคุมให้ calibre ส่งถ่ายไฟล์ลงในอีบุคส์รีดเดอร์" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "เปลี่ยนช่อง Metadata ก่อนทำการ บันทึก/ส่ง" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "เชี่ยวชาญ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "แบ่งปันทางอีเมลล์" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "แบ่งปัน" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -610,11 +610,11 @@ msgstr "" "การตั้งค่าแบ่งปันทางอีเมลล์สามารถใช้เป็นช่องทางในการส่งข้่าวสารการเดาน์โหลดโด" "ยอัตโนมัติไปยังอุปกรณ์ปลายทางของท่านได้" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "แบ่งปันผ่านเน็ท" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -622,56 +622,56 @@ msgstr "" "ตั้งค่าให้ calibre เป็นเซิฟเวอร์จะทำให้คุณสามารถเข้ามายังห้องสมุด calibre " "ของคุณจาก ณ ที่แห่งใดก็ได้ จากอุปกรณ์สื่อสารใดก็ได้ผ่านอินเตอร์เน็ท" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "ดาวน์โหลด Metadata" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "ปลั๊กอิน" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "เพิ่ม/ลด/ปรับแต่ง ฟังก์ชั่นต่างๆของ calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "ปรับแต่ง" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "ปรับพฤติกรรมของ calibre ที่จะตอบสนองกับส่วนต่างๆอย่างละเอียด" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "แป้นพิมพ์" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "อื่นๆ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "การปรับแต่งค่าตั้งต้นอื่นๆ" @@ -966,8 +966,8 @@ msgstr "เปิดใช้งานเนมปลั้กอิน" msgid "Disable the named plugin" msgstr "พักใช้งานเนมปลั้กอิน" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -977,11 +977,22 @@ msgstr "พักใช้งานเนมปลั้กอิน" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -993,26 +1004,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "การ์ด ข" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1025,11 +1036,11 @@ msgstr "การ์ด ข" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "ข่าว" @@ -1037,14 +1048,14 @@ msgstr "ข่าว" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1052,7 +1063,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1060,45 +1071,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1126,23 +1162,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "ติดต่อกับโทรศัพท์แอนดรอยด์" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "ติดต่อกับโทรศัพท์ S60" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1273,8 +1309,8 @@ msgstr "" "กดปุ่ม 'แสดงรายละเอียด' เพื่อแสดงรายการ" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "บัญชีรายชื่อ" @@ -1322,10 +1358,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1366,6 +1402,7 @@ msgstr "เพิ่มหนังสือในรายการชุดข #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1686,17 +1723,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "แสดงหนังสือที่หมดอายุ" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1704,12 +1741,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1717,7 +1754,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1729,7 +1766,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1742,10 +1779,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1806,66 +1845,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1873,7 +1912,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1882,11 +1921,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1906,55 +1945,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "ติดต่อกับ Pandigital Novel" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "ติดต่อกับ เวโลซิตี้ไมโคร" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "ติดต่อกับ GM2000" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2079,7 +2118,7 @@ msgstr "The Nook" msgid "Communicate with the Nook eBook reader." msgstr "ติดต่อกับ The Nook eBook reader" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2563,7 +2602,7 @@ msgid "There is insufficient free space on the storage card" msgstr "พื้นที่ในสตอเรจการด์ไม่พอ" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2910,23 +2949,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3214,15 +3253,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4224,7 +4267,7 @@ msgstr "" msgid "Set book ID" msgstr "กำหนดรหัสหนังสือ" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4248,27 +4291,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4304,13 +4347,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4319,9 +4363,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4331,7 +4376,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4343,8 +4388,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4456,60 +4501,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4517,13 +4562,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4533,6 +4596,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4592,12 +4696,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4624,72 +4728,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4698,14 +4802,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4730,12 +4834,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4768,7 +4872,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4893,9 +4997,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4911,11 +5015,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4958,6 +5062,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5112,7 +5220,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5234,12 +5342,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5316,8 +5424,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5438,7 +5546,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5486,7 +5594,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5500,7 +5608,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5512,12 +5620,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5657,7 +5765,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5685,7 +5793,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5726,7 +5834,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5739,96 +5847,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5847,6 +5968,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5919,75 +6041,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -6063,12 +6187,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6152,8 +6276,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6189,7 +6313,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6259,15 +6383,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6372,17 +6496,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6391,185 +6526,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6686,7 +6832,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6791,7 +6937,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6803,30 +6949,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6836,11 +6982,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -7104,7 +7250,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7314,7 +7460,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7324,7 +7470,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7358,16 +7504,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7435,7 +7590,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7621,7 +7776,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7961,8 +8116,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8878,59 +9033,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8942,13 +9101,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9186,6 +9361,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9752,7 +9931,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9798,81 +9977,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -10034,7 +10213,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10545,13 +10724,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10585,8 +10764,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10605,13 +10784,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10710,7 +10889,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10758,12 +10937,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10858,40 +11037,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11759,6 +11938,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11794,12 +11974,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12373,12 +12553,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12430,6 +12610,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12444,6 +12625,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13320,7 +13502,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13364,7 +13546,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13374,66 +13556,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13446,32 +13632,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13480,30 +13666,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13608,7 +13794,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -14106,7 +14292,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14251,15 +14437,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14267,27 +14453,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14295,38 +14481,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14467,7 +14659,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14510,34 +14703,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14586,12 +14779,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15504,10 +15697,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15525,7 +15714,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16493,20 +16682,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16539,18 +16728,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16925,83 +17114,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17277,32 +17616,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17416,46 +17755,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17477,13 +17816,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17576,7 +17915,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17615,138 +17954,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17757,56 +18096,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17848,73 +18187,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17922,134 +18272,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18128,31 +18523,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18160,11 +18555,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18180,16 +18575,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18212,34 +18607,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18780,29 +19175,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -20050,44 +20445,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -20096,59 +20491,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20159,28 +20554,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20190,11 +20595,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20204,15 +20609,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20227,7 +20632,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20237,40 +20642,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20281,28 +20686,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20313,13 +20718,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20339,11 +20744,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20354,30 +20759,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20389,17 +20794,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20408,27 +20813,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20438,15 +20843,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20459,40 +20864,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20506,13 +20911,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20520,34 +20925,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20562,18 +20967,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20581,33 +20986,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20630,31 +21035,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20896,20 +21292,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20932,7 +21328,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20941,98 +21337,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -21045,21 +21441,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -22062,10 +22460,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22164,6 +22558,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22212,107 +22631,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22575,7 +22994,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/tr.po b/src/calibre/translations/tr.po index 93d57cb99c..beedc31136 100644 --- a/src/calibre/translations/tr.po +++ b/src/calibre/translations/tr.po @@ -7,32 +7,32 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2013-03-24 02:42+0000\n" "Last-Translator: Mübin KIYICI \n" "Language-Team: Turkish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:23+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Launchpad-Export-Date: 2013-04-27 05:39+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "Hiçbir şey yapmaz" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "Hiçbir şey yapmaz" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "Hiçbir şey yapmaz" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "Hiçbir şey yapmaz" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "Hiçbir şey yapmaz" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "Hiçbir şey yapmaz" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "Hiçbir şey yapmaz" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -331,73 +331,73 @@ msgstr "%s dosyalarındaki metadatayı ayarla" msgid "Set metadata from %s files" msgstr "Metadatayı %s dosyalarından ayarla" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "Kitapları Calibre'ye ya da bağlanmış cihaza ekle" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "Bağlı bir Kindle'dan notları al (deneysel)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "Calibre kütüphanenizdeki kitapların bir kataloğunu oluşturun." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "Kitapları çeşitli ekitap formatlarına çevir." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "Calibre kütüphanesinden ya da bağlı bir cihazdan kitapları silin" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "Calibre kütüphanenizdeki kitapların metadalarını düzenleyin" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "Calibre kütüphanenizdeki kitapları okuyun" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "İnternetten haberleri ekitap biçiminde indirin" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Benzer kitapların listesini hızlı göster" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "Kitapları Calibre kütüphanenizden hard diske aktarın" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "Kitap detaylarını ayrı bir pop-up'da göster" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "Calibre'yi yeniden başlatın" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "Calibre kütüphanenizdeki kitap dosyalarını içeren klasörü açın" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "Kitapları bağlanmış cihaza gönder" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" @@ -405,42 +405,42 @@ msgstr "" "Kitapları email veya web aracılığıyla gönderin ayrıca bilgisayarınızdaki " "klasörlere veya iTunes'a onları bir cihaz gibi kullanmak için bağlanın" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "Calibre Kullanıcı Klavuzuna göz at" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "Calibreyi kişiselleştir" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "Şu an seçilmiş olana benzer kitapları bulun" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "Farklı calibre kütüphaneleri arasında geçiş yap ve onları düzenle" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "Kitapları cihazdan Calibre kütüphanenize kopyalayın" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "Cihazında bulunan kitapları içeren koleksiyonları düzenleyin" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "Bir Calibre kütüphanesinden diğerine kitap kopyalayın" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" "Calibre kütüphanenizde epub veya htmlz dosyalarına ufak ayarlar yapın" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" @@ -448,56 +448,56 @@ msgstr "" "Calibre Kütüphanesinde vurgulama modunda arama yaparken önceki veya sonraki " "eşleşen ögeyi bulun" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "Kitaplığınızdan rastgele bir kitap seçin" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "Farklı kitap satıcılarından kitap araştırın" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "Yeni calibre eklentisi edinin veya mevcut olanları güncelleyin" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Görünüm" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Arayüz" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "Calibre'nin arayüzünün görünümünü zevkinize göre ayarlayın" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "Davranış" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "Calibre'nin işleyiş şeklini değiştirin" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Kendi sütunlarınızı ekleyin" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "Calibre kitap listesine kendi sütunlarınızı ekleyin/çıkarın" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Araç Çubuğu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -505,66 +505,66 @@ msgstr "" "Araç Çubuğunu ve kontekst(sağ tık) menüsünü özelleştir, böylece hangisinde " "hangi eylem olacağını değiştir." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "Aranıyor" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "Calibre'deki kitap işleri için arama şeklini özelleştir" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "Girdi seçenekleri" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Dönüştürme" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "Her bir format için dönüştürme seçeneklerini düzenleyin" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Ortak Seçenekler" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "Tüm biçimler için ortak olan dönüştürme seçeneklerini belirle" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "Çıktı Seçenekleri" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "Her çıktı biçimine özel dönüştürme seçeneklerini belirle" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "Kitap Ekleme" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "İçe Aktar/Dışa Aktar" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Kitaplar eklenirken calibre'nin dosyalardan nasıl metadata okuyacağını " "kontrol et" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "Kitapları diske kaydetme" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -572,51 +572,51 @@ msgstr "" "Diske Kaydet işleminde Calibre'nin veritabanından diske nasıl aktaracağını " "kontrol edin" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "Kitapların aygıtlara gönderilmesi" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" "Calibre'nin ekitap okuyucunuza dosyaları nasıl aktardığını kontrol edin" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "Metadata santralleri" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "Kaydetme/göndermeden önce metadata alanlarını değiştir" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "Şablon Fonksiyonları" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "İleri düzey" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "Kendi şablon fonksiyonlarınızı oluşturun" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "Kitapların eposta ile paylaşımı" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "Paylaşım" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -624,11 +624,11 @@ msgstr "" "E-posta ile kitap paylaşımını düzenle. İndirilmiş haberlerin aygıtlara " "otomatik olarak gönderilmesi için kullanılabilir." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "Şebeke üzerinden paylaşıyor" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -636,20 +636,20 @@ msgstr "" "Calibre kütüphanenize, internet üzerinden, herhangi bir yerden, herhangi bir " "aygıttan erişim sağlayacak olan İçerik Sunucusu'nu kur" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "Metadata indir" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "Şebeke'den ekitap metadatasının nasıl indirileceğini kontrol et" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "Yoksayılan cihazlar" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." @@ -657,37 +657,37 @@ msgstr "" "Calibre'nin bilgisayara bağlandığında hangi cihazları yoksayacağını kontrol " "edin." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Eklentiler" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Çeşitli calibre işlevselliği parçalarını ekle/çıkar/özelleştir" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "İnce Ayarlar" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "Farklı içeriklerde Calibre'nin nasıl davranacağını ince ayar" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "Klavye" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "Calibre tarafından kullanılan kısayolları düzenle" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Muhtelif" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "Çeşitli ileri düzey ayarlar" @@ -989,8 +989,8 @@ msgstr "İsimlendirilmiş eklentiler geçerli" msgid "Disable the named plugin" msgstr "İsimlendirilmiş eklentiler geçersiz" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -1000,11 +1000,22 @@ msgstr "İsimlendirilmiş eklentiler geçersiz" msgid "Path to library too long. Must be less than %d characters." msgstr "Kütüphanenin yolu çok uzun. %d karakterden daha az olmalı" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -1016,26 +1027,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "Ana" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "Kart A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "Kart B" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1048,11 +1059,11 @@ msgstr "Kart B" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Haberler" @@ -1060,14 +1071,14 @@ msgstr "Haberler" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "seçili" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "evet" @@ -1075,7 +1086,7 @@ msgstr "evet" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "hayır" @@ -1083,45 +1094,70 @@ msgstr "hayır" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "Seçilmedi" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "bugün" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "dün" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "bu ay" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "gün önce" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "boş" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "boş" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1152,7 +1188,7 @@ msgstr "%s adında bir plugin bulunamadı" msgid "Communicate with Android phones." msgstr "Android telefonlar ile iletişim kur." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" @@ -1160,7 +1196,7 @@ msgstr "" "Cihazın ana hafızasında e-kitapların gönderileceği klasörlerin " "virgülle ayrılmış listesi. Mevcut ilk klasör kullanılacaktır." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" @@ -1168,11 +1204,11 @@ msgstr "" "Cihazın bellek kartında e-kitapların gönderileceği klasörlerin " "virgülle ayrılmış listesi. Mevcut ilk klasör kullanılacaktır." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "S60 telefonlar ile haberleş." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "WebOS tablet ile bağlantı kur" @@ -1323,8 +1359,8 @@ msgstr "" "Listeyi görmek için \"Ayrıntıları Göster\"e tıklayın." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "Katalog" @@ -1378,10 +1414,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1422,6 +1458,7 @@ msgstr "Donanım metadata listesine kitaplar ekleniyor ..." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1757,17 +1794,17 @@ msgstr "" "Değiştirilmiş bir kapağınız varsa işe yarar." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "Siyah ve beytaz kapaklar yükle" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "Tarihi geçmiş kitapları göster." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1778,12 +1815,12 @@ msgstr "" "yeni silme mantığı ile silme imkanı sunacak." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "Önizlemeleri Göster" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1794,7 +1831,7 @@ msgstr "" "görüntülenmemektedirler. Bunları görmek/silmek istiyorsanız etkinleştirin." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "Önerileri Göster" @@ -1809,7 +1846,7 @@ msgstr "" "sitesine yönlendirirler. Bunları görmek/silmek istiyorsanız etkinleştirin." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "Daha yeni aygıt yazılımlarını (firmware) desteklemeyi dene." @@ -1822,10 +1859,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "Kobo veritabanı sürümü desteklenmiyor - Detaylara bakın" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1895,19 +1934,19 @@ msgstr "" "ilerleme durumu: %(chapter_progress)s%%
Vurgulama: " "%(text)s
Notlar: %(annotation)s

" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "Otomatik yönetim için bir etiket tipi kolonu belirleyiniz" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "Boş raf oluştur." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." @@ -1915,11 +1954,11 @@ msgstr "" "Halihazırda yoksa, Kobo Touch üzerinde yeni raflar oluştur. Bu seçenek " "yalnızca aygıt yazılımı V2.0.0 ya da sonrası içindir." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "Boş rafları sil." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." @@ -1927,38 +1966,38 @@ msgstr "" "Senkronizasyon bittiğinde, Kobo Touch üzerinden boş rafları sil. Bu seçenek " "yalnızca aygıt yazılımı V2.0.0 ya da sonrası içindir." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "Kitap kapaklarını karşıya yükle." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "Seri bilgisini ayarla" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1966,7 +2005,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1975,11 +2014,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1999,55 +2038,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "Sweex/Kogan/Q600/Wink ile iletişim kur" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "Pandigital Novel ile iletişim kur" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "VelocityMicro ile iletişim kur" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "GM2000 ile iletişim kur" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "Acer Lumiread ile iletişim kur" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "Aluratek Color ile iletişim kur" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "Trekstor ile iletişim kur" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "EEE Reader ile iletişim kur" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "Adam tableti ile bağlantı kur" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "Nextbook Reader ile iletişim kur" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "Moovybook Reader ile bağlantı kur" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "COBY ile iletişim kur." -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "Ex124G ile bağlantı kur" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2172,7 +2211,7 @@ msgstr "Nook" msgid "Communicate with the Nook eBook reader." msgstr "Nook eBook reader ile bağlantı kur" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "Nook Color, TSR veTablet eKitap okuyucular ile iletişime geçin." @@ -2706,7 +2745,7 @@ msgid "There is insufficient free space on the storage card" msgstr "Saklama kartında yeterli boş yer yok." #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "%s sn de biçimlendirildi" @@ -3123,18 +3162,18 @@ msgstr "" " kalan dönüşüm hattında kötü yan etkilere yol açabilecekken ne yaptığınızı " "biliyorsanız kullanınız." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "Çıktı için öntanımlı dosya yerine CSS dosyası kullanıldı" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" "Html indeks dosyası oluşturmak için öntanımlı dosya yerine şablon kullanıldı" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" @@ -3142,7 +3181,7 @@ msgstr "" "Kitabın içindekiler bölümünün html'sinin oluşturulması için öntanımlı dosya " "yerine şablon kullanıldı" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3477,15 +3516,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4613,7 +4656,7 @@ msgstr "" msgid "Set book ID" msgstr "Kitap ID sini kaydet" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4637,27 +4680,27 @@ msgstr "No" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "Eser Adı" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "Yazar(lar)" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "Yayımcı" @@ -4693,13 +4736,14 @@ msgstr "Açıklamalar" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "Etiketler" @@ -4708,9 +4752,10 @@ msgstr "Etiketler" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4719,7 +4764,7 @@ msgid_plural "Series" msgstr[0] "Seriler" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4731,8 +4776,8 @@ msgstr "Zaman damgası" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "Yayınlandı" @@ -4851,60 +4896,60 @@ msgstr "" "LibraryThing.com sitesinden ISBN ile tanımlanmış kitap için kapak/metadata " "al.\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "Kapak" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "Metadata ve kapakları Amazon'dan indir." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "ABD" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "Fransa" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "Almanya" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "Birleşik Krallık" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "İtalya" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "Japonya" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "İspanya" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "Brezilya" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "Kullanılacak Amazon sitesi:" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "Bu ülkenin Amazon websitesi kullanılarak Metadata indirilecek." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "Amazon zaman aşımı.Sonra tekrar deneyin." @@ -4912,6 +4957,24 @@ msgstr "Amazon zaman aşımı.Sonra tekrar deneyin." msgid "Metadata source" msgstr "Metadata kaynağı" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " @@ -4920,7 +4983,7 @@ msgstr "" "Metadata ve kapakları Duban.com'dan indirir. Sadece Çinçe kitaplar için " "kullanışlıdır." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4930,6 +4993,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "Metadata ve kapakları Google Kitaplar'dan indirir." +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "Büyük" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "Metadayı isbndb.com'dan indirir." @@ -4993,12 +5097,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "Bu Amazon Topaz kitabı. İşlem yapılamaz." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "MOBI dosyası değil. Bu dosya Topaz dosyasıdır" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "MOBI Dosyası değil" @@ -5025,72 +5129,72 @@ msgid "No details available" msgstr "Hiç detay yok" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "İçindekiler" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "Başlık Sayfası" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "Dizin" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "Açıklayıcı sözlük" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "Takdim ve Teşekkürler" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "Kaynakça" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "Kolofon" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "Telif Hakkı" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "İthaf" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "Kitabe" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "Önsöz" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "İlüstrasyon Listesi" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "Tabloların Listesi" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "Notlar" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "Önsöz" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "Ana Metin" @@ -5099,14 +5203,14 @@ msgstr "Ana Metin" msgid "%s format books are not supported" msgstr "%s biçimli litaplar desteklenmiyor" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -5131,12 +5235,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -5169,7 +5273,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -5294,9 +5398,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "(Başlıksız)" @@ -5312,11 +5416,11 @@ msgid "HTML TOC generation options." msgstr "HTML TOC yaratma seçenekleri" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "Derecelendirme" @@ -5359,6 +5463,10 @@ msgstr "Sayfa %d" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "pdftohtml bulunamadı, dosya yolu üzerinde olduğunu kontrol ediniz." +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5514,7 +5622,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "Yeniden Başlatmalısnız" @@ -5641,12 +5749,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5723,8 +5831,8 @@ msgstr "Kütüphaneye ekle" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5845,7 +5953,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5893,7 +6001,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "Kütüphane seç" @@ -5907,7 +6015,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5919,12 +6027,12 @@ msgid "Pick a random book" msgstr "Rastgele bir kitap seç" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "Hızlı geçiş" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "Kütüphaneyi isimlendir" @@ -6064,7 +6172,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -6092,7 +6200,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -6133,7 +6241,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "Kütüphanede bulunan kitaplar için katalog oluştur" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "Dönüştürülemiyor" @@ -6146,96 +6254,109 @@ msgstr "%d tane kitabın dönüştürülmesi başlıyor" msgid "Empty output file, probably the conversion process crashed" msgstr "Boş çıktı dosyası. Muhtemelen dönüştürme süreci başarısız oldu." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "Kütüphane seç" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "Kütüphaneyi tara" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "Kütüphaneye kopyala" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "(kopyaladıktan sonra sil)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "yola göre kütüphane seçiniz.." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "Kopyalanamıyor" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "Herhangi bir kütüphane bulunamadı" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "Kitaplar kopyalanamadı " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -6254,6 +6375,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "Emin misiniz?" @@ -6326,17 +6448,17 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "Seçilen formatlar silinecek" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" @@ -6344,59 +6466,61 @@ msgstr "" "Seçili olan kitaplar için bütün formatlar kütüphanenizden " "silinecektir . Kitap için metadatalar korunacaktır. Emin misiniz?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "Kitaplar silinemiyor" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "Bağlı cihaz yok" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "Cihaz hafızası" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "Depolama Kartı A" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "Depolama Kartı B" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "Silinecek kitap yok" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "Seçili kitaplardan hiç biri cihazda değil" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "Kitaplar cihazdan siliniyor" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -6472,12 +6596,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "Durduruluyor" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "Sunucu durduruluyor. Bu işlem birkaç dakika sürebilir, bekleyiniz..." @@ -6561,8 +6685,8 @@ msgstr "Üstveri indirme işlemi başarısız" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "İndirme başarısız" @@ -6598,7 +6722,7 @@ msgid "Download complete" msgstr "İndirme tamamlandı" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "İndirme kaydı" @@ -6668,15 +6792,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "Bazı hatalar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6781,17 +6905,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6800,185 +6935,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "Hakkında" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "İsim seçiniz" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr " ve " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -7095,7 +7241,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "Kitap detaylarını göster" @@ -7200,7 +7346,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -7212,30 +7358,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "Arama yapılamaz" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -7245,11 +7391,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -7516,7 +7662,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "Kitap yok" @@ -7726,7 +7872,7 @@ msgid "Click to open" msgstr "Açmak için tıkla" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7736,7 +7882,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "Koleksiyonlar" @@ -7770,16 +7916,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7847,7 +8002,7 @@ msgstr "çıktı" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -8033,7 +8188,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -8373,8 +8528,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "Normal" @@ -9290,59 +9445,63 @@ msgstr "" msgid "PDF Output" msgstr "PDF Çıktısı" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "&Kağıt Boyutu:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "Se&rif ailesi:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "&Sans ailesi:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "S&tandart yazı tipi:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -9354,13 +9513,29 @@ msgstr "" msgid " px" msgstr " px" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9598,6 +9773,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "Dönüştür" @@ -10164,7 +10343,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "Uygun biçim yok" @@ -10210,66 +10389,66 @@ msgstr "Aygıt: " msgid " detected." msgstr " bulundu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "gönderilmek için seçildi" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "Cihaz yok" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "Cihaza gönderilecek biçimi seçin" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "Gönderilemiyor: Bağlı bir cihaz yok" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "Kart yok" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "Gönderilemiyor: Cihaz depolama kartına sahip değil" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "Kataloglar cihaza gönderiliyor" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "Haberler cihaza gönderiliyor" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "Kitaplar cihaza gönderiliyor" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." @@ -10277,16 +10456,16 @@ msgstr "" "Format uyuşmazlığından dolayı kitaplar cihaza aktarılamadı. Kitapları " "cihazınızla uyumlu formata dönüştürmeniz gerekmekte." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "Cihazda yer yok" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -10448,7 +10627,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10959,13 +11138,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "Cihaz" @@ -10999,8 +11178,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -11019,13 +11198,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -11124,7 +11303,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "Eşleşme bulunamadı" @@ -11172,12 +11351,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -11272,40 +11451,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "Kopyalandı" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -12173,6 +12352,7 @@ msgstr "Durduruluyor..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -12208,12 +12388,12 @@ msgstr "Öğeler" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "Arama" @@ -12787,12 +12967,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12844,6 +13024,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "Yayımcılar" @@ -12858,6 +13039,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "Geçersiz ad" @@ -13734,7 +13916,7 @@ msgid "&Shortcut:" msgstr "&Kısayol:" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13778,7 +13960,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "Eşleşme yok" @@ -13788,66 +13970,70 @@ msgstr "Eşleşme yok" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "Gelişmiş arama" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "Shift+Ctrl+F" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "Ara (Enter tuşuna da basabilirsiniz)" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "Arama kutusunu temizle" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13860,32 +14046,32 @@ msgstr "" msgid "Y" msgstr "Y" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "Boyut (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13894,30 +14080,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "Boyut" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -14022,7 +14208,7 @@ msgid "Previous Page" msgstr "Önceki Sayfa" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -14520,7 +14706,7 @@ msgid "Edit Metadata" msgstr "Üstveriyi Düzenle" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14665,15 +14851,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14681,27 +14867,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "Lütfen bekleyin" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14709,38 +14895,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "Aranıyor..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14881,7 +15073,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14924,34 +15117,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "Yüksek" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "Düşük" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "Varsayılan" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -15000,12 +15193,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15919,10 +16112,6 @@ msgstr "Kapalı" msgid "Small" msgstr "Küçük" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "Büyük" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "Orta" @@ -15940,7 +16129,7 @@ msgid "Never" msgstr "Hiçbir zaman" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "İlk harf ile" @@ -16917,20 +17106,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "İçerik sunucusunu başlatmada hata" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "Hata günlüğü:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "Erişim günlüğü:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "Değişikliklerin etkin olması için sunucuyu yeniden başlatmalısınız" @@ -16965,18 +17154,18 @@ msgid "Max. &OPDS items per query:" msgstr "Sorgu başına en fazla &OPDS elemanı" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" -msgstr "Gruplanmamış en fazla &OPDS elemanı" +msgid "Max. &ungrouped items:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" -msgstr "Uygulanacak kısıtlama(kaydedilen arama):" +msgid "Virtual library to apply:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -17351,83 +17540,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "Arama (Gelişmiş Arama için soldaki düğmeye basın)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "Kayıtlı aramalar" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" -msgstr "*Şimdiki arama" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "(tüm kitaplar)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17703,32 +18042,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "Kütüphaneye indirmek için format seçiniz" @@ -17842,47 +18181,47 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" "Birkaç kitap için yazarın değiştirilmesi uzun sürebilir. Eminmisiniz?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "Aramalar" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17904,13 +18243,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -18003,7 +18342,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "Sıralama ölçütü" @@ -18042,138 +18381,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "%s için ikonu değiştir" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "%s kategorsini kullanıcı kategorisine ekle" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "%s kategorisine alt kategori ekle" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "%s kategorisinde kitap ara" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "%s kategorisi haricinde kitap ara" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "Kategori ikonunu değiştir" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -18184,56 +18523,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -18275,73 +18614,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -18349,134 +18699,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18555,31 +18950,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "Mevcut aramayı temizle" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18587,11 +18982,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18607,16 +19002,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18639,23 +19034,23 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" @@ -18665,11 +19060,11 @@ msgstr "" " Şimdi çıkmak aracın bozulmasına yol açabilir
\n" " Çıkmak istediğinizden eminmisiniz?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "Aktif işler" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -19216,29 +19611,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -20486,44 +20881,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -20532,59 +20927,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20595,28 +20990,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20626,11 +21031,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20640,15 +21045,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20663,7 +21068,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20673,40 +21078,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20717,28 +21122,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20749,13 +21154,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20775,11 +21180,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20790,30 +21195,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20825,17 +21230,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20844,27 +21249,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "y" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20874,15 +21279,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20895,40 +21300,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "İsim:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "eklendi" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "kaldırıldı" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20942,13 +21347,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20956,34 +21361,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20998,18 +21403,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -21017,33 +21422,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -21066,31 +21471,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "%s kopyalanıyor" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -21332,20 +21728,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "Tüm kitaplar" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "En yeni" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "Yükleniyor, lütfen bekleyiniz" @@ -21368,7 +21764,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -21377,98 +21773,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "%d yıldız" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "Popülerlik" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "kütüphane" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "home" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "Rastgele kitap" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "Kitaplara şuna göre gözat" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "Ayrıntılar" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "Kalıcı bağlantı" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "Bu kitap için kalıcı link" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "Bir başka rastgele kitap" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -21481,21 +21877,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -22500,10 +22898,6 @@ msgstr "am" msgid "pm" msgstr "pm" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "Hepsini Seç" @@ -22602,6 +22996,31 @@ msgstr "" msgid "Restart console" msgstr "KOnsolu yeniden başlat" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "URL sftp şemasına sahip olmalıdır" @@ -22650,101 +23069,101 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "İndirme tamamlandı" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "Aşağıdaki makaleleri indirme başarısız oldu:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "Aşağıdaki makalelerin bölümlerini indirme başarısız oldu:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr " den " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "\tBaşarısız olunan bağlantılar:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "Makale getirilemedi" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "Sebebi görmek için -w kodunu çalıştırın" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "Beslemeler getiriliyor..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "İndeks sayfasından beslemeleri al" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "Kapak indirilmeye çalışılıyor..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "Künye oluşturuluyor..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "[%d thread(s)] İndirilmeye başlanıyor" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "Beslemeler %s konumuna indiriliyor" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "Kapak İndirilemedi: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "Kapak %s 'den indiriliyor" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "Künye resmi indirildi" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "Bu sayıdaki makaleler " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "Başlıksız Yazı" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "Makale indirildi: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "Makalenin indirilmesi başarısız oldu: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "Besleme alınıyor" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 msgid "" "Failed to log in, check your username and password for the calibre " "Periodicals service." @@ -22752,7 +23171,7 @@ msgstr "" "Giriş başarısız , calibre Süreli servisleri için kullanıcı adınız ve " "şifrenizi kontrol ediniz ." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -23022,7 +23441,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/uk.po b/src/calibre/translations/uk.po index 2faa8a90eb..249281a07e 100644 --- a/src/calibre/translations/uk.po +++ b/src/calibre/translations/uk.po @@ -3,39 +3,39 @@ # This file is distributed under the same license as the calibre package. # # FIRST AUTHOR , 2009. -# Yuri Chornoivan , 2011, 2012. +# Yuri Chornoivan , 2011, 2012, 2013. msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" -"PO-Revision-Date: 2013-03-29 05:35+0000\n" -"Last-Translator: Yuri Chornoivan \n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" +"PO-Revision-Date: 2013-04-26 15:01+0000\n" +"Last-Translator: yurchor \n" "Language-Team: Ukrainian \n" +"Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " -"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:23+0000\n" -"X-Generator: Launchpad (build 16546)\n" -"Language: uk\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" +"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Launchpad (build 16580)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:40+0000\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "Не робить абсолютно нічого" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -90,8 +90,8 @@ msgstr "Не робить абсолютно нічого" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -102,9 +102,9 @@ msgstr "Не робить абсолютно нічого" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -113,7 +113,7 @@ msgstr "Не робить абсолютно нічого" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -126,7 +126,7 @@ msgstr "Не робить абсолютно нічого" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -148,13 +148,13 @@ msgstr "Не робить абсолютно нічого" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -163,33 +163,33 @@ msgstr "Не робить абсолютно нічого" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -334,73 +334,73 @@ msgstr "Налаштувати метадані в %s файлах" msgid "Set metadata from %s files" msgstr "Взяти метадані з %s файлів" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "Додати книги до збірки calibre або на з’єднаний пристрій" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "Отримати анотації зі з’єднаного пристрою Kindle (експериментальне)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "Створити каталог книг у вашій бібліотеці calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "Перетворити книги у один з різноманітних форматів ел. книжок" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "Додати блиску вашим книгам" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "Редагувати записи змісту ваших книг" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "Вилучити книги з Calibre або підключеного пристрою" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "Редагувати метадані книжок у бібліотеці Сalibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "Читати книги з вашої бібліотеки calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "Отримати новини з інтернету у форматі електронної книги" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Показати список пов’язаних книжок" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "Перенести книги із бібліотеки Сalibre на жорсткий диск" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "Показувати параметри книги на окремій панелі підказки" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "Перезапустити Сalibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "Відкрити теку, яка містить файли книг, у вашій бібліотеці calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "Надіслати книги на підключений пристрій" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" @@ -408,44 +408,44 @@ msgstr "" "Надіслати книжки електронною поштою або інтернетом. Також встановити " "з’єднання з iTunes або теками на вашому комп’ютені, неначе вони є пристроями" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "Переглянути підручник користувача Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "Налаштувати calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "Знайти книги, подібні до поточної позначеної" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" "Перемкнутися між різними бібліотеками calibre і виконати супровід цих " "бібліотек" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "Скопіювати книги з пристрою у вашу бібліотеку" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "Змінити збірки, у яких зберігатимуться книги на вашому пристрої" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "Скопіювати книги з поточної бібліотеки в іншу" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" "Внести невеличкі зміни до файлів epub або htmlz у вашій бібліотеці calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" @@ -453,121 +453,121 @@ msgstr "" "Знайти наступний або попередній відповідник під час пошуку у вашій " "бібліотеці calibre у режимі підсвічування" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "Вибрати випадковим чином книгу із бібліотеки Сalibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "Шукати книги у різних книготоргівців" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "Отримати нові додатки для calibre або оновити існуючі" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Зовнішній вигляд" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Зовнішній вигляд" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "Налаштуйте зовнішній вигляд Calibre за своїм смаком" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "Поведінка" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "Змінити спосіб поведінки Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Додати власну колонку" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "Додати/Вилучити власні стовпчики у списку книг calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Панель інструментів" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "Налаштувати панель і контекстне меню" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "Пошук" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "Налаштувати спосіб пошуку книжок у calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "Вхідні параметри" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Перетворення" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" "Встановити специфічні параметри перетворення для кожного вхідного формату" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Загальні параметри" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "Встановити параметри перетворення, загальні для всіх форматів" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "Вихідні параметри" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" "Встановити специфічні параметри перетворення для кожного вихідного формату" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "Додавання книг" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "Імпортування/Експортування" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "Контроль читання метаданих з файлів при додаванні книг" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "Запис книг на диск" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -575,50 +575,50 @@ msgstr "" "Контроль експорту файлів зі своєї бази даних на диску при використанні " "Зберегти на диск" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "Надсилання книг на пристрої" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "Керування передаванням файлів на вашу е-книжку" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "Засоби обробки метаданих" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "Змініть поля метаданих перед збереженням/надсиланням" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "Шаблонні функції" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "Додатково" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "Створити власні шаблонні функції" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "Обмін книгами електронною поштою" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "Спільний доступ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -626,11 +626,11 @@ msgstr "" "Установка обміну книг по електронній пошті. Може використовуватися для " "автоматичного надсилання чи завантаження новин на ваші пристрої" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "Обмін мережею" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -638,21 +638,21 @@ msgstr "" "Налаштування сервера вмісту, який дасть вам доступ до бібліотеки calibre в " "будь-якому місці та на будь-якому пристрої, через Інтернет" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "Отримання метаданих" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" "Керувати способом отримання Calibre метаданих електронних книжок у інтернеті" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "Ігноровані пристрої" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." @@ -660,37 +660,37 @@ msgstr "" "Керувати списком з’єднуваних з комп’ютером пристроїв, які calibre має " "ігнорувати." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Розширення" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Додати/Вилучити/Налаштувати різні частини інтерфейсу calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "Коригування" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "Досконале налаштування поводження calibre в різних ситуаціях" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "Клавіатура" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "Налаштувати клавіатурні скорочення, використані у calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Різне" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "Різні додаткові налаштування" @@ -1000,8 +1000,8 @@ msgstr "Увімкнути вказаний за назвою додаток" msgid "Disable the named plugin" msgstr "Вимкнути вказаний за назвою додаток" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -1012,11 +1012,22 @@ msgid "Path to library too long. Must be less than %d characters." msgstr "" "Шлях до бібліотеки є занадто довгим. Шлях має бути коротшим за %d символів." -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "відновлене налаштування " + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "створення нетипового стовпчика " + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -1028,26 +1039,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "%(tt)sСередня оцінка — %(rating)3.1f" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "Головна" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "Картка A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "Картка B" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1060,11 +1071,11 @@ msgstr "Картка B" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Новини" @@ -1072,14 +1083,14 @@ msgstr "Новини" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "позначено" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "так" @@ -1087,7 +1098,7 @@ msgstr "так" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "ні" @@ -1095,45 +1106,71 @@ msgstr "ні" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "не позначено" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "сьогодні" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "вчора" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "цьогомісяця" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "днівтому" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "Помилка під час перетворення числа: {0}" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "Помилка під час перетворення дати: {0}" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "Не числове значення у запиті: {0}" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "порожньо" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "порожньо" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "Некоректний булевий запит «{0}»" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" +"Некоректний формат запиту для пошуку з відокремленням записів двокрапкою: {0}" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "Виявлено рекурсивну групу запиту щодо пошуку: {0}" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1167,7 +1204,7 @@ msgstr "Додатка з назвою %s не знайдено" msgid "Communicate with Android phones." msgstr "Зв'язується з телефонами на базі операційної системи \"Android\"" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" @@ -1176,7 +1213,7 @@ msgstr "" "основної пам’яті пристрою. Будуть використані ті, що були створені " "першими." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" @@ -1185,11 +1222,11 @@ msgstr "" "карток пам’яті пристрою. Будуть використані ті, що були створені " "першими." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "Зв'язується з телефонами на базі операційної системи \"S60\"" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "Обмін даними з планшетами під керуванням WebOS." @@ -1342,8 +1379,8 @@ msgstr "" "Натисніть кнопку \"Показати деталі\" для списку." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "Каталог" @@ -1397,10 +1434,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1441,6 +1478,7 @@ msgstr "Додаю книжки до списку метаданих на при #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1783,17 +1821,17 @@ msgstr "" "змінено зображення обкладинки." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "Вивантаження чорно-білих обкладинок" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "Показати застарілі книжки" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1805,12 +1843,12 @@ msgstr "" "нової логіки вилучення." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "Показувати мініатюри" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1822,7 +1860,7 @@ msgstr "" "мініатюри." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "Показувати рекомендації" @@ -1838,7 +1876,7 @@ msgstr "" "якщо ви хочете бачити їх або вилучити ці рекомендації." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "Намагатися підтримувати роботу з новою мікропрограмою" @@ -1856,10 +1894,12 @@ msgstr "" "типовими налаштуваннями та тестування програмного забезпечення." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "Непідтримувана версія бази даних Kobo — див. подробиці" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1941,20 +1981,20 @@ msgstr "" "/>Поступ главою: %(chapter_progress)s%%
Підсвічування: " "%(text)s
Нотатки: %(annotation)s

" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" "У Kobo Touch з версії мікрокоду 2.0.0 передбачено підтримку шаф з книгами." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "Вкажіть стовпчик типу міток для автоматичного керування" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "Створити шафи з книгами" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." @@ -1962,11 +2002,11 @@ msgstr "" "Створити нові шафи з книгами на Kobo Touch, якщо їх там не було. Працює з " "мікрокодом версії 2.0.0 та новіших версій." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "Вилучити порожні шафи з книгами" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." @@ -1974,11 +2014,11 @@ msgstr "" "Вилучити всі порожні шафи з книгами Kobo Touch після завершення " "синхронізації. Працює лише з мікрокодом версії 2.0.0 та новішими версіями." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "Вивантажити обкладинки книг" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." @@ -1986,11 +2026,11 @@ msgstr "" "Вивантажувати зображення обкладинок з бібліотеки calibre під час надсилання " "книг на пристрій." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "Зберігати співвідношення розмірів обкладинки" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." @@ -1998,7 +2038,7 @@ msgstr "" "Під час вивантаження обкладинок не змінювати співвідношення розмірів " "зображення. Призначено для версій мікропрограми пристрою 2.3.1 та новіших." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " @@ -2008,11 +2048,11 @@ msgstr "" "але здебільшого це посилання на сайти, де можна придбати книгу. Позначте, " "якщо ви хочете бачити і вилучати ці рекомендації." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "Встановити дані щодо серії" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -2025,7 +2065,7 @@ msgstr "" "оброблено самим пристроєм. Позначте цей пункт, якщо ви хочете встановлювати " "дані щодо серії." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -2040,11 +2080,11 @@ msgstr "" "обізнані з тестування програмного забезпечення. У цьому драйвері передбачено " "підтримку мікрокоду версії 2.x.x та бази даних версії аж до " -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "Назва для текстування під час діагностичних операцій" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -2068,55 +2108,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "З’єднатися з Sweex/Kogan/Q600/Wink" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "Зв’язується з Pandigital Novel" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "З’єднатися з VelocityMicro" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "Зв’язується з GM2000" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "З’єднатися з Acer Lumiread" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "З’єднатися із Aluratek Color" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "З’єднатися з Trekstor" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "З’єднатися з EEE Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "З’єднатися з Adam tablet" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "З’єднатися з Nextbook Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "З’єднатися з Moovybook Reader" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "З’єднатися з COBY" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "З’єднатися з Ex124G" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "Обмін даними з електронними книгами WayteQ і SPC Dickens" @@ -2244,7 +2284,7 @@ msgstr "The Nook" msgid "Communicate with the Nook eBook reader." msgstr "Зв’язується з Nook eBook reader." -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" "Встановлює зв’язок з пристроями для читання книжок Nook Color, TSR та Tablet." @@ -2819,7 +2859,7 @@ msgid "There is insufficient free space on the storage card" msgstr "Немає достатньо місця на карті пам’яті" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "Опрацьовано %s" @@ -3239,11 +3279,11 @@ msgstr "" "дій, оскільки його використання може призвести до небажаних наслідків на " "інших етапах перетворення." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "Файл CSS, який буде використано для виведення, замість типового" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" @@ -3251,7 +3291,7 @@ msgstr "" "Шаблон, використаний для створення файла покажчика у форматі html, замість " "типового файла" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" @@ -3259,7 +3299,7 @@ msgstr "" "Шаблон, використаний для створення змісту книги у форматі html, замість " "типового файла" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3617,20 +3657,24 @@ msgstr "" "пріоритет за значення цього параметра." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." msgstr "" -"Шаблон HTML, який буде використано для створення нижніх колонтитулів на " -"кожній сторінці. Рядок _PAGENUM_ буде замінено номером поточної сторінки." +"Шаблон HTML, який буде використано для створення елемента %s на кожній " +"сторінці. Рядки _PAGENUM_ (номер сторінки), _TITLE_ (назва), _AUTHOR_ " +"(автор) і _SECTION_ (розділ) у такому шаблоні буде замінено на їхні поточні " +"значення." + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" +msgstr "верхні колонтитули" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." -msgstr "" -"Шаблон HTML, який буде використано для створення верхніх колонтитулів на " -"кожній сторінці. Рядок _PAGENUM_ буде замінено номером поточної сторінки." +msgid "headers" +msgstr "нижні колонтитули" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 msgid "" @@ -4875,7 +4919,7 @@ msgstr "" msgid "Set book ID" msgstr "Вказати ID книжки" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4902,27 +4946,27 @@ msgstr "Ні" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "Заголовок" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "Автор(и)" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "Видавець" @@ -4958,13 +5002,14 @@ msgstr "Коментарі" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "Теґи" @@ -4973,9 +5018,10 @@ msgstr "Теґи" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4986,7 +5032,7 @@ msgstr[1] "Серії" msgstr[2] "Серій" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4998,8 +5044,8 @@ msgstr "Мітка часу" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "Опубліковано" @@ -5135,62 +5181,62 @@ msgstr "" "Отримати зображення обкладинки/соціальні метадані книги за номером ISBN з " "LibraryThing.com\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "Обкладинка" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "Отримує метадані і обкладинки з Amazon" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "США" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "Франція" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "Німеччина" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "Великобританія" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "Італія" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "Японія" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "Іспанія" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "Бразилія" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "Вебсайт Amazon, який слід використовувати:" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" "Метадані від Amazon буде отримано з сайта Amazon, призначеного для вказаної " "країни." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" "Перевищення часу очікування на дані з Amazon. Повторіть спробу пізніше." @@ -5199,6 +5245,26 @@ msgstr "" msgid "Metadata source" msgstr "Джерело метаданих" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" +"Отримує варіанти зображень обкладинки з Amazon. Корисний для пошуку " +"альтернативних зображень обкладинки." + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "Налаштування додатка Big Book Search" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "Максимальна кількість отриманих обкладинок" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "Максимальна кількість зображень обкладинок у результатах пошуку" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " @@ -5207,7 +5273,7 @@ msgstr "" "Отримує метадані та обкладинки з Douban.com. Корисний для книжок китайською " "мовою." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -5219,6 +5285,51 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "Отримує метадані та обкладинки з Google Books" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" +"Отримує зображення обкладинок за допомогою рушія пошуку зображень Google. " +"Корисний для пошуку якісніших або альтернативних зображень обкладинок." + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "Налаштування додатка пошуку зображень у Google" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" +"Максимальна кількість обкладинок, які слід обробляти з результатів пошуку у " +"google" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "Розмір обкладинки" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "Шукати обкладинки з розміром, більшим за вказаний" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "Будь-який розмір" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "Великий" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "Більше за %s" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "Завантаження метаданих з isbndb.com" @@ -5290,12 +5401,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "Це книжка Amazon Topaz. Її обробка є неможливою." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "Цей файл не є файлом MOBI. Це файл Topaz." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "Цей файл не є файлом MOBI." @@ -5332,72 +5443,72 @@ msgid "No details available" msgstr "Подробиці недоступні" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "Зміст" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "Титульна сторінка" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "Індекс" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "Глосарій" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "Підтвердження" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "Бібліографія" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "Емблема видавництва" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "Авторські права" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "Присвята" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "Епіграф" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "Передмова" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "Список ілюстрацій" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "Список заголовків" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "Нотатки" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "Вступ" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "Основний текст" @@ -5406,7 +5517,7 @@ msgstr "Основний текст" msgid "%s format books are not supported" msgstr "%s формат е-книжки не підтримується" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " @@ -5417,7 +5528,7 @@ msgstr "" "MOBI, лише якщо дані записано у форматі KF8. Редагувати файли MOBI, що не " "містять даних у форматі KF8, не можна." -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -5445,8 +5556,8 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" "

Покращення книг — це процедура, подібна до полірування\n" "дорогоцінного каміння, до якого подібні ретельно зібрані книги.

\n" @@ -5460,13 +5571,13 @@ msgstr "" "до мінімуму,\n" "який потрібен для отримання бажаного результату.

\n" "\n" -"

Цим інструментом слід користуватися на останньому кроці створення вашої " +"

Цим інструментом слід користуватися на останньому кроці створення вашої \n" "електронної книги.

\n" -"\n" -"

Зауважте, що покращення працює лише для файлів у форматах %s.

\n" +"{0}\n" +"

Зауважте, що покращення працює лише для файлів у форматах %s.

" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -5517,11 +5628,11 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" "

Вставити сторінку «суперобкладинки» на початку книги. Ця сторінка\n" "міститиме всі метадані книги, зокрема назву, мітки авторів, серію,\n" -"коментарі тощо.

" +"коментарі тощо. Всі попередні параметри «суперобкладинки» буде збережено.

" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 msgid "

Remove a previous inserted book jacket page.

\n" @@ -5654,9 +5765,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "У файлі %(f)s немає прив’язки %(a)s" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "(Без назви)" @@ -5672,11 +5783,11 @@ msgid "HTML TOC generation options." msgstr "HTML TOC параметри створення." #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "Оцінка" @@ -5725,6 +5836,10 @@ msgstr "" "Не вдалося знайти pdftohtml. Перевірте, чи встановлено програму до одного з " "каталогів PATH." +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "Без назви" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5890,7 +6005,7 @@ msgid "Show this confirmation again" msgstr "Показувати це вікно підтвердження надалі" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "Потрібен перезапуск" @@ -6017,12 +6132,12 @@ msgstr "Керування додаванням книг" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -6104,8 +6219,8 @@ msgstr "Додати до бібліотеки" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -6229,7 +6344,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "Виберіть теку призначення для %(title)s.%(fmt)s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -6280,7 +6395,7 @@ msgid "No existing calibre library found at %s" msgstr "У %s не знайдено вже створеної бібліотеки Calibre" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "Вибрати бібліотеку" @@ -6294,7 +6409,7 @@ msgstr "Ввімкнути/створити бібліотеку…" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -6306,12 +6421,12 @@ msgid "Pick a random book" msgstr "Обрати довільну книгу" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "Швидке перемикання" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "Переназвати бібліотеку" @@ -6469,7 +6584,7 @@ msgstr "" "даних?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -6499,7 +6614,7 @@ msgstr "Файли у вашій бібліотеці відповідають #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -6542,7 +6657,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "Створити каталог книг у вашій бібліотеці calibre" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "Не вдалося перетворити" @@ -6557,89 +6672,102 @@ msgstr "" "Порожній файл результату, ймовірно процес перетворення завершив роботу у " "аварійному режимі" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "%(title)s, автор — %(author)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "Вибрати бібліотеку" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "&Шлях до бібліотеки:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "Вказати бібліотеку" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" -msgstr "Ви&лучити після копіювання" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" +msgstr "&Копіювати" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "Копіювати до вказаної бібліотеки" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "&Пересунути" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "Копіювати до вказаної бібліотеки і вилучити з поточної бібліотеки" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "Копіювати в бібліотеку" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "Копіювати вибрані книжки до вказаної бібліотеки" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "(Вилучення після копіювання)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "Вказати шлях до бібліотеки…" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "Не вдається скопіювати" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "Не можна копіювати до поточної бібліотеки." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "Немає бібліотеки" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "Не знайдено бібліотеку в %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "Копіювання" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "Пересування" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "Скопійовано %(num)d книг до %(loc)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "%(num)d книг пересунуто до %(loc)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "Неможливо скопіювати книги: " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "Об’єднано автоматично" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " @@ -6651,7 +6779,7 @@ msgstr "" "«Автоматичне об’єднання» у вікні, відкрити яке можна за допомогою пункту " "меню «Налаштування -> Додавання книг»." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -6672,6 +6800,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "Ви впевнені?" @@ -6752,11 +6881,11 @@ msgstr "" "Форматування %(fmt)s буде остаточно вилучено з %(title)s. Ви хочете " "саме цього?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "Виберіть формати для вилучення" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." @@ -6764,7 +6893,7 @@ msgstr "" "Виберіть формати, які не буде вилучено.

Зауважте, що програма " "ніколи не вилучатиме всіх форматів книги." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" @@ -6773,44 +6902,44 @@ msgstr "" "бібліотеки.
Метадані бібліотеки залишаться недоторканими. Ви справді " "цього хочете?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "Не вдається вилучити книги" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "Пристрій не підключений" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "Основна пам'ять" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "Карта пам'яті A" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "Карта пам’яті B" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "Немає книг для вилучення" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "Вибрані книжки відсутні на пристрої" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "Вилучення книг з пристрою." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" @@ -6818,20 +6947,23 @@ msgstr "" "Деякі з позначених книг зберігаються на з’єднаному з комп’ютером пристрої. " "Звідки слід вилучити позначені вами файли?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -"Вибрані книги будуть вилучені і їх файли з бібліотеки calibre теж. Ви " -"впевнені?" +"Позначені %d книг буде остаточно вилучено зі знищенням відповідних " +"файлів бібліотеки calibre. Ви справді хочете саме цього?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" -"Вибрані книжки будуть вилучені з вашого пристрою. Ви впевнені?" +"Позначені %d книг буде остаточно вилучено з вашого пристрою. Ви " +"справді хочете саме цього?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 msgid "Start wireless device connection" @@ -6908,12 +7040,12 @@ msgstr "" "з’єднання з певними пристроями тощо." #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "Зупиняється" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "Зупиняємо сервер, це може тривати до хвилини, будь ласка, зачекайте…" @@ -6999,8 +7131,8 @@ msgstr "Не вдалося завантажити метадані" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "Завантаження не вдалось" @@ -7042,7 +7174,7 @@ msgid "Download complete" msgstr "Звантаження завершено" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "Журнал звантаження" @@ -7138,15 +7270,15 @@ msgstr "" "вашої бібліотеки calibre.

Ви справді бажаєте, що усі ці дії " "було виконано?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "Застосування змінених метаданих" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "Певні помилки" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -7255,17 +7387,36 @@ msgstr "Покращення %d книг" msgid "

About Polishing books

%s" msgstr "

Щодо покращення книг

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" +"

Якщо для вашої книги зберігаються два файла, EPUB і ORIGINAL_EPUB,\n" +" покращення буде застосовано до ORIGINAL_EPUB (те саме для " +"всіх інших\n" +" форматів ORIGINAL_*). Отже, якщо ви хочете, щоб " +"покращення\n" +" було виконано не над файлами у форматі ORIGINAL_*, " +"вилучіть\n" +" файл ORIGINAL_* до виконання процедури з покращення.

" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "

Обрізання шрифтів до підмножин

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "

Удосконалення пунктуації

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -7280,7 +7431,7 @@ msgstr "" "calibre.

Для оновлення зображення обкладинки передбачено окремий " "параметр.

" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " @@ -7291,141 +7442,156 @@ msgstr "" "електронної книги не вдасться знайти обкладинку, буде вставлено нове " "зображення обкладинки.

" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "

Суперобкладинка

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "

Вилучити суперобкладинку

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "Вкажіть дії, які слід виконати:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "&Обрізати всі вбудовані шрифти" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "Обробити &пунктуацію" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "Оновити &метадані у файлах книг" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "Оновити зображення &обкладинок у файлах книг" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "Додати метадані як сторінку «с&уперобкладинки»" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "Ви&лучити раніше вставлену суперобкладинку книги" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "Про модуль" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "Показати з&віт" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" "Після завершення покращення тексту показати звіт щодо всіх виконаних дій" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "&Зберегти параметри" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "З&авантажити параметри" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "&Позначити всі" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "З&няти позначення" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "Не вказано дій" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "Вам слід вибрати принаймні одну дію до збереження" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "Виберіть назву" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "Виберіть назву для цього набору параметрів" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "Вилучити збережені параметри" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "Слід оновити метадані" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" +"Вами позначено пункт параметра додавання метаданих як «суперобкладинки» " +"книги. Щоб цим параметром можна було скористатися, слід також використати " +"параметр оновлення метаданих у файлах книг. Хочете скористатися цим " +"параметром?" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" "Вам слід вказати принаймні одну дію або натиснути кнопку «Скасувати»." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "Створення черги обробки книг для покращення" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "Покращення %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "Покращення книги %(nums)s з %(tot)s (%(title)s)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "Додавання до черги обробки книги %(nums)s з %(tot)s (%(title)s)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "Ігнорувати решту %d звітів" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "Переглянути &журнал повністю" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "Покращення %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." @@ -7433,32 +7599,32 @@ msgstr[0] "Початкові файли було збережено як %s." msgstr[1] "Початкові файли було збережено як %s." msgstr[2] "Початкові файли було збережено як %s." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr " та " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "Для повторного покращення буде використано початкові файли." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "Покращення книг" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "Надати блиску довершеності вашим книгам" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "П" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "Неможливо покращити" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " @@ -7467,7 +7633,7 @@ msgstr "" "Можливість покращення передбачено лише для книг у форматах %s. Перетворіть " "дані книги у один з цих форматів до того, як спробуєте покращити книгу." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "Розпочати покращення %d книг" @@ -7587,7 +7753,7 @@ msgid "Click the show details button to see which ones." msgstr "Натисніть кнопку «Показати подробиці», щоб переглянути список." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "Показати деталі книги" @@ -7694,7 +7860,7 @@ msgid "this book" msgstr "ця книга" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "Пошук для «%s»" @@ -7706,17 +7872,17 @@ msgstr "Магазини" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "Обрати магазини" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "Пошук неможливий" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." @@ -7724,7 +7890,7 @@ msgstr "" "Calibre допомагає вам знайти потрібні вам електронні книги на сайтах " "різноманітних комерційних і відкритих джерел книг." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " @@ -7734,7 +7900,7 @@ msgstr "" "крамницю, у які ціна потрібної вам книги є найменшою. Крім того, ви можете " "отримати дані щодо того, чи захищено книги DRM та іншу корисну інформацію." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -7751,11 +7917,11 @@ msgstr "" "яку ви купуєте, захищено DRM." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "Показувати це повідомлення знову" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "Про отримання книжок" @@ -8062,7 +8228,7 @@ msgid "The specified directory could not be processed." msgstr "Вказаний каталог неможливо обробити." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "Нема книг" @@ -8289,7 +8455,7 @@ msgid "Click to open" msgstr "Натисніть, щоб відкрити" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "Ідентифікатори" @@ -8299,7 +8465,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "Книга %(sidx)s %(series)s" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "Збірки" @@ -8333,16 +8499,25 @@ msgstr "Шлях" msgid "Cover size: %(width)d x %(height)d" msgstr "Розмір обкладинки: %(width)d ⨯ %(height)d" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "&Копіювати адресу посилання" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "Вилучити форматування %s" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "Зберегти у форматі %s на диск" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "Відновити формат %s" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "Параметри BibTeX" @@ -8410,7 +8585,7 @@ msgstr "вивід" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -8606,7 +8781,7 @@ msgstr "Так" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "Назва" @@ -8962,8 +9137,8 @@ msgid "Style the selected text block" msgstr "Застосувати стиль до позначеного текстового блоку" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "Звичайний" @@ -9939,7 +10114,7 @@ msgstr "&Без зображень" msgid "PDF Output" msgstr "Вивід PDF" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " @@ -9949,52 +10124,56 @@ msgstr "" "якщо ви позначите пункт перевизначення, розташований нижче. Якщо цей пункт " "не буде позначено, буде використано параметри з профілю виведення даних." -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "П&еревизначити розміри сторінки, визначення профілем виведення" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "&Розмір паперу:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "&Нетиповий розмір:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "&Одиниця виміру:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "З&берігати співвідношення розмірів обкладинки" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "Додати &номери сторінок внизу кожної сторінки" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "Гар&нітура з засічками:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "&Гарнітура без засічок:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "&Моноширинна гарнітура:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "&Типовий шрифт:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "Типовий розм&ір символів:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -10006,14 +10185,34 @@ msgstr "Типовий розм&ір символів:" msgid " px" msgstr " пк" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "Розм&ір моноширинного шрифту:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" -msgstr "Додати &номери сторінок внизу кожної сторінки" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "Верхні і нижні колонтитули сторінки" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" +"Ви можете додати на кожну сторінку створеного файла PDF верхні і нижні " +"колонтитули відповідно до визначеного шаблона. Приклади таких шаблонів " +"наведено у документації." + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "Шаблон &верхніх колонтитулів:" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" +msgstr "Шаблон &нижніх колонтитулів:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 msgid "PMLZ Output" @@ -10274,6 +10473,10 @@ msgstr "" "документа з вхідними даними. Коли створення виразу буде завершено, просто " "натисніть кнопку «Додати», щоб додати його до списку виразів." +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "Відновити &типові" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "Перетворити" @@ -10868,7 +11071,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "Виявлено %s. Хочете, щоб calibre керувала цим пристроєм?" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "Немає відповідних форматів" @@ -10917,67 +11120,67 @@ msgstr "Пристрій: " msgid " detected." msgstr " виявлено." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "позначено для надсилання" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "Немає пристрою" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "Не з’єднано жодного пристрою" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "%(num)i з %(total)i книг" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "0 з %i книг" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "Вибрати формат для надсилання" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "Не вдається надіслати: пристрій не з'єднано" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "Немає картки" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "Не вдається надіслати: на пристрої не має картки пам'яті" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" "Автоматично перетворити дані вказаних нижче книг до вивантаження на пристрій?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "Надсилання каталогу на пристрій" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "Надсилання новин на пристрій" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "Надсилання книги на пристрій" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." @@ -10986,18 +11189,18 @@ msgstr "" "знайдено відповідних форматів. Спочатку вам слід перетворити книги у формат, " "підтримуваний вашим пристроєм." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "На пристрої не залишилося вільного місця" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" "

Неможливо вивантажити книжки на пристрій, оскільки там немає вільного " "місця " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "Некоректне призначення" @@ -11181,7 +11384,7 @@ msgstr "Показати дані щодо пристрою" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -11821,13 +12024,13 @@ msgid "Where do you want to delete from?" msgstr "Звідки слід виконати вилучення?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "Бібліотека" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "Пристрій" @@ -11863,8 +12066,8 @@ msgid "Location" msgstr "Розташування" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -11883,13 +12086,13 @@ msgstr "%(curr)s (було %(initial)s)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "Пункт є порожнім" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" "Пункт не можна встановити у порожнє значення. Вам слід вилучити його." @@ -12000,7 +12203,7 @@ msgstr "Посилання" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "Відповідників не знайдено" @@ -12048,12 +12251,12 @@ msgid "Copy to author" msgstr "Копіювати до поля автора" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "Некоректне ім’я автора" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "У іменах авторів не може бути символів «&»." @@ -12156,40 +12359,40 @@ msgstr "С&ховати всі завдання" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "&Копіювати до буфера" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "Показати по&дробиці" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "Схов&ати подробиці" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "Показати докладні дані щодо цієї помилки" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "Скопійована" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "Показати журнал" @@ -13166,6 +13369,7 @@ msgstr "Переривання…" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -13206,12 +13410,12 @@ msgstr "Об’єкти" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "Пошук" @@ -13869,12 +14073,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "Номер порту має бути число у діапазоні від 8000 до 32000." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "Проблеми з запуском бездротового пристрою" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -13934,6 +14138,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "&Автоматично дозволяти з’єднання під час запуску calibre" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "Видавці" @@ -13948,6 +14153,7 @@ msgstr "Назва фільтра категорій: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "Некоректна назва" @@ -14865,7 +15071,7 @@ msgid "&Shortcut:" msgstr "С&корочення:" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "Виконано" @@ -14911,7 +15117,7 @@ msgstr "Шукати клавіатурне скорочення за назво #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "Немає відповідників" @@ -14921,48 +15127,52 @@ msgstr "Немає відповідників" msgid "Could not find any shortcuts matching %s" msgstr "Не вдалося знайти жодного скорочення, відповідного до %s" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "Від’єднати цей пристрій" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "Налаштувати цей пристрій" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "Показати книги в бібліотеці Calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "Показати книги в основній пам'яті пристрою" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "Показати книги на картці пам'яті A" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "Показати книги на картці пам'яті B" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "Знищити бібліотеку" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "доступні" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "Віртуальна бібліотека" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "Складний пошук" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "Shift+Ctrl+F" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" @@ -14971,19 +15181,19 @@ msgstr "" "коментарями тощо.

Слова, відокремлені пробілами, буде поєднано під " "час пошуку логічним «І»" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "&Виконати!" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "Виконати швидкий пошук (ви також можете натиснути клавішу Enter)" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "Скинути швидкий пошук" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "Копіювати поточний текст пошуку (замість назви пошуку)" @@ -14996,32 +15206,32 @@ msgstr "зірок" msgid "Y" msgstr "Y" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "На пристрої" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "Розмір (МБ)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "Змінено" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "Назва пошуку — «{0}»" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "UUID цієї книги — «{0}»" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -15032,32 +15242,32 @@ msgstr "" "Не вдалося змінити розташування на диску для цієї книги. Можливо, книгу " "відкрито у іншій програмі?" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "Не вдалося записати дані" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" "Не вдалося записати дані. Натисніть кнопку «Показати подробиці», щоб " "дізнатися чому." -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "У бібліотеці" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "Розмір" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "Позначено для вилучення" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "Двічі клацніть, щоб редагувати мене

" @@ -15164,7 +15374,7 @@ msgid "Previous Page" msgstr "Попередня сторінка" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -15711,7 +15921,7 @@ msgid "Edit Metadata" msgstr "Редагувати метадані" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -15868,15 +16078,15 @@ msgstr "&Коментарі" msgid "Basic metadata" msgstr "Базові метадані" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "Має обкладинку" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "Має резюме" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -15888,29 +16098,29 @@ msgstr "" "обкладинок, мають зображення обкладинок у сховищі\n" "отриманих обкладинок, і навпаки." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "Див. у" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "calibre отримує метадані з: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "Будь ласка, зачекайте" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "Запит: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" "Не вдалося отримати метадані. Натисніть кнопку «Показати подробиці», щоб " "переглянути подробиці." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -15922,42 +16132,48 @@ msgstr "" "лише прізвище автора та одне слово з назви, яке пам’ятаєте напевно.

Щоб " "переглянути журнал пошуку, натисніть кнопку «Показати подробиці»." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "Поточна обкладинка" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "Триває пошук…" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "Переглянути повнорозмірне зображення обкладинки" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "Завантажуюся обкладинки для %s, будь ласка, зачекайте…" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" "Не вдалося отримати жодного зображення обкладинки. Натисніть кнопку " "«Показати подробиці», щоб переглянути подробиці." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "Не вдалося знайти жодної обкладинки для %s" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -"Знайдено %(num)d зображень обкладинки %(title)s. Виберіть серед них " -"відповідне." +"Виявлено %(num)d можливих зображень обкладинки для %(title)s. Коли " +"отримання даних буде завершено, зображення буде впорядковано за розміром." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "Отримання метаданих…" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "Завантаження обкладинки…" @@ -16144,10 +16360,11 @@ msgid "The Add &Process" msgstr "&Процедура додавання" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" -"Ігнорувати файли з вказаними нижче суфіксами назв під час автоматичного " -"додавання " +"Ігнорувати файли з вказаними нижче суфіксами назв під час " +"автоматичного додавання " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 msgid "" @@ -16198,34 +16415,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "&Автоматичне додавання" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "Високий" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "Низький" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "Дуже низький" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "Компактні метадані" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "Типовий" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "Все на 1 вкладці" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "Показ діалогових вікон підтвердження відновлено" @@ -16280,19 +16497,21 @@ msgid "Job &priority:" msgstr "&Пріоритет завдання:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" -"Обмеження, яке слід застосовувати під час відкриття поточної бібліотеки:" +"Віртуальна бібліотека, яку слід використати після відкриття поточної " +"бібліотеки:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" -"Застосувати це обмеження під час запуску calibre, якщо використовується " -"поточна бібліотека. Також застосовуватиметься під час перемикання на цю " -"бібліотеку. Зауважте, що обмеження стосуватиметься лише окремої бібліотеки. " +"Показати цю віртуальну бібліотеку після запуску calibre, якщо " +"використовується поточна бібліотека. Також застосовуватиметься під час " +"перемикання на цю бібліотеку. Зауважте, що обмеження стосуватиметься лише " +"окремої бібліотеки. " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170 msgid "Edit metadata (single) layout:" @@ -17337,10 +17556,6 @@ msgstr "Вимкнути" msgid "Small" msgstr "Малий" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "Великий" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "Середній" @@ -17358,7 +17573,7 @@ msgid "Never" msgstr "Ніколи" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "За першою літерою" @@ -18511,20 +18726,20 @@ msgstr "" "пристроїв налаштуванням додатків роботи з пристроями на сторінці " "«Налаштування -> Додатково -> Додатки»." -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "Не вдалося запустити сервер даних" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "Журнал помилок:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "Журнал звернень:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "Щоб зміни набули чинності, необхідно перезапустити сервер" @@ -18565,23 +18780,23 @@ msgid "Max. &OPDS items per query:" msgstr "&Макс. к-ть пунктів OPDS на запит:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" -msgstr "Макс. к-ть пунктів OPDS &без групи:" +msgid "Max. &ungrouped items:" +msgstr "Макс. к-ть &незгрупованих пунктів:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" -msgstr "Обмеження (збережений пошук), яке слід застосувати:" +msgid "Virtual library to apply:" +msgstr "Віртуальна бібліотека:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" -"Це обмеження (засноване на збереженому пошуку) скорочує список книг, доступ " -"до яких надає сервер даних, до книг, які відповідають критерію пошуку. " -"Значення цього параметра стосується окремої бібліотеки (тобто ви можете " -"визначати різні обмеження для різних бібліотек)." +"Визначення віртуальної бібліотеки скорочує список книг, доступ до яких надає " +"сервер даних, до книг, які відповідають критерію пошуку. Значення цього " +"параметра стосується окремої бібліотеки (тобто ви можете визначати різні " +"обмеження для різних бібліотек)." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 msgid "" @@ -19054,40 +19269,50 @@ msgstr "Ві&дновити типові" msgid "Apply any changes you made to this tweak" msgstr "Застосувати всі зміни, які було внесено до цього коригування" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" +msgstr "Створити збережений пошук" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" +msgstr "Немає текстових даних для збереження" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 msgid "Delete current search" msgstr "Вилучити поточний пошук" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 msgid "No search is selected" msgstr "Не позначено жодного пошуку" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "Позначений пошук буде остаточно вилучено. Ви впевнені?" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "Пошук (для розширеного пошуку натисніть кнопку ліворуч)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "Почати пошук" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "Увімкнути або вимкнути підсвічування пошуків." -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "Збережені пошуки" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" "Виберіть збережений пошук або вкажіть назву нового збереженого пошуку" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." @@ -19095,47 +19320,222 @@ msgstr "" "Зберегти поточний пошук з назвою, вказаною у полі назви. Натисніть і " "утримуйте, щоб відкрити контекстне меню варіантів обробки." -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "Створити збережений пошук" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "Вилучити збережений пошук" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "Керування збереженими пошуками" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" -msgstr "*Поточний пошук" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" +msgstr "Створити віртуальну бібліотеку на основі %s" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" -msgstr "Обмежити" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" +msgstr "Відповідність всім позначеним назвам %s" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "Змінити віртуальну бібліотеку" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "Створити віртуальну бібліотеку" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "&Назва віртуальної бібліотеки:" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "&Критерій пошуку:" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "Створити віртуальну бібліотеку на основі: " + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" +"\n" +"

Віртуальні бібліотеки

\n" +"\n" +"

За допомогою віртуальних бібліотек ви можете наказати " +"calibre показувати лише\n" +" книги, які відповідають визначеним вами критеріям. Якщо буде " +"визначено параметри\n" +" віртуальної бібліотеки, calibre поводитиметься так, наче у " +"бібліотеці існують\n" +" лише книги, що відповідають вказаним критеріям. На панелі " +"перегляду міток\n" +" буде показано лише ті книги, мітки, автори, серії тощо яких є у " +"віртуальній\n" +" бібліотеці. Будь-які результати пошуку стосуватимуться лише книг " +"з\n" +" віртуальної бібліотеки. Такі віртуальні бібліотеки надають " +"змогу\n" +" у простий спосіб розділити вашу велику бібліотеку на малі " +"частини для\n" +" спрощення керування нею.

\n" +"\n" +"

Наприклад, ви можете створити віртуальну бібліотеку, у якій " +"міститимуться лише\n" +" книги з міткою «Не прочитано», або лише книги вашого " +"улюбленого автора,\n" +" або лише книги з вашої улюбленої серії.

\n" +" " + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "У виразі виявлено критерії пошуку зі вже збереженими результатами:" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "Змінено текст критерію пошуку" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" +"Було внесено зміни до назви або критерію пошуку віртуальної бібліотеки. " +"Відкинути ці зміни?" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "Без назви" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "Вам слід вказати назву нової віртуальної бібліотеки" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "Назва віртуальної бібліотеки не може починатися з символу «*»" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "Назву вже використано" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" +"Цю назву вже використано. Бажаєте замінити старі дані на дані, отримані у " +"результаті нового пошуку?" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "Немає рядка критерію пошуку" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" +"Вам слід вказати критерій пошуку для визначення нової віртуальної бібліотеки" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "Некоректний критерій пошуку" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "Критерій пошуку у полі для пошуку є некоректним" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "Під час пошуку книг не виявлено" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" +"Під час спроби пошуку не було знайдено жодної книги, отже віртуальна " +"бібліотека залишиться порожньою. Ви справді хочете скористатися вказаними " +"критеріями пошуку?" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "<Немає>" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" +"Використати «віртуальну бібліотеку» для показу лише частини книг у цій " +"бібліотеці" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "(всі книги)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" -msgstr "" -"На панелі показу книг буде показано лише книги, що відповідають позначеному " -"збереженому пошуку" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" +msgstr "Додаткове обмеження" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " -msgstr " або пошук " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" +msgstr "Змінити віртуальну бібліотеку" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "Вилучити віртуальну бібліотеку" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "Створити віртуальну бібліотеку" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "*поточний пошук" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "Немає критеріїв пошуку" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "Немає поточних критерії пошуку" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "Ви справді хочете вилучити віртуальну бібліотеку {0}" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "({0} з {1})" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "({0} з усіх)" @@ -19440,33 +19840,33 @@ msgstr "Звантажити…" msgid "Goto in store..." msgstr "Перейти до крамниці…" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" "Придбання книг у цій крамниці фінансово допоможе розробникові calibre: %s

" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "Без запиту" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "Вам слід вказати назву, автора або ключове слово для пошуку." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "Налаштування пошуку для отримання книжок" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "Налаштувати пошук" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "Не вдалося знайти жодних книг, які відповідали б запиту." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "Виберіть формат для отримання до вашої бібліотеки." @@ -19591,52 +19991,52 @@ msgstr "Перезавантажити" msgid "%p%" msgstr "%p%" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "Назва згрупованого ключа пошуку — «{0}»" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" "Зміна записів авторів для для багатьох книг може бути тривалою. Ви впевнені, " "що хочете виконати цю дію?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" "Зміна метаданих для багатьох книг може бути тривалою. Ви впевнені, що хочете " "виконати цю дію?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "Пошуки" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "Перейменування категорії користувача" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" "Не можна використовувати крапки у назвах під час перейменування категорій " "користувача" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "Назву %s вже використано" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "Дублювати назву пошуку" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "Збережену назву пошуку %s вже використано." @@ -19658,13 +20058,13 @@ msgid "Manage Tags" msgstr "Керування мітками" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "Керування категоріями користувача" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "Керування збереженими пошуками" @@ -19766,7 +20166,7 @@ msgid "Alter Tag Browser" msgstr "Альтернативний перегляд міток" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "Сортувати за" @@ -19809,139 +20209,139 @@ msgstr "" "Доступ до всіх цих засобів керування категоріями можна отримати клацанням " "правою кнопкою миші на пунктах панелі перегляду міток, розташованої вище." -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "Змінити піктограму для: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "Перейменувати %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "Вилучити %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "Редагувати впорядкування для %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "Редагувати посилання для %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "Додати %s до категорії користувача" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "Дочірні об’єкти %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "Вилучити пошук «%s»" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "Вилучити %(item)s з категорії %(cat)s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "Шукати все, окрім %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "Додати підкатегорію до %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "Вилучити категорію користувача %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "Сховати категорію %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "Показати категорію" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "Шукати книги у категорії %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "Шукати книги поза категоріями %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "Керування %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "Змінити піктограму категорії" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "Відновити типову піктограму" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "Показати всі категорії" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "Змінити схему підкатегорій" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "Вимкнути" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "Поділ" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" "Першу літеру можна використовувати лише під час впорядкування за іменами" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "Вкажіть прив’язку пункту змісту" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "Шукати фрагмент тексту…" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "Знайти &далі" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "Знайти &позаду" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -19960,25 +20360,25 @@ msgstr "" "позначатиме точне місце прив’язки, яке буде зафіксовано, якщо ви клацнете " "лівою кнопкою миші." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "&Назва пункту змісту:" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "Поточна вибрана прив’язка:" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "Відповідників не знайдено" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "Не знайдено відповідників %s" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " @@ -19987,31 +20387,31 @@ msgstr "" "У тексті поточного файла [%(current)s] не виявлено відповідників %(text)s. " "Хочете пошукати у файлі %(which)s, [%(next)s]?" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "назад" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "далі" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "Файл:" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "Початок файла" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "Приблизно на %d%% від початку" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "Місце: теґ <%s> у файлі" @@ -20055,7 +20455,7 @@ msgstr "Не вказано XPath" msgid "The XPath expression %s is not valid." msgstr "Вираз XPath %s є некоректним." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." @@ -20063,7 +20463,7 @@ msgstr "" "Перейти до редагування наявних записів у змісті можна натисканням " "відповідних пунктів на панелі ліворуч." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " @@ -20073,15 +20473,15 @@ msgstr "" "прив’язку до тексту. Пункти з червоною крапкою не мають коректної прив’язки, " "їх слід виправити." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "С&творити пункт" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "Створити зміст за &основними заголовками" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " @@ -20091,11 +20491,11 @@ msgstr "" "спосіб можливе, якщо заголовки у книзі визначаються теґами заголовків HTML. " "Обробляються теґи

,

і

." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "Створити зміст за &всіма заголовками" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " @@ -20105,11 +20505,11 @@ msgstr "" "спосіб можливе, якщо заголовки у книзі визначаються теґами заголовків HTML. " "Обробляються теґи ." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "Створити зміст за &посиланнями" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " @@ -20119,23 +20519,37 @@ msgstr "" "дані поза самою книгою, буде проігноровано. Також буде проігноровано різні " "посилання на одні і ті самі ділянки даних." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" +msgstr "Створити змість на основі &файлів" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." +msgstr "" +"Створити зміст на основі окремих файлів у книзі. Кожен з записів у " +"створеному змісті вказуватиме на початок певного файла. Текстом запису буде " +"фрагмент тексту на основі першого рядка у файлі." + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 msgid "Generate ToC from &XPath" msgstr "Створити з&міст за XPath" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 msgid "Generate a Table of Contents from arbitrary XPath expressions." msgstr "Створити зміст на основі довільних виразів XPath." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" -msgstr "Спростити зміст" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "С&простити зміст" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "Спростити зміст, пересунувши всі записи на верхній рівень" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -20147,7 +20561,7 @@ msgstr "" "попереднього запису. Якщо вами буде створено нелінійний зміст, його буде " "автоматично перевпорядковано під час запису до файла AZW3." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" @@ -20155,82 +20569,122 @@ msgstr "" "Пересунути цей запис у змісті можна перетягуванням зі скиданням або за " "допомогою кнопок зі стрілками вгору і вниз ліворуч" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "Змінити &місце, на яке вказує цей запис" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "Ви&лучити цей запис" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "Новий запис &у цьому записі" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "Новий запис &над цим записом" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "Новий запис &під цим записом" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "Сп&ростити цей запис" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" "Пересунути всіх дочірні записи цього запису на той самий рівень, що і " "батьківський запис." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "&Повернутися до вікна вітання" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "Повернутися до панелі перегляду верхнього рівня" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "Цей запис вказує на місце, яке існує у документі" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "Цей запис вказує на місце, якаого не існує у документі" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" -msgstr "Пересунути поточний пункт вище" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" +msgstr "Пересунути «%s» вище" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "Пересунути «%s» нижче" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "Вилучити всі позначені пункти" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "Вилучити відступ «%s»" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "Додати відступ «%s»" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "Змінити місце, на яке вказує цей запис" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "Зробити літери всіх позначених пунктів великими" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "Пересунути поточний запис вище [Ctrl+↑]" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "Вилучити відступ у поточному записі [Ctrl+←]" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "Вилучити всі позначені пункти" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" -msgstr "Пересунути поточний пункт нижче" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" +msgstr "Додати відступ до поточного запису [Ctrl+→]" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "Пересунути поточний запис нижче [Ctrl+↓]" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "&Розгорнути все" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "&Згорнути все" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "Двічі клацніть на пункті запису, щоб змінити текст" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "Назва: {0} Призначення: {1}{2}" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" @@ -20239,50 +20693,55 @@ msgstr "" "Місця, що відповідає цьому пункту не існує:\n" "%s" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "Не знайдено жодного пункту" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "Не знайдено жодного пункту, який можна було б додати до змісту." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "Не знайдено жодного посилання, яке можна було б додати до змісту." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "Не знайдено жодних файлів, які можна було б додати до змісту." + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "Змінити зміст у %s" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "Завантажуємо %s, будь ласка, зачекайте…" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "Виконуємо запис до %s, зачекайте…" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "Не вдалося записати книгу" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" "Не вдалося записати %s. Натисніть кнопку «Показати подробиці», щоб дізнатися " "більше." -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "Не вдалося завантажити книгу" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -20374,31 +20833,31 @@ msgstr "" "Книги з наведеного нижче списку вже було перетворено у формат %s. Хочете " "виконати повторне перетворення?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "&Підтримайте Calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "&Відновити" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "Від’&єднати з’єднаний пристрій" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "Вийти з calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "Спорожнити поточний пошук" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "Діагностичний режим" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -20409,11 +20868,11 @@ msgstr "" "журналом діагностичних повідомлень можна буде ознайомитися тут: %s

Вміст " "файла журналу буде показано автоматично." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "Не вдалося запустити сервер даних" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -20435,16 +20894,16 @@ msgstr "" "спробувала автоматично повторно зібрати базу даних у автоматичному режимі? " "Повторне збирання може бути не повністю успішним." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "Помилка перетворення" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "

Не вдалося перетворити: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -20484,23 +20943,23 @@ msgstr "" " EPUB на вашому пристрої для читання електронних книг.\n" " " -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "Не вдалося виконати перетворення" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "Рецепт вимкнено" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "Помилка" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "Продовжується виконання завдань. Ви хочете вийти?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" @@ -20511,11 +20970,11 @@ msgstr "" "даних на пристрої.
\n" " Ви справді бажаєте завершити роботу програми?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "Активні завдання" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -21089,29 +21548,29 @@ msgstr "Типовий розмір символів" msgid "S&earch Google for '%s'" msgstr "Ш&укати «%s» за допомогою Google" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "З&більшити" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "З&меншити" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "З&берегти як" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "&Обернути" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "Виберіть файл, до якого слід зберегти" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "Переглянути зображення: %s" @@ -22613,8 +23072,8 @@ msgstr "" "запитів для пошуку наведено у підручнику користувача. Типово не виконується " "жодного фільтрування." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." @@ -22622,26 +23081,26 @@ msgstr "" "Максимальна ширина окремого рядка виведених даних. Типове значення " "визначається на основі розмірів екрана." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "Рядок, який відокремлюватиме поля. Типовим є пробіл." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" "Префікс всіх шляхів до файлів. Типовим є абсолютний шлях до теки бібліотеки." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "Некоректні поля. Можливі поля:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "Некоректне поле впорядковування. Можливі поля:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" @@ -22649,13 +23108,13 @@ msgstr "" "Вказані нижче книги не було додано, оскільки записи цих книг вже є у базі " "даних (див. параметр --duplicates):" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "Додані ідентифікатори книг: %s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -22669,7 +23128,7 @@ msgstr "" "каталоги.\n" "Докладніший опис параметрів, пов’язаних з каталогами, наведено нижче.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" @@ -22677,11 +23136,11 @@ msgstr "" "Припускати, що у кожному каталозі міститься лише одна книга, всі файли у " "цьому каталозі є цією книгою, записаною у різних форматах" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "Обробляти каталоги рекурсивно" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." @@ -22689,44 +23148,44 @@ msgstr "" "Додати записи книг до бази даних, навіть якщо такі записи у цій базі вже " "створено. Порівняння виконуватиметься за назвами книг." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "Додати порожню книгу (книгу без формату)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "Встановити заголовки для доданих книг" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "Встановити авторів для доданих книг" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "Встановити ISBN для доданих книг" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "Встановити мітки для доданих книг" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "Встановити серію для доданих книг" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "Встановити номер у серії для доданих книг" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" "Шлях до зображення обкладинки, яке слід використати для доданої книги" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "Вам слід вказати принаймні один файл для додавання" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -22743,33 +23202,44 @@ msgstr "" "допомогою команди list. Приклад: 23,34,57-85 (у діапазон ідентифікаторів не " "включатиметься запис діапазону, у нашому прикладі 85).\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "Вам слід вказати принаймні одну книгу для вилучення" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "Для книги вже існує файл %s: %d, заміна не виконуватиметься" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" "%prog add_format [параметри] ідентифікатор файл_книги\n" "\n" "Додати книгу з файла файл_книги до доступних форматів для логічної книги, " "визначеної ідентифікатором. Ідентифікатор може бути визначено за допомогою " -"команди list. Якщо запис формату вже існує, його буде замінено.\n" +"команди list. Якщо запис формату вже існує, його буде замінено, якщо не " +"вказано параметр вимикання такої заміни." #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "Не замінювати формат, якщо файл у цьому форматі вже існує" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "Вам слід вказати ідентифікатор і файл електронної книги" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "назва файла електронної книги повинна містити суфікс" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -22787,11 +23257,11 @@ msgstr "" "логічної книги не міститиметься запису формату, ніяких дій не буде " "виконано.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "Вам слід вказати ідентифікатор і формат" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -22807,15 +23277,15 @@ msgstr "" "ідентифікатором «ідентифікатор».\n" "«ідентифікатор» є ідентифікатором, який повертає команда list.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "Вивести метадані у форматі OPF (XML)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "Вам слід вказати ідентифікатор" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -22840,7 +23310,7 @@ msgstr "" "Крім того, можна встановлювати метадані для окремих полів за\n" "допомогою параметра --field.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -22858,42 +23328,42 @@ msgstr "" "Для булевих полів (полів «так/ ні») слід використовувати значення true та " "false або yes та no." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" "Показати список назв полів метаданих, які може бути використано з параметром " "--field" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "Назва поля" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "Першим аргументом слід вказати ідентифікатор запису" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "Слід вказати поле або файл opf" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "У базі даних немає книги з ідентифікатором %s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "Файла OPF %s не існує" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "%s немає у переліку відомих полів" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -22911,29 +23381,29 @@ msgstr "" "обкладинки книги і метадані (у форматі файла opf). Визначити номери\n" "ідентифікаторів можна за допомогою книги list.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" "Експортувати всі книги у бібліотеці з ігноруванням списку ідентифікаторів." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "Експортувати книги до вказаної категорії. Типовою категорією є" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "Експортувати всі книги до одного каталогу" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "Визначення цього перемикача вимкне вказану поведінку." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "Вам слід вказати якісь ідентифікатори або параметр %s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -22949,7 +23419,7 @@ msgstr "" "не повинна містити пробілів і двокрапок. «назва» — зручна для читання назва\n" "стовпчика. «тип_даних» має бути одним з таких значень: {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." @@ -22957,7 +23427,7 @@ msgstr "" "У цьому стовпчику зберігаються дані, подібні до міток (тобто значення, " "відокремлені комами). Застосовується, лише якщо типом даних є «text»." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -22994,11 +23464,11 @@ msgstr "" "створено після додавання стовпчика). У такому OPF можна знайти JSON для " "показу (\"display\") нового стовпчика." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "Вам слід вказати мітку, назву і тип даних" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -23016,7 +23486,7 @@ msgstr "" " Параметри керують способом показу у виведених даних каталогу.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" @@ -23027,7 +23497,7 @@ msgstr "" "Якщо визначено, --search буде проігноровано.\n" "Типове значення: всі значення (all)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" @@ -23037,16 +23507,16 @@ msgstr "" "запитів для пошуку наведено у підручнику користувача.\n" "Типово не виконується жодного фільтрування" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "Показувати докладні виведені дані. Корисно для діагностики." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "Помилка: вам слід вказати файли виведення каталогу" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -23067,7 +23537,7 @@ msgstr "" " команди custom_columns.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." @@ -23075,11 +23545,11 @@ msgstr "" "Якщо у стовпчику зберігається декілька значень, дописати вказані значення до " "вже записаних замість заміни цих значень." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "Помилка: вам слід вказати назву поля, ідентифікатор і значення" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -23094,21 +23564,21 @@ msgstr "" "стовпчиків.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "Показати параметри кожного стовпчика." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" "Дані у стовпчику %s буде втрачено. Ви справді цього хочете (y — так/n — ні)? " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "т" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " @@ -23118,7 +23588,7 @@ msgstr "" "їхні заголовки. Щоб ознайомитися зі списком міток, скористайтеся calibredb " "custom_columns." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -23134,15 +23604,15 @@ msgstr "" " доступних стовпчиків можна за допомогою команди custom_columns.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "Не питати про підтвердження" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "Помилка: вам слід вказати мітку стовпчика" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -23166,41 +23636,41 @@ msgstr "" " попередній запис буде замінено новим.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "Помилка: вам слід вказати дію (add|remove|list)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "Назва:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "Рядок пошуку:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "Помилка: вам слід вказати назву або рядок для пошуку" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "додано" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "Помилка: вам слід вказати назву" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "вилучено" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" "Помилка: невідома дія %s. Дією може бути одне зі значень: (add|remove|list)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -23225,7 +23695,7 @@ msgstr "" "резервні копії файлів OPF створюються автоматично у разі\n" "внесення змін до метаданих.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." @@ -23234,7 +23704,7 @@ msgstr "" "допомогою цього параметра ви можете наказати програмі обробляти всі файли " "книг." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -23245,12 +23715,12 @@ msgstr "" "\n" "Виконати деякі перевірки у файловій системі бібліотеки. Звіти буде {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "Виведення у форматі CSV" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" @@ -23258,7 +23728,7 @@ msgstr "" "Список звітів, відокремлених комами.\n" "Типове значення: всі (all)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" @@ -23266,7 +23736,7 @@ msgstr "" "Список суфіксів назв, які слід ігнорувати, відокремлений комами.\n" "Типове значення: всі (all)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" @@ -23274,11 +23744,11 @@ msgstr "" "Список назв, які слід ігнорувати, відокремлений комами.\n" "Типове значення: всі (all)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "Невідома перевірка звіту" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -23307,7 +23777,7 @@ msgstr "" "збережені у файлах OPF.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." @@ -23315,12 +23785,12 @@ msgstr "" "Виконати відновлення. Команду не буде виконано, якщо не буде вказано цього " "параметра." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "Для виконання відновлення вам слід вказати параметр %s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -23332,7 +23802,7 @@ msgstr "" "Створити звіт щодо даних категорій у базі даних. Отримані дані\n" "еквівалентні до даних, показаних на панелі міток.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" @@ -23340,7 +23810,7 @@ msgstr "" "Виводити лише кількість пунктів у категорії замість кількостей елементів у " "пункті категорії" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." @@ -23348,7 +23818,7 @@ msgstr "" "Символ, який слід використовувати для обмеження значення категорії у режимі " "CSV. Типовим символом є подвійні лапки (\")." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" @@ -23356,16 +23826,16 @@ msgstr "" "Список назв фільтрів категорій, відокремлених комами.\n" "Типове значення: всі (all)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" "Рядок, який відокремлюватиме поля у режимі CSV. Типовим роздільником є кома." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "ПУНКТИ КАТЕГОРІЙ" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -23399,33 +23869,24 @@ msgstr "" "Мітка має складатися лише з малих літер, цифр і символів підкреслювання і " "має починатися з літери" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "відновлене налаштування " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "створення нетипового стовпчика " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr " (%s книг)" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" "

Перенесення старої бази даних до бібліотеки електронних книжок у " "%s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "Копіювання %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "Ущільнення бази даних" @@ -23709,20 +24170,20 @@ msgstr "" "проксі-сервер на цей сервер з Apache/nginx тощо." #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "Всі книги" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "Найновіші" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "Завантажую… Будь ласка, зачекайте…" @@ -23745,7 +24206,7 @@ msgid "Browsing %d books" msgstr "Перегляд %d книг" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "Середня оцінка" @@ -23754,98 +24215,98 @@ msgstr "Середня оцінка" msgid "%(prefix)s: %(rating).1f stars" msgstr "%(prefix)s: %(rating).1f зірок" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "%d зірок" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "Популярність" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "бібліотека" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "домівка" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "Випадкова книга" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "Переглянути книги за" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "Виберіть категорію для перегляду:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "Перегляд за" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "Вгору" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "у" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "Книги у" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "Інші формати" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "Читати %(title)s у форматі %(fmt)s" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "Отримати" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "Подробиці" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "Стале посилання" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "Стале посилання на цю книгу" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "Цю книгу було вилучено" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "Вибрати іншу випадкову книгу" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "Інша випадкова книга" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "у пошуку" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "Встановлення відповідності книг" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -23870,24 +24331,29 @@ msgstr "" "Інтерфейс OPDS буде оголошено за допомогою протоколу BonJour у\n" "автоматичному режимі.\n" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "Шлях до теки бібліотеки, яку буде використано сервером даних" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "Записати ідентифікатор процесу до вказаного файла" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -"Визначає обмеження, яке буде використано для цього виклику. За допомогою " -"цього пункту можна перевизначити будь-які параметри окремих бібліотек, " -"визначених у графічному інтерфейсі." +"Визначає віртуальну бібліотеку, яку буде використано під час цього сеансу " +"роботи програми. Цей параметр має вищий пріоритет за будь-які параметри " +"окремих бібліотек, які було визначено за допомогою графічного інтерфейсу. " +"Для сумісності з попередніми версіями, якщо значенням є не назва віртуальної " +"бібліотеки, а збережені результати пошуку, буде використано ці результати " +"пошуку." -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -25203,10 +25669,6 @@ msgstr "ранку" msgid "pm" msgstr "вечора" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "&Копіювати" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "Позначити все" @@ -25308,6 +25770,33 @@ msgstr "Код виконується" msgid "Restart console" msgstr "Перезапустити консоль" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "Зайві символи наприкінці критерію пошуку" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "не вистачає «)»" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" +"Некоректна синтаксична конструкція. Мало бути вказано назву фільтра або " +"слово." + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "Не вдалося обробити запит. Перевищено обмеження щодо рекурсії: %s" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "Збережені результати рекурсивного пошуку: {0}" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "Невідома помилка у збережених результатах пошуку: {0}" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "Адресу слід вказувати у форматі sftp" @@ -25356,102 +25845,102 @@ msgstr "Не вдалося отримати %s" msgid "The \"%s\" recipe needs a username and password." msgstr "Для роботи з рецептом «%s» потрібне ім’я користувача і пароль." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "Завантаження завершено" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "Не вдалося отримати такі статті:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "Не вдалося отримати частини таких статей:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr " з " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "\tПомилкові посилання:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "Не вдалося отримати статтю." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" "Дані діагностичного зворотного трасування наведено у цьому журналі вище" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "Запустіть з -vv, щоб переглянути повідомлення щодо причини" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "Отримання подач…" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "Отримано подачі зі сторінки покажчика" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "Пробую завантажити обкладинку…" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "Створення титульної сторінки…" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "Розпочато звантаження [%d потоків]…" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "Дані подач збережено до %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "Не вдалось завантажити обкладинку: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "Отримання обкладинки з %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "Отримано зображення титульної сторінки" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "Статті у цьому випуску: " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "Стаття без назви" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "Стаття завантажена: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "Не вдалось завантажити статтю: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "Отримання подачі" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 msgid "" "Failed to log in, check your username and password for the calibre " "Periodicals service." @@ -25459,7 +25948,7 @@ msgstr "" "Не вдалося увійти. Переконайтеся, що ви правильно вказали ім’я користувача і " "пароль для доступу до служби періодичних видань calibre." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -25808,13 +26297,14 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" -"Типово, calibre розділяє рядок, що містить декілька імен авторів на\n" -"символах амперсандів і словах «and» та «with». Ви можете налаштувати\n" -"поділ зміною наведених нижче формальних виразів. Рядки буде розділено\n" -"на кожному з відповідників формального виразу.\n" +"Типово, calibre поділяє рядок запису імен декількох авторів за символами\n" +"«&» та словами «and» та «with». Налаштувати критерій поділу можна за\n" +"допомогою внесення змін до наведеного нижче формального виразу.\n" +"Поділ рядка відбуватиметься за відповідниками вказаного виразу, а\n" +"також символами «&».\n" "Типове значення: r'(?i),?\\s+(and|with)\\s+'" #: /home/kovid/work/calibre/resources/default_tweaks.py:85 diff --git a/src/calibre/translations/ur.po b/src/calibre/translations/ur.po index babc9635b9..0b320eb1c0 100644 --- a/src/calibre/translations/ur.po +++ b/src/calibre/translations/ur.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2011-04-02 21:19+0000\n" "Last-Translator: mahmood \n" "Language-Team: Urdu \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:24+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:40+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -325,345 +325,345 @@ msgstr "" msgid "Set metadata from %s files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -941,8 +941,8 @@ msgstr "" msgid "Disable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -952,11 +952,22 @@ msgstr "" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -968,26 +979,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1000,11 +1011,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" @@ -1012,14 +1023,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1027,7 +1038,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1035,45 +1046,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1101,23 +1137,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1240,8 +1276,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "" @@ -1289,10 +1325,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1333,6 +1369,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1651,17 +1688,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1669,12 +1706,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1682,7 +1719,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1694,7 +1731,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1707,10 +1744,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1767,66 +1806,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1834,7 +1873,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1843,11 +1882,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1867,55 +1906,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2040,7 +2079,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2521,7 +2560,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2830,23 +2869,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3134,15 +3173,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4093,7 +4136,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4117,27 +4160,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4173,13 +4216,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4188,9 +4232,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4200,7 +4245,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4212,8 +4257,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4325,60 +4370,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4386,13 +4431,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4402,6 +4465,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4461,12 +4565,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4493,72 +4597,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4567,14 +4671,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4599,12 +4703,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4637,7 +4741,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4762,9 +4866,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4780,11 +4884,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4827,6 +4931,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4981,7 +5089,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5103,12 +5211,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5185,8 +5293,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5307,7 +5415,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5355,7 +5463,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5369,7 +5477,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5381,12 +5489,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5526,7 +5634,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5554,7 +5662,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5595,7 +5703,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5608,96 +5716,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5716,6 +5837,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5788,75 +5910,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5932,12 +6056,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6021,8 +6145,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6058,7 +6182,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6128,15 +6252,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6241,17 +6365,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6260,185 +6395,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6555,7 +6701,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6660,7 +6806,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6672,30 +6818,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6705,11 +6851,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -6973,7 +7119,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7183,7 +7329,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7193,7 +7339,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7227,16 +7373,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7304,7 +7459,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7490,7 +7645,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7830,8 +7985,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8747,59 +8902,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8811,13 +8970,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9055,6 +9230,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9621,7 +9800,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9667,81 +9846,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9903,7 +10082,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10414,13 +10593,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10454,8 +10633,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10474,13 +10653,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10579,7 +10758,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10627,12 +10806,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10727,40 +10906,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11628,6 +11807,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11663,12 +11843,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12242,12 +12422,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12299,6 +12479,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12313,6 +12494,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13189,7 +13371,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13233,7 +13415,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13243,66 +13425,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13315,32 +13501,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13349,30 +13535,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13477,7 +13663,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13975,7 +14161,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14120,15 +14306,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14136,27 +14322,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14164,38 +14350,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14336,7 +14528,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14379,34 +14572,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14455,12 +14648,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15373,10 +15566,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15394,7 +15583,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16362,20 +16551,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16408,18 +16597,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16794,83 +16983,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17146,32 +17485,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17285,46 +17624,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17346,13 +17685,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17445,7 +17784,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17484,138 +17823,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17626,56 +17965,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17717,73 +18056,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17791,134 +18141,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -17997,31 +18392,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18029,11 +18424,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18049,16 +18444,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18081,34 +18476,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18649,29 +19044,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19919,44 +20314,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19965,59 +20360,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20028,28 +20423,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20059,11 +20464,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20073,15 +20478,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20096,7 +20501,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20106,40 +20511,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20150,28 +20555,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20182,13 +20587,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20208,11 +20613,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20223,30 +20628,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20258,17 +20663,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20277,27 +20682,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20307,15 +20712,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20328,40 +20733,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20375,13 +20780,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20389,34 +20794,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20431,18 +20836,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20450,33 +20855,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20499,31 +20904,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20765,20 +21161,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20801,7 +21197,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20810,98 +21206,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20914,21 +21310,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21931,10 +22329,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22033,6 +22427,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22081,107 +22500,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22444,7 +22863,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/vi.po b/src/calibre/translations/vi.po index 5954c46d6d..40a30abe6c 100644 --- a/src/calibre/translations/vi.po +++ b/src/calibre/translations/vi.po @@ -7,32 +7,32 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" -"PO-Revision-Date: 2013-02-15 06:31+0000\n" -"Last-Translator: baduong \n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" +"PO-Revision-Date: 2013-04-11 12:19+0000\n" +"Last-Translator: Kovid Goyal \n" "Language-Team: Vietnamese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:24+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:40+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "Không làm gì cả" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "Không làm gì cả" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "Không làm gì cả" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "Không làm gì cả" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "Không làm gì cả" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "Không làm gì cả" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "Không làm gì cả" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -330,74 +330,74 @@ msgstr "Thiết lập thông tin mô tả trong %s tập tin" msgid "Set metadata from %s files" msgstr "Thiết lập thông tin mô tả từ %s tập tin" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "Thêm sách vào chương trình chính hoặc thiết bị đang kết nối" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "Nạp chú giải từ một Kindle đang kết nối" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "Tạo danh mục tất cả các sách trong thư viện" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "Chuyển đổi sách sang các định dạng ebook khác nhau" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "Tinh chỉnh sách điện tử" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "Xóa sách từ thư viện của bạn hoặc các thiết bị kết nối" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "" "Biên tập dữ liệu meta của các cuốn sách trong thư viện calibre của bạn" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "Đọc sách trong thư viện calibre của bạn" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "Tải tin tức từ Internet dưới dạng sách điện tử" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "Hiển thị nhanh danh sách các sách liên quan" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "Xuất sách từ thư viện Calibre qua ổ cứng" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "Hiển thị chi tiết sách trong một cửa sổ pop-up mới" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "Khởi động lại calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "Mở thư mục chứa các tệp tin tạo sách trong thư viện calibre." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "Gửi sách đến thiết bị đang kết nối" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" @@ -405,44 +405,44 @@ msgstr "" "Gửi sách qua mail hoặc qua trang web kết nối tới iTunes hoặc thư mục trên " "máy tính của bạn, coi như đang gửi qua thiết bị khác." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "Xem Hướng Dẫn Sử Dụng calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "Tuỳ chỉnh calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "Tìm sách tương tự với sách đang được chọn dễ hơn" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" "Chuyển đổi giữa các thư viện calibre khác nhau và thực hiện công tác bảo trì." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "Chép sách từ thiết bị sang thư viện calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "Chỉnh sửa các sách đã được sưu tập trong thiết bị của bạn" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "Chép sách từ thư viện calibre này sang thư viện khác" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" "Thực hiện vài cải tiến nhỏ với các tập tin epub hoặc htmlz trong thư viện " "calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" @@ -450,119 +450,119 @@ msgstr "" "Tìm và đánh dấu màu các kết quả trùng tiếp theo hoặc trước đó khi tìm kiếm " "trong thư viện calibre." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "Chọn sách bất kỳ trong thư viện calibre của bạn" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "Tìm sách từ các nhà bán sách khác nhau" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "Lấy plugin mới cho calibre hoặc cập nhật plugin đã có" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "Giao diện tương tác" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "Giao diện" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "Tùy chỉnh giao diện calibre theo ý thích của bạn" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "Hành động" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "Thay đổi cách calibre hành động" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "Thêm cột" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "Thêm/bớt cột cho danh mục sách trong calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "Thanh công cụ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "Tùy chỉnh thanh công cụ và menu ngữ cảnh" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "Tìm kiếm" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "Tùy chỉnh cách tìm sách trong calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "Tùy chọn đầu vào" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "Chuyển đổi" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "Thiết lập các tùy chọn về chuyển đổi cho từng định dạng đầu vào" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "Tùy chọn thường gặp" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "Thiết lập các tùy chọn chung về chuyển đổi cho tất cả các định dạng" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "Tùy chọn đầu ra" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "Thiết lập các tùy chọn về chuyển đổi cho từng định dạng đầu ra" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "Thêm sách" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "Nhập/Xuất" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "Thiết lập cách calibre đọc thông tin mô tả khi thêm sách" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "Lưu sách vào đĩa" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -570,50 +570,50 @@ msgstr "" "Thiết lập cách calibre xuất tập tin từ cơ sở dữ liệu của nó vào đĩa khi sử " "dụng Lưu vào đĩa" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "Gửi sách đến thiết bị" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "Thiết lập cách calibre chuyển các tập tin đến thiết bị đọc sách" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "Quy tắc sửa thông tin miêu tả" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "Thay đổi thông tin mô tả trước khi lưu/gửi" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "Các chức năng về biểu mẫu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "Nâng cao" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "Tạo chức năng biểu mẫu riêng của bạn" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "Chia sẻ sách qua email" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "Chia sẻ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -621,11 +621,11 @@ msgstr "" "Thiết lập chia sẻ sách qua email. Có thể được sử dụng để tự động gửi tin " "được tải đến thiết bị của bạn" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "Chia sẻ qua mạng" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -633,57 +633,57 @@ msgstr "" "Thiết lập calibre Content Server để truy cập vào thư viện calibre của bạn ở " "mọi nơi, từ bất kỳ thiết bị, qua internet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "Tải thông tin mô tả" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "Kiểm soát cách calibre tải thông tin về sách từ Internet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "Thiết bị bị lượt bỏ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" "Quản lý những thiết bị mà Calibre sẽ bỏ qua khi chúng kết nối với máy tính." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "Trình cắm" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Thêm/bớt/tùy chỉnh các chức năng nâng cao trong calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "Tinh chỉnh" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "Điều chỉnh cách calibre ứng xử trong những trường hợp khác nhau" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "Bàn phím" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "Tuỳ biến phím tắt bàn phím được calibre sử dụng" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "Khác" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "Thiết lập nâng cao khác" @@ -990,8 +990,8 @@ msgstr "Cho phép khởi chạy plugin có tên sau" msgid "Disable the named plugin" msgstr "Vô hiệu hóa plugin có tên sau" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -1001,11 +1001,22 @@ msgstr "Vô hiệu hóa plugin có tên sau" msgid "Path to library too long. Must be less than %d characters." msgstr "Đường dẫn tới thư viện quá dài. Cần ít hơn %d ký tự" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -1017,26 +1028,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "%(tt)sĐiểm trung bình%(rating)3.1f" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "Chính" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "Thẻ A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "Thẻ B" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1049,11 +1060,11 @@ msgstr "Thẻ B" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Tin tức" @@ -1061,14 +1072,14 @@ msgstr "Tin tức" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "đã chọn" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "đồng ý" @@ -1076,7 +1087,7 @@ msgstr "đồng ý" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "không" @@ -1084,45 +1095,70 @@ msgstr "không" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "chưa đánh dấu" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "hôm nay" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "hôm qua" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "tháng này" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "ngày trước đây" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "rỗng" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "khoảng trắng" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "Truy vấn lôgic không hợp lệ" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1152,7 +1188,7 @@ msgstr "" msgid "Communicate with Android phones." msgstr "Giao tiếp với điện thoại Android." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" @@ -1160,7 +1196,7 @@ msgstr "" "Chia danh mục bằng dấu phẩy rồi gửi sách tới bộ nhớ chính của thiết " "bị. Thiết bị đầu tiên sẽ được dùng." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" @@ -1168,11 +1204,11 @@ msgstr "" "Chia danh mục bằng dấu phẩy rồi gửi sách tới thẻ nhớ của thiết bị. " "Thiết bị đầu tiên sẽ được dùng." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "Giao tiếp với điện thoại S60." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "Tương tác với máy tính bảng WebOS" @@ -1325,8 +1361,8 @@ msgstr "" "Nhấn vào \"Xem chi tiết\" để xem danh sách." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "Danh mục" @@ -1380,10 +1416,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1424,6 +1460,7 @@ msgstr "Đang thêm sách vào danh mục thông tin mô tả trên thiết bị #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1757,17 +1794,17 @@ msgstr "" "hợp bạn đã sửa đổi bìa sách." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "Tải lên bìa sách đen trắng" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "Hiển thị các sách đã quá hạn" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1778,12 +1815,12 @@ msgstr "" "xóa chúng với cách xóa mới ." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "Xem trước" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1794,7 +1831,7 @@ msgstr "" "muốn xem/xóa thì kích hoạt lựa chọn này." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "Gợi ý" @@ -1809,7 +1846,7 @@ msgstr "" "thì kích hoạt lựa chọn này." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "Thử hỗ trợ vi chương trình mới hơn." @@ -1822,10 +1859,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1896,66 +1935,66 @@ msgstr "" "/>Tiến độ chương: %(chapter_progress)s%%
Đánh dấu màu: " "%(text)s
Ghi chú: %(annotation)s

" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1963,7 +2002,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1972,11 +2011,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1996,55 +2035,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "Giao tiếp với Sweex/Kogan/Q600/Wink" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "Giao tiếp với Pandigital Novel" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "Giao tiếp với VelocityMicro" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "Giao tiếp với GM2000" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "Giao tiếp với Acer Lumiread" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "Giao tiếp với Aluratek Color" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "Giao tiếp với Trekstor" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "Giao tiếp với thiết bị đọc sách EEE" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "Tương tác với máy tính bảng Adam" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "Giao tiếp với thiết bị đọc sách Nextbook" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "Tương tác với Moovybook" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "Giao tiếp với COBY" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "Giao tiếp với Ex142G" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2169,7 +2208,7 @@ msgstr "Nook" msgid "Communicate with the Nook eBook reader." msgstr "Giao tiếp với thiết bị đọc sách Nook." -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "Giao tiếp với các thiết bị đọc sách Nook: Color, TSR, bảng." @@ -2686,7 +2725,7 @@ msgid "There is insufficient free space on the storage card" msgstr "Không đủ không gian trống trong thẻ lưu trữ." #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -3036,23 +3075,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3347,15 +3386,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4360,7 +4403,7 @@ msgstr "" msgid "Set book ID" msgstr "Gán Mã sách" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4386,27 +4429,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "Tựa đề" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "Tác giả" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "Nhà xuất bản" @@ -4442,13 +4485,14 @@ msgstr "Lời bình" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "Thẻ" @@ -4457,9 +4501,10 @@ msgstr "Thẻ" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4469,7 +4514,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4481,8 +4526,8 @@ msgstr "Mốc thời gian" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "Đã xuất bản" @@ -4601,60 +4646,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "Bìa sách" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "US" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "France" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "Germany" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "UK" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "Italy" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4662,13 +4707,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4678,6 +4741,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "Tải thông tin mô tả từ isbndb.com" @@ -4737,12 +4841,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "Đây là sách loại Amazon Topaz. Phần mềm không thể xử lý." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4769,72 +4873,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "Mục lục" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "Trang bìa" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "Chỉ mục" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "Từ điển thuật ngữ" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "Lời cảm ơn" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "Mục lục thư tịch" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "Lời ghi cuối sách" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "Tác quyền" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "Lời đề tặng" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "Lời đề từ" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "Lời nói đầu" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "Danh sách hình minh họa" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "Danh sách Bảng biểu" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "Chú thích" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "Lời nói đầu" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4843,14 +4947,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4875,12 +4979,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4913,7 +5017,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -5038,9 +5142,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -5056,11 +5160,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "Điểm số" @@ -5103,6 +5207,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "Không tìm thấy pdftohtml, xin kiểm tra ĐƯỜNG DẪN" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5257,7 +5365,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5385,12 +5493,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5467,8 +5575,8 @@ msgstr "Thêm vào thư viện" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5589,7 +5697,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5637,7 +5745,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5651,7 +5759,7 @@ msgstr "Chuyển/tạo thư viện..." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5663,12 +5771,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "Chuyển nhanh" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "Đổi tên thư viện" @@ -5810,7 +5918,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5838,7 +5946,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5879,7 +5987,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "Không thề chuyển đổi" @@ -5892,96 +6000,109 @@ msgstr "Bắt đầu chuyển đổi %d cuốn sách" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "Sao chép đến thư viện" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "Sao chép những sách được chọn đến thư viện chỉ định" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "Không thể sao chép" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "Không có thư viện" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "Không tìm thấy thư viện ở %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -6000,6 +6121,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "Bạn có chắc không ?" @@ -6072,78 +6194,78 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "Chọn định dạng muốn xóa" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "Không thể xóa sách" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "Chưa có thiết bị nào được kết nối" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "Đang xóa sách khỏi thiết bị." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" -"Những sách được chọn sẽ bị xóa vĩnh viễn khỏi thiết bị của bạn. Bạn " -"có chắc không?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 msgid "Start wireless device connection" @@ -6218,12 +6340,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6307,8 +6429,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6344,7 +6466,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6414,15 +6536,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6527,17 +6649,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6546,185 +6679,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6844,7 +6988,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6949,7 +7093,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6961,17 +7105,17 @@ msgstr "Cửa hàng" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "Chọn cửa hàng" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "Không tìm được" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." @@ -6979,7 +7123,7 @@ msgstr "" "Calibre giúp bạn tìm sách mình muốn bằng cách tìm qua nhiều nguồn sách cả " "thương mại lẫn công cộng." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " @@ -6989,7 +7133,7 @@ msgstr "" "nhất. Đồng thời bạn còn được biết thêm nhiều thông tin hữu ích khác (như " "tình trạng Bản quyền số -DRM- của sách)." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -7004,11 +7148,11 @@ msgstr "" "bảo sách bạn mua dùng với máy đọc sách của bạn, đặc biệt nếu sách đó có kèm " "công cụ kiểm soát bản quyền số DRM)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "Hiển thị thông điệp này một lần nữa" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -7277,7 +7421,7 @@ msgid "The specified directory could not be processed." msgstr "Thư mục chỉ định không thể thực thi" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "Không có sách" @@ -7506,7 +7650,7 @@ msgid "Click to open" msgstr "Nhấn để mở" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "lds" @@ -7516,7 +7660,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "Bộ sưu tầm" @@ -7550,16 +7694,25 @@ msgstr "Đường dẫn" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "Tùy chọn cho BibTeX" @@ -7627,7 +7780,7 @@ msgstr "tập tin xuất" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7813,7 +7966,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "Tên" @@ -8153,8 +8306,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "Bình thường" @@ -9077,59 +9230,63 @@ msgstr "Không có hình" msgid "PDF Output" msgstr "Xuất PDF" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "Khổ &giấy:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -9141,13 +9298,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9385,6 +9558,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "Chuyển đổi" @@ -9956,7 +10133,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "Không có định dạng phù hợp" @@ -10002,66 +10179,66 @@ msgstr "Thiết bị " msgid " detected." msgstr " đã phát hiện." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "được chọn để gửi" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "Không có thiết bị" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "Chọn định dạng để gửi đến thiết bị" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "Không thể gửi: Chưa có thiết bị được kết nối" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "Không có thẻ nhớ" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "Không thể gửi: Thiết bị không có thẻ lưu trữ/thẻ nhớ" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "Tự động chuyển đổi những cuốn sách sau trước khi tải lên thiết bị?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "Đang gửi tin đến thiết bị." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "Đang gửi sách đến thiết bị." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." @@ -10069,16 +10246,16 @@ msgstr "" "Không thể tải những cuốn sách sau lên thiết bị vì chúng không có định dạng " "phù hợp. Chuyển đổi chúng sang định dạng mà thiết bị của bạn hỗ trợ." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "Không còn chỗ trống trên thiết bị" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "

Không thể tải sách lên thiết bị vì không còn chỗ trống " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -10241,7 +10418,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10753,13 +10930,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "Thư viện" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "Thiết bị" @@ -10795,8 +10972,8 @@ msgid "Location" msgstr "Đường dẫn" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10815,13 +10992,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10920,7 +11097,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10968,12 +11145,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "Tên tác giả không hợp lệ" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "Tên tác giả không được chứa kí tự &." @@ -11068,40 +11245,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "Đã sao chép" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11969,6 +12146,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -12004,12 +12182,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12583,12 +12761,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12640,6 +12818,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "Nhà xuất bản" @@ -12654,6 +12833,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13532,7 +13712,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13576,7 +13756,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13586,66 +13766,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "Xóa thư viện" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "Shift+Ctrl+F" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13658,32 +13842,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "Dung lượng (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13692,30 +13876,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "Trong thư viện" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13820,7 +14004,7 @@ msgid "Previous Page" msgstr "Trang trước" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -14318,7 +14502,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14463,15 +14647,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14479,27 +14663,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "Vui lòng chờ" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14507,38 +14691,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14679,7 +14869,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14722,34 +14913,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "Cao" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "Thấp" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "Rất thấp" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "Mặc định" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14798,12 +14989,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15716,10 +15907,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15737,7 +15924,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16718,20 +16905,20 @@ msgstr "" "lập này có thể được chỉnh riêng cho từng thiết bị bằng cách tùy chọn trình " "cắm giao diện thiết bị trong Tùy chỉnh-> Nâng cao-> Trình cắm" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16764,18 +16951,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -17150,83 +17337,233 @@ msgstr "Trở về mặc định" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17504,32 +17841,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17643,46 +17980,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17704,13 +18041,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17803,7 +18140,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17842,138 +18179,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17984,56 +18321,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -18075,73 +18412,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -18149,134 +18497,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18355,31 +18748,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "&Khôi phục" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18387,11 +18780,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18407,16 +18800,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18439,34 +18832,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -19007,29 +19400,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -20280,44 +20673,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -20326,59 +20719,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20389,28 +20782,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20420,11 +20823,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20434,15 +20837,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20457,7 +20860,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20467,40 +20870,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20511,28 +20914,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20543,13 +20946,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20569,11 +20972,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20584,30 +20987,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "Hiện thông tin chi tiết về tập tin xuất. Hữu ích cho việc gỡ lỗi" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20619,17 +21022,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20638,27 +21041,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20668,15 +21071,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20689,40 +21092,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20736,13 +21139,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20750,34 +21153,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20792,18 +21195,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20811,33 +21214,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20860,31 +21263,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -21126,20 +21520,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -21162,7 +21556,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -21171,98 +21565,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -21275,21 +21669,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -22292,10 +22688,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22394,6 +22786,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22442,107 +22859,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22807,7 +23224,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/wa.po b/src/calibre/translations/wa.po index 6e242caf3e..4ce36e5c44 100644 --- a/src/calibre/translations/wa.po +++ b/src/calibre/translations/wa.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2011-07-05 23:12+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Walloon \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n!=1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:24+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:41+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -325,345 +325,345 @@ msgstr "" msgid "Set metadata from %s files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -941,8 +941,8 @@ msgstr "" msgid "Disable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -952,11 +952,22 @@ msgstr "" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -968,26 +979,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1000,11 +1011,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" @@ -1012,14 +1023,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1027,7 +1038,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1035,45 +1046,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1101,23 +1137,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1240,8 +1276,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "" @@ -1289,10 +1325,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1333,6 +1369,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1651,17 +1688,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1669,12 +1706,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1682,7 +1719,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1694,7 +1731,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1707,10 +1744,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1767,66 +1806,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1834,7 +1873,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1843,11 +1882,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1867,55 +1906,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2040,7 +2079,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2521,7 +2560,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2830,23 +2869,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3134,15 +3173,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4093,7 +4136,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4117,27 +4160,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4173,13 +4216,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4188,9 +4232,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4200,7 +4245,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4212,8 +4257,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4325,60 +4370,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4386,13 +4431,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4402,6 +4465,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4461,12 +4565,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4493,72 +4597,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4567,14 +4671,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4599,12 +4703,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4637,7 +4741,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4762,9 +4866,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4780,11 +4884,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4827,6 +4931,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4981,7 +5089,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5103,12 +5211,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5185,8 +5293,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5307,7 +5415,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5355,7 +5463,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5369,7 +5477,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5381,12 +5489,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5526,7 +5634,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5554,7 +5662,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5595,7 +5703,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5608,96 +5716,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5716,6 +5837,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5788,75 +5910,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5932,12 +6056,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6021,8 +6145,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6058,7 +6182,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6128,15 +6252,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6241,17 +6365,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6260,185 +6395,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6555,7 +6701,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6660,7 +6806,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6672,30 +6818,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6705,11 +6851,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -6973,7 +7119,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7183,7 +7329,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7193,7 +7339,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7227,16 +7373,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7304,7 +7459,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7490,7 +7645,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7830,8 +7985,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8747,59 +8902,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8811,13 +8970,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9055,6 +9230,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9621,7 +9800,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9667,81 +9846,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9903,7 +10082,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10414,13 +10593,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10454,8 +10633,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10474,13 +10653,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10579,7 +10758,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10627,12 +10806,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10727,40 +10906,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11628,6 +11807,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11663,12 +11843,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12242,12 +12422,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12299,6 +12479,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12313,6 +12494,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13189,7 +13371,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13233,7 +13415,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13243,66 +13425,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13315,32 +13501,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13349,30 +13535,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13477,7 +13663,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13975,7 +14161,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14120,15 +14306,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14136,27 +14322,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14164,38 +14350,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14336,7 +14528,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14379,34 +14572,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14455,12 +14648,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15373,10 +15566,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15394,7 +15583,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16362,20 +16551,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16408,18 +16597,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16794,83 +16983,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17146,32 +17485,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17285,46 +17624,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17346,13 +17685,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17445,7 +17784,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17484,138 +17823,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17626,56 +17965,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17717,73 +18056,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17791,134 +18141,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -17997,31 +18392,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18029,11 +18424,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18049,16 +18444,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18081,34 +18476,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18649,29 +19044,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19919,44 +20314,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19965,59 +20360,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20028,28 +20423,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20059,11 +20464,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20073,15 +20478,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20096,7 +20501,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20106,40 +20511,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20150,28 +20555,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20182,13 +20587,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20208,11 +20613,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20223,30 +20628,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20258,17 +20663,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20277,27 +20682,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20307,15 +20712,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20328,40 +20733,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20375,13 +20780,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20389,34 +20794,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20431,18 +20836,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20450,33 +20855,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20499,31 +20904,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20765,20 +21161,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20801,7 +21197,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20810,98 +21206,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20914,21 +21310,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21931,10 +22329,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22033,6 +22427,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22081,107 +22500,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22444,7 +22863,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/yi.po b/src/calibre/translations/yi.po index 0a4e45accb..825caed714 100644 --- a/src/calibre/translations/yi.po +++ b/src/calibre/translations/yi.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2009-09-04 22:02+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: Yiddish \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:24+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:41+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -325,345 +325,345 @@ msgstr "" msgid "Set metadata from %s files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -941,8 +941,8 @@ msgstr "" msgid "Disable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -952,11 +952,22 @@ msgstr "" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -968,26 +979,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1000,11 +1011,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" @@ -1012,14 +1023,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1027,7 +1038,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1035,45 +1046,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1101,23 +1137,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1240,8 +1276,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "" @@ -1289,10 +1325,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1333,6 +1369,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1651,17 +1688,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1669,12 +1706,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1682,7 +1719,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1694,7 +1731,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1707,10 +1744,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1767,66 +1806,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1834,7 +1873,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1843,11 +1882,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1867,55 +1906,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2040,7 +2079,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2521,7 +2560,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2830,23 +2869,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3134,15 +3173,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4093,7 +4136,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4117,27 +4160,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4173,13 +4216,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4188,9 +4232,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4200,7 +4245,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4212,8 +4257,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4325,60 +4370,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4386,13 +4431,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4402,6 +4465,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4461,12 +4565,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4493,72 +4597,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4567,14 +4671,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4599,12 +4703,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4637,7 +4741,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4762,9 +4866,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4780,11 +4884,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4827,6 +4931,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4981,7 +5089,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5103,12 +5211,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5185,8 +5293,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5307,7 +5415,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5355,7 +5463,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5369,7 +5477,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5381,12 +5489,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5526,7 +5634,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5554,7 +5662,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5595,7 +5703,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5608,96 +5716,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5716,6 +5837,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5788,75 +5910,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5932,12 +6056,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6021,8 +6145,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6058,7 +6182,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6128,15 +6252,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6241,17 +6365,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6260,185 +6395,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6555,7 +6701,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6660,7 +6806,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6672,30 +6818,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6705,11 +6851,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -6973,7 +7119,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7183,7 +7329,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7193,7 +7339,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7227,16 +7373,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7304,7 +7459,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7490,7 +7645,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7830,8 +7985,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8747,59 +8902,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8811,13 +8970,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9055,6 +9230,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9621,7 +9800,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9667,81 +9846,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9903,7 +10082,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10414,13 +10593,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10454,8 +10633,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10474,13 +10653,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10579,7 +10758,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10627,12 +10806,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10727,40 +10906,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11628,6 +11807,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11663,12 +11843,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12242,12 +12422,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12299,6 +12479,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12313,6 +12494,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13189,7 +13371,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13233,7 +13415,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13243,66 +13425,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13315,32 +13501,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13349,30 +13535,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13477,7 +13663,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13975,7 +14161,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14120,15 +14306,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14136,27 +14322,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14164,38 +14350,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14336,7 +14528,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14379,34 +14572,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14455,12 +14648,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15373,10 +15566,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15394,7 +15583,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16362,20 +16551,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16408,18 +16597,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16794,83 +16983,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17146,32 +17485,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17285,46 +17624,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17346,13 +17685,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17445,7 +17784,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17484,138 +17823,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17626,56 +17965,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17717,73 +18056,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17791,134 +18141,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -17997,31 +18392,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18029,11 +18424,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18049,16 +18444,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18081,34 +18476,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18649,29 +19044,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19919,44 +20314,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19965,59 +20360,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20028,28 +20423,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20059,11 +20464,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20073,15 +20478,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20096,7 +20501,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20106,40 +20511,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20150,28 +20555,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20182,13 +20587,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20208,11 +20613,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20223,30 +20628,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20258,17 +20663,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20277,27 +20682,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20307,15 +20712,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20328,40 +20733,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20375,13 +20780,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20389,34 +20794,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20431,18 +20836,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20450,33 +20855,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20499,31 +20904,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20765,20 +21161,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20801,7 +21197,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20810,98 +21206,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20914,21 +21310,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21931,10 +22329,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22033,6 +22427,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22081,107 +22500,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22444,7 +22863,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/zh_CN.po b/src/calibre/translations/zh_CN.po index 49790620db..9904edbc16 100644 --- a/src/calibre/translations/zh_CN.po +++ b/src/calibre/translations/zh_CN.po @@ -9,16 +9,16 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" -"PO-Revision-Date: 2013-03-22 14:45+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" +"PO-Revision-Date: 2013-04-11 12:42+0000\n" "Last-Translator: wwj402 \n" "Language-Team: Chinese (simplified) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:26+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:43+0000\n" +"X-Generator: Launchpad (build 16580)\n" "X-Poedit-Country: CHINA\n" "X-Poedit-Language: Chinese\n" @@ -27,16 +27,16 @@ msgid "Does absolutely nothing" msgstr "不做任何处理" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -91,8 +91,8 @@ msgstr "不做任何处理" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -103,9 +103,9 @@ msgstr "不做任何处理" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -114,7 +114,7 @@ msgstr "不做任何处理" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -127,7 +127,7 @@ msgstr "不做任何处理" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -149,13 +149,13 @@ msgstr "不做任何处理" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -164,33 +164,33 @@ msgstr "不做任何处理" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -331,345 +331,345 @@ msgstr "设置 %s 文件的元数据" msgid "Set metadata from %s files" msgstr "从 %s 文件设置元数据" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "添加书籍到calibre或者已连接的设备上" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "从已连接的Kindle上获取注解(实验性的)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "为您的书架生成一个分类" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "转换成其它电子书格式" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "微调你的ebooks" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "编辑你书中表格的内容" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "从您的书架或者设备里删除这些书籍" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "编辑 calibre 书库中书籍的元数据" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "阅读 calibre 书库中的书籍" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "从网上下新闻并生成电子书" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "快速显示相关的书籍" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "导出calibre书库中的书籍到硬盘" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "在弹出的对话框中显示书的详细信息" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "重启calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "打开这些书的所在目录" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "发送电子书到移动设备" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "以电子邮件发送或网页分享书籍。连接到 iTunes 或文件夹,就像连接到设备那样。" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "浏览 caliber 用户手册" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "自定义 calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "方便的找到与当前选定的书籍相似的书籍" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "切换各个 calibre 书库并对它们实施维护" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "把书籍从设备复到到 calibre 书库中" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "修改书籍位于您设备上的合集" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "在两个书库间复制书籍" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "对 calibre 书库中的 epub 或 htmlz 文件进行细微的优化调整" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "在搜索 calibre 书库时,高亮下一个或前一个匹配的项" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "从你的 calibre 书库中随机选择一本书" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "从不同的书商寻找书籍" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "获取新的 calibre 插件或更新已有的插件" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "外观和体验" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "界面" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "调整成你喜欢的外观" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "操作方式" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "改变 calibre 的操作方式" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "增加栏目" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "向 calibre 书籍列表中增加或删除你自定义的栏目" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "工具栏" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "自定义工具栏和上下文菜单,设置它们所可以提供的功能" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "搜索" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "个性化calibre中的书籍搜索方式。" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "输入选项" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "转换" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "设置针对特定输入格式的转换选项" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "常规选项" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "设置所有输入格式共有的转换选项" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "输出选项" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "设置针对特定输出格式的转换选项" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "添加书籍" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "导入/导出" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "控制向 calibre 添加书籍时读取元数据的方式" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "保存书籍到磁盘" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "控制使用“保存到磁盘”功能时 calibre 从数据库导出文件的方式" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "发送书籍到设备" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "控制 calibre 将文件传输到电子阅读器的方式" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "元数据控制板" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "保存或发送前更改元数据域" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "模板函数" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "高级" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "建立你自己的模板函数。" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "通过Email分享书籍" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "分享" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "设置通过电子邮件分享书籍。可用于在向阅读器下载新内容时自动发送通知。" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "通过网络分享" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "设置 calibre 内容服务程序以便通过网络在任何设备和地点访问 calibre 书库。" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "元数据下载" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "控制 calibre 从网络上下载元数据的方式。" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "忽略的设备" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "控制当哪些设备连接到计算机时,将被 calibre 忽略 。" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "插件" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "添回/删除/自定义各种calibre功能" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "优化调整" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "微调 calibre 在各种情况下的行为" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "键盘" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "自定义 calibre 的键盘快捷键" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "杂项" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "其它高级选项" @@ -951,8 +951,8 @@ msgstr "启用该名称插件" msgid "Disable the named plugin" msgstr "禁用该名称插件" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -962,11 +962,22 @@ msgstr "禁用该名称插件" msgid "Path to library too long. Must be less than %d characters." msgstr "书库的路径太长。路径长度必须小于 %d 个字符。" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "创建自定义列 " + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -978,26 +989,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "%(tt)s 平均评分为 %(rating)3.1f" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "主" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "存储卡A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "存储卡B" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1010,11 +1021,11 @@ msgstr "存储卡B" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "新闻" @@ -1022,14 +1033,14 @@ msgstr "新闻" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "已检查的" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "是" @@ -1037,7 +1048,7 @@ msgstr "是" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "否" @@ -1045,45 +1056,70 @@ msgstr "否" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "未检查的" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "今天" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "昨天" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "本月" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "天前" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "空的" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "空白" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "无效的布尔查询 \"{0}\"" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1111,23 +1147,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "与 Android 手机通信。" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "待发送到设备内部存储空间的电子书目录列表,以英文逗号分隔。将使用其中第一个有效目录" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "将要发送到设备存储卡上的电子书目录列表,以英文逗号分隔。将使用其中第一个有效目录" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "与 S60 手机通信。" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "与 WebOS 平板通信。" @@ -1268,8 +1304,8 @@ msgstr "" "点击“查看详情”查看列表。" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "分类" @@ -1319,10 +1355,10 @@ msgstr "锦书" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1363,6 +1399,7 @@ msgstr "将书籍添加到设备的元数据列表中..." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1687,17 +1724,17 @@ msgstr "" "将是十分有用的。" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "上传黑白封面" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "显示失效的电子书" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1707,12 +1744,12 @@ msgstr "" "会显示出这些无效的记录,以便您可以把它们删除。" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "显示预览" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1720,7 +1757,7 @@ msgid "" msgstr "Touch 和其他一些版本上默认带有 Kobo 预览。将不再显示它们,因为没有意义。如果您想查看/删除它们,可以启用此选项。" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "显示推荐" @@ -1732,7 +1769,7 @@ msgid "" msgstr "Kobo 现在会在设备上显示推荐。有时候这些推荐有对应文件,有时候它们只是指向购买网站的链接。如果您想查看/删除它们,可以启用此选项。" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "尝试支持更新的固件" @@ -1745,10 +1782,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "不支持的 Kobo 数据库版本 - 见详情" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1815,66 +1854,66 @@ msgstr "" "/>章节进度: %(chapter_progress)s%%
高亮: %(text)s
批注: %(annotation)s

" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "Kobo Touch 从 V2.0.0 版本固件开始支持书架。" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "指定一个用于自动管理的标签类型列" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "创建书架" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "(如果不存在)在 Kobo Touch 上创建新书架。只针对 V2.0.0 及更新的固件。" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "删除空书架" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "在完成同步后删除 Kobo Touch 中的任何空书架。只针对 V2.0.0 或更新的固件。" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "上传书籍封面" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "当发送书籍到设备时,从 calibre 库中上传封面图片。" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "保持封面的长宽比" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "当上传图片,为设备调整尺寸时不改变长宽比。这是针对固件版本2.3.1和更高的版本。" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "Kobo 会在设备上显示推荐。有时这些推荐中有实际文件,有时只是指向网站购买链接的指针。如果您想查看/删除它们,启用此选项。" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "设置丛书信息" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1884,7 +1923,7 @@ msgstr "" "Kobo " "设备上的书籍列表可以显示丛书信息。设备不会读取到设备外书籍的丛书信息。只有书籍经设备处理过,其丛书信息才会添加到设备。如果您想设置丛书信息,请启用此选项。" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1895,11 +1934,11 @@ msgstr "" "Kobo 会经常更新固件和数据库版本。这一选项让 Calibre 尝试执行完全的读写功能 - " "有风险哦!如果您不怕恢复出厂设置,或想测试软件,可以启用此选项。此驱动支持 V2.x.x 系列固件和最高以下版本的 DBVersion " -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "调试时要测试的标题" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1919,55 +1958,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "与Sweex/Kogan/Q600/Wink通讯" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "与 Pandigital Novel 通信" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "与 VelocityMicro 通信" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "与 GM2000 通信" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "与 Acer Lumiread 通信" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "与 Aluratek Color 通信" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "与 Trekstor 通信" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "与 EEE Reeder 通信" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "与Adam tablet通信" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "与 Nextbook Reader 通信" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "与 Moovybook 阅读器通信。" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "与 COBY 阅读器通信。" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "与 Ex124G 阅读器通信" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2094,7 +2133,7 @@ msgstr "Nook" msgid "Communicate with the Nook eBook reader." msgstr "与 Nook 电子书阅读器通信。" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "与 Nook Color,TSR 及平板电子书阅读器通信。" @@ -2591,7 +2630,7 @@ msgid "There is insufficient free space on the storage card" msgstr "存储卡空间不足" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "渲染 %s 成功" @@ -2934,23 +2973,23 @@ msgid "" msgstr "" "正常情况下这一输入插件会将所有输入文件重新调整成标准的文件夹层次结构。除非您了解它的后果,否则不要使用这一选项;它会对转换管道其他部分产生各种不良影响。" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "用于代替默认输出样式的 CSS 文件" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "用于生成 HTML 索引文件的模版(取代默认模版)" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "用于生成 HTML 内容文件的模版(取代默认模版)" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3252,16 +3291,20 @@ msgid "" msgstr "在生成的 PDF 文件里的每一页底部添加页码。如果有指定的页脚模板,此选项会被覆盖。" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." -msgstr "一个HTML模板用于生成每个页面的页脚。字符串_PAGENUM_ 将被替换为当前页号。" +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" +msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." -msgstr "一个HTML模板用于生成每个页面的页眉。字符串_PAGENUM_ 将被替换为当前页号。" +msgid "headers" +msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 msgid "" @@ -4293,7 +4336,7 @@ msgstr "从 LRF 文件中提取封面。由于 LRF 格式未定义封面元素 msgid "Set book ID" msgstr "设置书籍ID" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4317,27 +4360,27 @@ msgstr "否" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "标题" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "作者" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "出版商" @@ -4373,13 +4416,14 @@ msgstr "注释" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "标签" @@ -4388,9 +4432,10 @@ msgstr "标签" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4399,7 +4444,7 @@ msgid_plural "Series" msgstr[0] "系列" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4411,8 +4456,8 @@ msgstr "时间戳" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "出版日期" @@ -4537,60 +4582,60 @@ msgstr "" "\n" "从LibraryThing.com为书籍标识符ISBN采集封面图像/社会元数据\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "封面" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "从 Amazon 下载元数据和封面" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "美国" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "法国" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "德国" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "英国" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "意大利" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "日本" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "西班牙" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "巴西" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "选择要使用的 Amazon 网站:" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "使用所选择国家的 Amazon 网站上数据做为元数据。" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "Amazon 网站访问超时,请稍候再试。" @@ -4598,13 +4643,31 @@ msgstr "Amazon 网站访问超时,请稍候再试。" msgid "Metadata source" msgstr "元数据来源" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "从豆瓣网(Douban.com)下载书籍元数据与封面。对非中文书籍效果不佳。" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4614,6 +4677,47 @@ msgstr "从 Edelweiss 下载元数据和封面,Edelweiss是一个由图书出 msgid "Downloads metadata and covers from Google Books" msgstr "从谷歌图书下载元数据与封面" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "大" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "从 isbndb.com 下载元数据" @@ -4677,12 +4781,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "这是一部 Amazon Topaz 书籍。无法处理。" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "这不是一个 MOBI 文件,而是一个 Topaz 文件。" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "这不是一个 MOBI 文件。" @@ -4713,72 +4817,72 @@ msgid "No details available" msgstr "无详细信息" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "目录" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "标题页" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "索引" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "词汇表" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "致谢" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "参考文献" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "末页" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "版权" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "献辞" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "题辞" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "前言" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "插图列表" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "表格列表" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "注释" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "序言" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "正文" @@ -4787,7 +4891,7 @@ msgstr "正文" msgid "%s format books are not supported" msgstr "不支持 %s 格式电子书" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " @@ -4796,7 +4900,7 @@ msgstr "" "这个 MOBI 文件并不包含 KF8 格式的书籍。 KF8是来自 Amazon 的新格式。 calibre 只能编辑包含 KF8 图书的 MOBI " "文件。旧的不含 KF8 的 MOBI 文件是无法编辑的。" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4821,23 +4925,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" -"

润饰书籍可以使你精心打造的电子书\n" -"锦上添花。

\n" -"\n" -"

润饰操作力图避免改动电子书的内部代码。\n" -"不同于转换,它 不会有破坏 CSS, 重命名文件,改变字体大小,\n" -"调整页边距等操作。每项操作只会做出最低限度的改变\n" -"以达到预期的效果。

\n" -"\n" -"

这个工具应该用作电子书制作过程的最后一步。

\n" -"\n" -"

请注意润饰只能用于 %s 格式的文件。

\n" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4870,10 +4963,8 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" -"

在这本书的开始处插入“书籍封面”页\n" -"包含书所有的元数据,如标题,标签,作者,系列,注释,等等。" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 msgid "

Remove a previous inserted book jacket page.

\n" @@ -4997,9 +5088,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -5015,11 +5106,11 @@ msgid "HTML TOC generation options." msgstr "HTML 目录生成选项。" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "评分" @@ -5062,6 +5153,10 @@ msgstr "页码 %d" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "无法找到 pdftohtml,请确认其已被加入系统路径变量 PATH 中" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5216,7 +5311,7 @@ msgid "Show this confirmation again" msgstr "再次显示该确认" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "需要重启" @@ -5338,12 +5433,12 @@ msgstr "控制添加书籍" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5420,8 +5515,8 @@ msgstr "添加到书库" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5542,7 +5637,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "为 %(title)s.%(fmt)s 选择目标位置" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5590,7 +5685,7 @@ msgid "No existing calibre library found at %s" msgstr "%s 位置没有找到 calibre 书库。" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "选择书库" @@ -5604,7 +5699,7 @@ msgstr "切换/创建书库..." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5616,12 +5711,12 @@ msgid "Pick a random book" msgstr "随机选定一本书" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "快速切换" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "重命名书库" @@ -5763,7 +5858,7 @@ msgid "" msgstr "你的 calibre 书库数据库没有发现错误。你是否想让 calibre 检查书库中的文件是否匹配数据库中的信息?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5791,7 +5886,7 @@ msgstr "你的书库中的文件和数据库信息相符合。" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5832,7 +5927,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "为你的 calibre 书库创建分类目录" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "无法转换" @@ -5845,96 +5940,109 @@ msgstr "开始转换 %d 本书" msgid "Empty output file, probably the conversion process crashed" msgstr "空白输出文件,有可能是会话进程崩溃。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "%(title)s 作者 %(author)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "选择书库" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "库路径(&P):" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "浏览库" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" -msgstr "复制后删除(&D)" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "复制到书库" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "复制选定书籍到指定的书库" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "(拷贝后删除)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "按路径选择库..." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "无法复制" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "无法复制当前库。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "没有书库" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "未找到书库在%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "复制到" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "移动到" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "已将 %(num)d 本书复制到 %(loc)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "无法复制书籍: " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "已自动合并" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5953,6 +6061,7 @@ msgstr "使用环境变量 CALIBRE_OVERRIDE_DATABASE_PATH 时不可是用其它 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "您确定吗?" @@ -6027,76 +6136,78 @@ msgid "" "you sure?" msgstr "%(fmt)s 格式将会从 %(title)s 永久删除。你确定吗?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "选择删除格式" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "选择 不要 被删除的格式。

请注意:本功能永远不会删除一本书籍中所包含的所有格式。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "选中的书籍的 所有格式 都将被从你的书库中 删除
只有书籍的元信息会被保留。确认删除吗?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "无法删除书籍" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "没有连接的设备" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "主内存" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "存储卡A" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "存储卡B" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "没有要删除的书籍" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "设备上没有选定的书籍" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "从设备删除书籍。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "选中的书籍中的一部分同时存在于连接的设备上。你希望删除其中的 哪一部分?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" -msgstr "选定书籍将被永久删除,同时对应的文件也会从你的calibre书库中移除。你确定吗?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" -msgstr "选定的书籍将从你的设备中永久删除。你确定吗?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 msgid "Start wireless device connection" @@ -6171,12 +6282,12 @@ msgid "" msgstr "使用Web服务器或电子邮件分享图书。连接到指定的设备,等等。" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "正在停止" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "正在停止服务器,最多需要一分钟,请稍候……" @@ -6260,8 +6371,8 @@ msgstr "下载元数据失败" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "下载失败" @@ -6297,7 +6408,7 @@ msgid "Download complete" msgstr "下载完成" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "下载日志" @@ -6378,15 +6489,15 @@ msgstr "" "删除

第一本选中的书籍的所有格式将会保留,第二本及以后的被选中的书籍中的重复的书籍格式会被从 calibre 书库永久 " "删除

确认 是否要继续操作。<" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "正在应用修改过的元数据" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "一些失败" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6491,17 +6602,28 @@ msgstr "润饰 %d 本书籍" msgid "

About Polishing books

%s" msgstr "

关于润饰书籍

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "

字体子集

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "

修饰符

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6510,184 +6632,195 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "

书籍封面

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "

移除书籍封面

%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "选择要进行的操作:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "所有嵌入字体子集(&S)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "压缩标点(&P)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "更新这本书文件中的元数据(&m)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "更新这本书文件中的封面(&c)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "关于" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "显示报告(&r)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "保存设定(&S)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "载入设定(&L)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "全选(&A)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "取消全选(&N)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "没有已选操作" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "保存前必须至少选择一项操作" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "选择名字" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "为这些设置选择一个名称" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "移除保存的设置" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "你必须选择至少一项操作,或点击取消" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "待润饰书籍排序中" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "润饰 %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "忽略剩余的 %d 项日志" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "查看完整的日志(&L)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "原文件被另存为 %s。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr " 以及 " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "如果再次润饰,润饰操作将基于原文件。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "润饰书籍" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "无法润饰" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "润饰操作仅支持 %s 格式的书籍。请在润饰前将书籍转换成上述格式之一。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "开始润饰 %d 本书籍" @@ -6805,7 +6938,7 @@ msgid "Click the show details button to see which ones." msgstr "点击“查看详情”按钮查看具体列表。" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "显示书籍详情" @@ -6910,7 +7043,7 @@ msgid "this book" msgstr "此书" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "查找 %s" @@ -6922,30 +7055,30 @@ msgstr "商店" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "选择商店" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "无法完成搜索" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "calibre 能帮助你从各种网站查找商业和公有领域的书籍。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "通过使用整合的书籍搜索功能,你可以轻松的以最低的价格从各家书店找到你想要的书籍。你可以同时获知该书籍的 DRM 状态和其它有用的信息。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6958,11 +7091,11 @@ msgstr "" "不参与交易过程,所以交易相关的问题应与书籍销售网站联系处理。请在购买书籍前确认你将要购买的书籍格式能与你的阅读器设备兼容,尤其是购买具有 DRM 保护的书籍。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "再次显示这个信息" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "关于获取书籍" @@ -7241,7 +7374,7 @@ msgid "The specified directory could not be processed." msgstr "无法处理指定目录。" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "没有书籍" @@ -7455,7 +7588,7 @@ msgid "Click to open" msgstr "点击打开" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "Ids" @@ -7465,7 +7598,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "%(series)s 系列中的第 %(sidx)s 本书" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "合集" @@ -7499,16 +7632,25 @@ msgstr "路径" msgid "Cover size: %(width)d x %(height)d" msgstr "封面大小: %(width)d x %(height)d" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "删除 %s 格式" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "保存格式 %s 到磁盘" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "BibTeX选项" @@ -7576,7 +7718,7 @@ msgstr "输出" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7762,7 +7904,7 @@ msgstr "正确" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "名称" @@ -8102,8 +8244,8 @@ msgid "Style the selected text block" msgstr "对选定文字框应用样式" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "普通" @@ -9030,59 +9172,63 @@ msgstr "无图像(&I)" msgid "PDF Output" msgstr "PDF 输出" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "覆盖输出配置文件中纸张大小的设置(&O)" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "纸张大小(&P):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "自定义页面尺寸(&C):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "单位(&U):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "保持封面纵宽比(&A)" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "每一页的底部添加页号(&n)" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "衬线字体(&R):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "Sans 字体(&S):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "等宽字体(&M):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "标准字体(&T):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "默认字体大小(&z):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -9094,14 +9240,30 @@ msgstr "默认字体大小(&z):" msgid " px" msgstr " px" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "等宽字体大小(&F):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" -msgstr "每一页的底部添加页号(&n)" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 msgid "PMLZ Output" @@ -9338,6 +9500,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "转换" @@ -9917,7 +10083,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "检测 %s。你要 calibre 来管理它吗?" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "无合适格式" @@ -9963,81 +10129,81 @@ msgstr "设备: " msgid " detected." msgstr " 被检测到。" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "选择传送" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "无设备" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "没有设备连接" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "%(num)i 本书,共 %(total)i 本" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "0 本书,共 %i 本" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "选择传送到设备的格式" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "无法传送:无连接设备" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "无卡" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "无法传送:设备中无储存卡" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "上传到设备之前自动转换如下书籍?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "正在发送分类到设备。" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "将新闻传送到设备." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "传送书籍到设备。" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "无法上传下列书籍到设备,未找到何时格式。请先将书籍转换为设备支持的格式。" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "设备存储空间不足" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "

由于设备存储空间不足无法将书籍传送到设备上 " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "不正确的目标" @@ -10201,7 +10367,7 @@ msgstr "显示设备信息" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10767,13 +10933,13 @@ msgid "Where do you want to delete from?" msgstr "删除何处的书籍?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "书库" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "设备" @@ -10807,8 +10973,8 @@ msgid "Location" msgstr "位置" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10827,13 +10993,13 @@ msgstr "%(curr)s (原始为: %(initial)s)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "项目为空" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "项目不能设置为什么也没有。请删除之。" @@ -10936,7 +11102,7 @@ msgstr "链接" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "无匹配项" @@ -10984,12 +11150,12 @@ msgid "Copy to author" msgstr "复制到“作者”" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "无效的作者名" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "作者名中不能包含&符号" @@ -11084,40 +11250,40 @@ msgstr "隐藏所有作业(&H)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "复制到剪贴板(&C)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "查看详情(&D)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "隐藏详情(&D)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "显示有关当前错误的详细信息" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "已复制" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "查看日志" @@ -12010,6 +12176,7 @@ msgstr "正在中止..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -12045,12 +12212,12 @@ msgstr "项目" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "搜索" @@ -12650,12 +12817,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "端口号必须在8000到32000之间。" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "启动无线设备时出现问题" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "无线设备的驱动没有启动。 \"%s\"" @@ -12707,6 +12874,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "在 calibre 启动时允许自动连接" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "出版商" @@ -12721,6 +12889,7 @@ msgstr "分类查找名称: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "无效名称" @@ -13612,7 +13781,7 @@ msgid "&Shortcut:" msgstr "快捷键(&S):" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "完成" @@ -13656,7 +13825,7 @@ msgstr "按名称查找键盘快捷键" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "无匹配项" @@ -13666,66 +13835,70 @@ msgstr "无匹配项" msgid "Could not find any shortcuts matching %s" msgstr "无法找到匹配 %s 的快捷键" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "安全移除此设备" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "配置该设备" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "显示calibre书库中的书籍" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "显示设备内部存储空间中的书籍" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "显示存储卡A中的书籍" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "显示存储卡B中的书籍" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "删除书库" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "可用" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "高级搜索" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "Shift+Ctrl+F" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "

用标题、作者、出版商、标签、注释等搜索书籍列表

空格间隔关键词视为且(AND)关系" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "搜!(&G)" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "快速搜索(也可按回车键)" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "重置快速搜索" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "复制当前搜索结果列表项至搜索栏" @@ -13738,32 +13911,32 @@ msgstr "星" msgid "Y" msgstr "Y" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "在设备上" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "大小 (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "已修改" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "查找名称是“{0}”" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "此书 UUID 为 \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13772,30 +13945,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "在书库中" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "大小" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "为删除作的标记" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "双击编辑该项

" @@ -13900,7 +14073,7 @@ msgid "Previous Page" msgstr "上一页" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -14407,7 +14580,7 @@ msgid "Edit Metadata" msgstr "编辑元数据" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14554,15 +14727,15 @@ msgstr "注释(&C)" msgid "Basic metadata" msgstr "基本元数据" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "包含封面" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "包含简介" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14574,27 +14747,27 @@ msgstr "" "面的项在下载封面阶段时可\n" "能会发现封面,反之亦然。" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "参阅" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "calibre 正在从下列位置下载元数据: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "请稍候" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "查询: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "无法下载元数据。请点击“显示详情”获取更多信息。" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14604,38 +14777,44 @@ msgstr "" "无法为您找到书籍元数据。请尝试扩大搜索范围。比如:只使用作者的名字或只包含标题中具有特征性的词组。

要查看完整的日志,请点击“查看详情”" "。" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "当前封面" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "正在查找……" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "正在从 %s 下载封面,请稍候……" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "无法下载封面,请点击“查看详情”查看详细的出错信息。" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "无法为 %s 找到封面" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." -msgstr "为书籍 %(title)s 找到了 %(num)d 个封面图像,请选择您最喜欢的一个。" +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "正在下载元数据……" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "正在下载封面..." @@ -14790,7 +14969,8 @@ msgid "The Add &Process" msgstr "书籍添加处理(&P)" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14833,34 +15013,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "自动添加(&A)" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "高" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "低" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "非常低" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "精减布局" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "默认" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "一页布局" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "确认对话框全部重置" @@ -14911,15 +15091,15 @@ msgid "Job &priority:" msgstr "进程优先级(&p):" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" -msgstr "打开此书库后应用的限制:" +msgid "Virtual library to apply when the current library is opened:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " -msgstr "若使用当前书库,在 calibre 启动时应用此限制。也适用于转换到此书库并使用的情况。请注意此设定针对每个书库。 " +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170 msgid "Edit metadata (single) layout:" @@ -15870,10 +16050,6 @@ msgstr "不显示" msgid "Small" msgstr "小" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "大" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "中" @@ -15891,7 +16067,7 @@ msgid "Never" msgstr "从不" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "首字母" @@ -16914,20 +17090,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "此处控制发送到设备使用的书籍保存方式。此设定会被单个设备单独设定所覆盖,在首选项->高级->插件可定义单独设置" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "无法启动内容服务程序" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "错误日志:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "访问日志:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "你需要重启服务器使新的设置生效" @@ -16960,21 +17136,19 @@ msgid "Max. &OPDS items per query:" msgstr "每次请求最大 OPDS 项(&O):" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" -msgstr "不分组 OPDS 项数量限制:" +msgid "Max. &ungrouped items:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" -msgstr "限制(已存搜索):" +msgid "Virtual library to apply:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" -"该限制(基于已保存的搜索条件)会限制在内容服务器中所显示的书籍列表仅限于指定的搜索结果。这个设置是基于每个书库的(也就是说你可以为不同的书库指定不同的限制" -"条件)。" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 msgid "" @@ -17397,83 +17571,233 @@ msgstr "恢复默认值(&D)" msgid "Apply any changes you made to this tweak" msgstr "保存当前设置的优化调整值" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" +msgstr "创建已存搜索条件" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 msgid "Delete current search" msgstr "删除当前搜索条件" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 msgid "No search is selected" msgstr "未选择搜索条件" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "选定的搜索结果将被永久删除,你确定吗?" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "搜索(点击左侧按钮进行高级搜索)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "开始搜索" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "启用或禁用搜索结果高亮显示" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "已存搜索" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "选择已存搜索或输入新存入搜索名称" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "以左侧文本框中指定的名称保存当前搜索条件。点住不放可显示选项菜单。" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "创建已存搜索条件" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "删除已存搜索条件" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "管理已存搜索数据" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" -msgstr "* 当前搜索结果" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" -msgstr "限制于" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "(所有书籍)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" -msgstr "只会显示符合当前选择搜索条件的书籍记录" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " -msgstr " 或搜索条件 " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "({0}/{1})" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "({0}/全部)" @@ -17752,32 +18076,32 @@ msgstr "下载..." msgid "Goto in store..." msgstr "访问书店..." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "从本书店买书可以帮助该 calibre 开发人员: %s

" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "自定义获取书籍搜索" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "配置搜索" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "无法找到匹配你的搜索条件的书籍。" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "选择要下载到你的书库中的书籍格式。" @@ -17897,46 +18221,46 @@ msgstr "刷新" msgid "%p%" msgstr "%p%" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "分组搜索条件名是 \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "改变多本书的作者需要花费一些时间。你确定要这样做吗?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "更新这么多本书的元数据需要花费一些时间。你确定要这样做吗?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "搜索" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "重命名用户分类" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "重命名用户分类名称时不能使用点号" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "%s 这个名称已经被占用" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "复制搜索名称" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "已存搜索名 %s 被占用。" @@ -17958,13 +18282,13 @@ msgid "Manage Tags" msgstr "管理标签数据" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "管理用户分类数据" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "管理已存搜索数据" @@ -18059,7 +18383,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "排序" @@ -18098,138 +18422,138 @@ msgid "" "the tag browser above" msgstr "所有分类数据管理器都可以上面的标签浏览器中通过右键点击相应项目打开" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "重命名 %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "修改 %s 的排序作者值" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "修改 %s 的链接" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "把 %s 添加到用户分类" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "%s 的子项" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "删除搜索条件 %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "把 %(item)s 从分类 %(cat)s 中移除" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "查找除 %s 以外的所有信息" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "添加子分类到 %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "删除用户分类 %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "隐藏分类 %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "显示分类" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "在分类 %s 中搜索书籍" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "在分类 %s 以外搜索书籍" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "管理%s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "显示所有分类" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "修改子分类模式" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "首字母只在按名称排序时可用" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -18240,56 +18564,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -18331,73 +18655,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -18405,134 +18740,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18611,31 +18991,31 @@ msgid "" "reconvert them?" msgstr "下列书籍已经被转换为 %s 格式。您希望转换它们么?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "捐助 calibre 项目(&D)" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "恢复(&R)" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "弹出已连接设备(&E)" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "退出 calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "清除当前搜索" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "调试模式" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18643,11 +19023,11 @@ msgid "" "automatically." msgstr "您以调试模式启动 calibre。退出程序后,Log 文件将存在文件:%s

Log 将自动显示。" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18663,16 +19043,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "转换错误" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18695,23 +19075,23 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "清单禁用" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "失败" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "仍有任务运行。您是否希望退出?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" @@ -18721,11 +19101,11 @@ msgstr "" " 退出可能导致设备损坏。
\n" " 确定退出么?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "活动的任务" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -19268,29 +19648,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -20603,44 +20983,44 @@ msgid "" "to do no filtering." msgstr "通过搜索请求过滤结果。对于每个搜索请求的格式,请参见用户手册中搜索相关的文档。默认为不做过滤。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "输出中单行宽度最大值。默认检测屏幕大小。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "分隔各个域的字符串。默认是空格。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "所有文件路径前缀。默认为书库目录绝对路径。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "无效域。可用域:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "排列域无效。可用域:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "下列书籍已经存在于数据库,未被田间(参见 --duplicates 选项):" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -20652,59 +21032,59 @@ msgstr "" "\n" "添加指定文件为书籍到数据库。您可以指定目录,参见目录相关选项。\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "假设每个目录只有一本逻辑书籍,而所有文件均是该书的不同格式电子书" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "递归处理目录" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "即使书籍已经存在于数据库仍然添加。通过书名进行区分。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "添加空白书籍(无格式书籍)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "您必须指定至少一个文件进行添加" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20715,31 +21095,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "必须指定至少一本电子书移除" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" -"%prog add_format [options] id ebook_file\n" -"\n" -"将 ebook_file 中电子书添加到可用格式,用于通过 id 识别的逻辑书。您可以使用 list 命令得到 id。如果格式已经存在,将被替换。\n" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "您必须指定一个 id 和电子书文件" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "电子书文件必须有扩展名" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20756,11 +21143,11 @@ msgstr "" "be a file extension like LRF or TXT or EPUB. If the logical book does not " "have fmt available, do nothing.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "你必须指定一个 id 和格式" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20775,15 +21162,15 @@ msgstr "" "显示 calibre 中通过 id 识别书籍数据库中存储的元数据。\n" "id 是来自 list 命令的 id 编号。\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "以 OPF 表单(XML)打印元数据" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "您必须指定一个 id" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20798,7 +21185,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20808,40 +21195,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20857,28 +21244,28 @@ msgstr "" "导出操作保存所有格式书籍、封面和元数据(位于一个 opf 文\n" "件)。您可以通过 list 命令得到文件 id。\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "导出所有数据库中的书,忽略 id 列表。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "将书导出到指定目录。默认为" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "将所有书导出到单个目录" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "选定此项将关闭此行为。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "你必须指定一个 id 或 %s 选项" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20889,13 +21276,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20915,11 +21302,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "您必须指定标签、名称和数据类型" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20930,7 +21317,7 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" @@ -20940,23 +21327,23 @@ msgstr "" "一旦声明,忽略 --search \n" "默认:全部" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "为搜索查询过滤结果。搜索查询格式请参见用户手册中搜索相关内容。默认:不过滤" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "显示详细输出信息。有利调试" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "错误:您必须指定一个分类输出文件" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20968,17 +21355,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "如果栏存有多个值,将指定值附加到已有值之后,而非覆盖。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "错误:您必须指定项目名称、id 和值。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20987,27 +21374,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "每栏显示细节。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "y" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -21017,15 +21404,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "无需确认" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "错误:您必须指定栏标签" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -21038,40 +21425,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "错误:你必须指定一个动作(添加|移除|列表)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "名称:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "搜索字串:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "错误:你必须指定一个名称和一个搜索字串" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "已添加" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "错误:你必须指定一个名称" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "移除" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -21085,13 +21472,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -21099,34 +21486,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "以 CSV 输出" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -21141,18 +21528,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -21160,33 +21547,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "CSV 模式下字符串分隔符。默认逗号。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "分类项目" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -21217,31 +21604,22 @@ msgid "" "start with a letter" msgstr "标签必须只包含小写字母,数字及下划线,并且以字母开头。" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "创建自定义列 " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "

正在将旧数据库转移到位于 %s 的新数据库

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "正在复制%s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "正在压缩数据库" @@ -21486,20 +21864,20 @@ msgid "" msgstr "所有 URL 的前缀。用于 Apache/nginx 等反向代理。" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "全部书籍" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "最新" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "加载中,请稍候" @@ -21522,7 +21900,7 @@ msgid "Browsing %d books" msgstr "浏览 %d 本书" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "平均评分" @@ -21531,98 +21909,98 @@ msgstr "平均评分" msgid "%(prefix)s: %(rating).1f stars" msgstr "%(prefix)s: %(rating).1f 星" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "%d 星" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "流行程" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "书库" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "主页" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "书籍浏览类别:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "选项要浏览的分类:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "书籍浏览类别:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "向上一层" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "属于:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "其它格式" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "阅读《%(title)s》 格式: %(fmt)s" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "获取" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "细节" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "永久链接" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "该书籍的永久链接" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "该书已被删除" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "(在搜索结果中)" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "匹配书籍" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -21635,21 +22013,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "内容服务程序上书库目录路径" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "指定文件写进程 PID" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -22652,10 +23032,6 @@ msgstr "上午" msgid "pm" msgstr "下午" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22754,6 +23130,31 @@ msgstr "代码正在运行" msgid "Restart console" msgstr "重启控制台" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "URL 必须有 scheme sftp" @@ -22802,107 +23203,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "订阅清单 “%s” 需要用户名与密码。" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "下载完成" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "下载下列文章失败:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "下载下列文章的某些部分失败:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr " 自 " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "\t失败链接:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "无法获取文章。" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "调试用信息出现在日志文件前部" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "以 -vv 参数运行,以便查看出错的原因" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "正在抓取源..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "从索引页面获取了源" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "正在尝试下载封面..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "正在生成刊头..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "开始下载 [ %d 线程]..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "新闻源下载到 %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "无法下载封面:%s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "正在从 %s 下载封面" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "已下载刊头图像" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "无标题文章" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "已下载文章:%s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "下载失败文章:%s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "抓取源" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 msgid "" "Failed to log in, check your username and password for the calibre " "Periodicals service." msgstr "登录失败,检查您 calibre 期刊服务的用户名密码。" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -23168,7 +23569,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/zh_HK.po b/src/calibre/translations/zh_HK.po index 693736cd75..a9cdeeb0b4 100644 --- a/src/calibre/translations/zh_HK.po +++ b/src/calibre/translations/zh_HK.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" "PO-Revision-Date: 2011-07-11 08:59+0000\n" "Last-Translator: Nader stouhy \n" "Language-Team: Chinese (Hong Kong) \n" @@ -15,24 +15,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:25+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:41+0000\n" +"X-Generator: Launchpad (build 16580)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" msgstr "是否絕對沒有" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -87,8 +87,8 @@ msgstr "是否絕對沒有" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -99,9 +99,9 @@ msgstr "是否絕對沒有" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -110,7 +110,7 @@ msgstr "是否絕對沒有" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -123,7 +123,7 @@ msgstr "是否絕對沒有" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -145,13 +145,13 @@ msgstr "是否絕對沒有" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -160,33 +160,33 @@ msgstr "是否絕對沒有" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -325,345 +325,345 @@ msgstr "設定%s文件的Metadata" msgid "Set metadata from %s files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "" @@ -941,8 +941,8 @@ msgstr "" msgid "Disable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -952,11 +952,22 @@ msgstr "" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -968,26 +979,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1000,11 +1011,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" @@ -1012,14 +1023,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" @@ -1027,7 +1038,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -1035,45 +1046,70 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1101,23 +1137,23 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "" @@ -1240,8 +1276,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "" @@ -1289,10 +1325,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1333,6 +1369,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1651,17 +1688,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1669,12 +1706,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1682,7 +1719,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "" @@ -1694,7 +1731,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "" @@ -1707,10 +1744,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1767,66 +1806,66 @@ msgid "" "%(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1834,7 +1873,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1843,11 +1882,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1867,55 +1906,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2040,7 +2079,7 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "" @@ -2521,7 +2560,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "" @@ -2830,23 +2869,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3134,15 +3173,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4093,7 +4136,7 @@ msgstr "" msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4117,27 +4160,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "" @@ -4173,13 +4216,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "" @@ -4188,9 +4232,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4200,7 +4245,7 @@ msgstr[0] "" msgstr[1] "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4212,8 +4257,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "" @@ -4325,60 +4370,60 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "" @@ -4386,13 +4431,31 @@ msgstr "" msgid "Metadata source" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4402,6 +4465,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "" @@ -4461,12 +4565,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "" @@ -4493,72 +4597,72 @@ msgid "No details available" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "" @@ -4567,14 +4671,14 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4599,12 +4703,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4637,7 +4741,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4762,9 +4866,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4780,11 +4884,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4827,6 +4931,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4981,7 +5089,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5103,12 +5211,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5185,8 +5293,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5307,7 +5415,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5355,7 +5463,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5369,7 +5477,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5381,12 +5489,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5526,7 +5634,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5554,7 +5662,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5595,7 +5703,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5608,96 +5716,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5716,6 +5837,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5788,75 +5910,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5932,12 +6056,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6021,8 +6145,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6058,7 +6182,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6128,15 +6252,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6241,17 +6365,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6260,185 +6395,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6555,7 +6701,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "" @@ -6660,7 +6806,7 @@ msgid "this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "" @@ -6672,30 +6818,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6705,11 +6851,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "" @@ -6973,7 +7119,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "" @@ -7183,7 +7329,7 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "" @@ -7193,7 +7339,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "" @@ -7227,16 +7373,25 @@ msgstr "" msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" @@ -7304,7 +7459,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7490,7 +7645,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "" @@ -7830,8 +7985,8 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "" @@ -8747,59 +8902,63 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -8811,13 +8970,29 @@ msgstr "" msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9055,6 +9230,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -9621,7 +9800,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -9667,81 +9846,81 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9903,7 +10082,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10414,13 +10593,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10454,8 +10633,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10474,13 +10653,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10579,7 +10758,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10627,12 +10806,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10727,40 +10906,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11628,6 +11807,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11663,12 +11843,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12242,12 +12422,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12299,6 +12479,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12313,6 +12494,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13189,7 +13371,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13233,7 +13415,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13243,66 +13425,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13315,32 +13501,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13349,30 +13535,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "" @@ -13477,7 +13663,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13975,7 +14161,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14120,15 +14306,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14136,27 +14322,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14164,38 +14350,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14336,7 +14528,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14379,34 +14572,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14455,12 +14648,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15373,10 +15566,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15394,7 +15583,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16362,20 +16551,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16408,18 +16597,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16794,83 +16983,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "" @@ -17146,32 +17485,32 @@ msgstr "" msgid "Goto in store..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "" @@ -17285,46 +17624,46 @@ msgstr "" msgid "%p%" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "" @@ -17346,13 +17685,13 @@ msgid "Manage Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "" @@ -17445,7 +17784,7 @@ msgid "Alter Tag Browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "" @@ -17484,138 +17823,138 @@ msgid "" "the tag browser above" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17626,56 +17965,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -17717,73 +18056,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -17791,134 +18141,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -17997,31 +18392,31 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18029,11 +18424,11 @@ msgid "" "automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18049,16 +18444,16 @@ msgid "" "successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18081,34 +18476,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18649,29 +19044,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19919,44 +20314,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19965,59 +20360,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20028,28 +20423,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20059,11 +20464,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20073,15 +20478,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20096,7 +20501,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20106,40 +20511,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20150,28 +20555,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20182,13 +20587,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20208,11 +20613,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20223,30 +20628,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20258,17 +20663,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20277,27 +20682,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20307,15 +20712,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20328,40 +20733,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20375,13 +20780,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20389,34 +20794,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20431,18 +20836,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20450,33 +20855,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20499,31 +20904,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "" @@ -20765,20 +21161,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "" @@ -20801,7 +21197,7 @@ msgid "Browsing %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "" @@ -20810,98 +21206,98 @@ msgstr "" msgid "%(prefix)s: %(rating).1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -20914,21 +21310,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -21931,10 +22329,6 @@ msgstr "" msgid "pm" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22033,6 +22427,31 @@ msgstr "" msgid "Restart console" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "" @@ -22081,107 +22500,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 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:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22444,7 +22863,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/translations/zh_TW.po b/src/calibre/translations/zh_TW.po index df61c1fb05..4d95f2e918 100644 --- a/src/calibre/translations/zh_TW.po +++ b/src/calibre/translations/zh_TW.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-03-29 05:21+0000\n" -"PO-Revision-Date: 2013-03-18 07:19+0000\n" +"POT-Creation-Date: 2013-04-26 04:42+0000\n" +"PO-Revision-Date: 2013-04-11 13:15+0000\n" "Last-Translator: Chao-Hsiung Liao \n" "Language-Team: Chinese (traditional)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2013-03-30 05:26+0000\n" -"X-Generator: Launchpad (build 16546)\n" +"X-Launchpad-Export-Date: 2013-04-27 05:42+0000\n" +"X-Generator: Launchpad (build 16580)\n" "Language: zh_TW\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -24,16 +24,16 @@ msgid "Does absolutely nothing" msgstr "完全不做任何事" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:804 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:129 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:140 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:667 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:668 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:839 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:147 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:150 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:161 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:715 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:716 #: /home/kovid/work/calibre/src/calibre/db/write.py:152 #: /home/kovid/work/calibre/src/calibre/db/write.py:156 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -88,8 +88,8 @@ msgstr "完全不做任何事" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 @@ -100,9 +100,9 @@ msgstr "完全不做任何事" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259 @@ -111,7 +111,7 @@ msgstr "完全不做任何事" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98 @@ -124,7 +124,7 @@ msgstr "完全不做任何事" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361 @@ -146,13 +146,13 @@ msgstr "完全不做任何事" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 @@ -161,33 +161,33 @@ msgstr "完全不做任何事" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:562 #: /home/kovid/work/calibre/src/calibre/library/database2.py:573 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:581 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:592 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -329,345 +329,345 @@ msgstr "在%s檔案中設定詮釋資料" msgid "Set metadata from %s files" msgstr "從%s檔案中設定詮釋資料" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Add books to calibre or the connected device" msgstr "將書籍加入 calibre 或連接的裝置" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777 msgid "Fetch annotations from a connected Kindle (experimental)" msgstr "從連接的 Kindle 中取回註解 (實驗性)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 msgid "Generate a catalog of the books in your calibre library" msgstr "產生您 calibre 書庫中書籍的分類" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Convert books to various ebook formats" msgstr "將書籍轉換為各種電子書格式" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Fine tune your ebooks" msgstr "好好校調您的電子書" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 msgid "Edit the Table of Contents in your books" msgstr "編輯書籍中的目錄" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Delete books from your calibre library or connected device" msgstr "從您的 calibre 書庫或連接的裝置刪除書籍" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Edit the metadata of books in your calibre library" msgstr "編輯 calibre 書庫中書籍的元數據" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "Read books in your calibre library" msgstr "閱讀您的 calibre 書庫的書籍" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 msgid "Download news from the internet in ebook form" msgstr "從網際網路將新聞下載為電子書格式" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Show a list of related books quickly" msgstr "快速顯示相關書籍的清單" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 msgid "Export books from your calibre library to the hard disk" msgstr "從您的 calibre 書庫匯出電子書到硬碟" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Show book details in a separate popup" msgstr "在分離的彈出式視窗中顯示書籍詳細資料" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "重新啟動 calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Open the folder that contains the book files in your calibre library" msgstr "開啟包含在您的 calibre 書庫裡書籍的資料夾" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 msgid "Send books to the connected device" msgstr "傳送書籍到連接的裝置" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "" "Send books via email or the web also connect to iTunes or folders on your " "computer as if they are devices" msgstr "透過電子郵件或網頁傳送書籍同時連線到 iTunes 或您電腦上的資料夾 (如果它們是裝置)" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "瀏覽 calibre 使用者手冊" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Customize calibre" msgstr "自訂 calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 msgid "Easily find books similar to the currently selected one" msgstr "輕鬆的找到與目前選取類似的書籍" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "" "Switch between different calibre libraries and perform maintenance on them" msgstr "在不同的 calibre 書庫中切換並對它們進行維護" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Copy books from the devce to your calibre library" msgstr "從裝置複製書籍到您的 calibre 書庫" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Edit the collections in which books are placed on your device" msgstr "編輯放在您裝置中書籍的收藏" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Copy a book from one calibre library to another" msgstr "從一個 calibre 書庫複製書籍到另一個書庫" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "對您的 calibre 書庫的 epub 或 htmlz 檔案進行一些微調" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900 msgid "" "Find the next or previous match when searching in your calibre library in " "highlight mode" msgstr "當搜尋您的 calibre 書庫時以突顯模式尋找下一個或上一個符合項" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Choose a random book from your calibre library" msgstr "從您的 calibre 書庫隨機選擇書籍" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 msgid "Search for books from different book sellers" msgstr "從不同的書籍零售商搜尋書籍" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Get new calibre plugins or update your existing ones" msgstr "取得您現有 calibre 外掛程式的新版本" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 msgid "Look and Feel" msgstr "外觀與感覺" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996 msgid "Interface" msgstr "介面" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "調整 calibre 介面的外觀和感覺以符合您的喜好" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 msgid "Behavior" msgstr "行為" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 msgid "Change the way calibre behaves" msgstr "改變 calibre 的行為" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "加入您自己的欄" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 msgid "Add/remove your own columns to the calibre book list" msgstr "在 calibre 書籍清單中加入/移除您自己的欄位" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 msgid "Toolbar" msgstr "工具列" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "自訂工具列和關聯選單,改變每次可用的動作" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Searching" msgstr "搜尋" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 msgid "Customize the way searching for books works in calibre" msgstr "自訂在 calibre 中搜尋書籍的運作方式" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 msgid "Input Options" msgstr "輸入選項" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029 msgid "Conversion" msgstr "轉換" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Set conversion options specific to each input format" msgstr "設定每個輸入格式指定的轉換選項" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 msgid "Common Options" msgstr "一般選項" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 msgid "Set conversion options common to all formats" msgstr "設定所有格式的轉換選項指令" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Output Options" msgstr "輸出選項" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 msgid "Set conversion options specific to each output format" msgstr "設定每個輸出格式指定的轉換選項" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 msgid "Adding books" msgstr "加入書籍" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076 msgid "Import/Export" msgstr "匯入/匯出" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044 msgid "Control how calibre reads metadata from files when adding books" msgstr "控制當加入書籍時 calibre 如何從檔案讀取元數據" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 msgid "Saving books to disk" msgstr "將書籍儲存至磁碟" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "控制當使用儲存至磁碟時 calibre 要如何從資料庫中匯出檔案到磁碟" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Sending books to devices" msgstr "將書籍傳送至裝置" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 msgid "Control how calibre transfers files to your ebook reader" msgstr "控制 calibre 要如何傳輸檔案到您的電子書閱讀器" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Metadata plugboards" msgstr "元數據接線板" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 msgid "Change metadata fields before saving/sending" msgstr "在儲存/傳送前改變元數據欄位" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Template Functions" msgstr "範本函式" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181 msgid "Advanced" msgstr "進階" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 msgid "Create your own template functions" msgstr "建立您自己的範本函式" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Sharing books by email" msgstr "以電子郵件分享書籍" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 msgid "Sharing" msgstr "分享" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "設定以電子郵件分享書籍。可以用於自動將下載的新聞傳送至您的裝置" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 msgid "Sharing over the net" msgstr "透過網路分享" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "設定 calibre 內容伺服器可以讓您在任何地方,使用任何裝置透過網際網路存取您的 calibre 書庫" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 msgid "Metadata download" msgstr "元數據下載" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 msgid "Control how calibre downloads ebook metadata from the net" msgstr "控制 calibre 如何從網路下載電子書元數據" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "忽略裝置" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "控制哪些裝置連接到電腦時 calibre 可以忽略它們。" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "外掛程式" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151 msgid "Add/remove/customize various bits of calibre functionality" msgstr "加入/移除/自訂各種 calibre 函式" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 msgid "Tweaks" msgstr "調整" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 msgid "Fine tune how calibre behaves in various contexts" msgstr "詳細校調 calibre 在各種狀況的行為" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 msgid "Keyboard" msgstr "鍵盤" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 msgid "Customize the keyboard shortcuts used by calibre" msgstr "自訂 calibre 使用的鍵盤捷徑鍵" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "雜項" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 msgid "Miscellaneous advanced configuration" msgstr "雜項進階組態" @@ -949,8 +949,8 @@ msgstr "開啟已經命名的外掛程式" msgid "Disable the named plugin" msgstr "關閉已經命名的外掛程式" -#: /home/kovid/work/calibre/src/calibre/db/backend.py:325 -#: /home/kovid/work/calibre/src/calibre/db/backend.py:334 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:327 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:336 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749 @@ -960,11 +960,22 @@ msgstr "關閉已經命名的外掛程式" msgid "Path to library too long. Must be less than %d characters." msgstr "書庫的路徑太長。必須少於 %d 字元。" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:154 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:395 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +msgid "restored preference " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 +msgid "creating custom column " +msgstr "建立自訂欄 " + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:175 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" @@ -976,26 +987,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "%(tt)s平均評等為 %(rating)3.1f" #: /home/kovid/work/calibre/src/calibre/db/fields.py:237 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206 msgid "Main" msgstr "主要" #: /home/kovid/work/calibre/src/calibre/db/fields.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208 msgid "Card A" msgstr "記憶卡 A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210 msgid "Card B" msgstr "記憶卡 B" #: /home/kovid/work/calibre/src/calibre/db/fields.py:484 #: /home/kovid/work/calibre/src/calibre/db/fields.py:499 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826 -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 @@ -1008,11 +1019,11 @@ msgstr "記憶卡 B" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:339 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:352 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:372 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "新聞" @@ -1020,14 +1031,14 @@ msgstr "新聞" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:312 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:577 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:570 msgid "checked" msgstr "已點選" #: /home/kovid/work/calibre/src/calibre/db/search.py:32 #: /home/kovid/work/calibre/src/calibre/db/search.py:310 #: /home/kovid/work/calibre/src/calibre/library/caches.py:135 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "是" @@ -1035,7 +1046,7 @@ msgstr "是" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:309 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:574 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "否" @@ -1043,45 +1054,70 @@ msgstr "否" #: /home/kovid/work/calibre/src/calibre/db/search.py:34 #: /home/kovid/work/calibre/src/calibre/db/search.py:311 #: /home/kovid/work/calibre/src/calibre/library/caches.py:137 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:576 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 msgid "unchecked" msgstr "未核取" #: /home/kovid/work/calibre/src/calibre/db/search.py:109 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:313 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 msgid "today" msgstr "今天" #: /home/kovid/work/calibre/src/calibre/db/search.py:110 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:314 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 msgid "yesterday" msgstr "昨天" #: /home/kovid/work/calibre/src/calibre/db/search.py:111 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:315 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 msgid "thismonth" msgstr "這個月" #: /home/kovid/work/calibre/src/calibre/db/search.py:112 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:316 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:317 msgid "daysago" msgstr "天前" +#: /home/kovid/work/calibre/src/calibre/db/search.py:198 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:374 +msgid "Number conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:204 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "Date conversion error: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:289 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +msgid "Non-numeric value in query: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/db/search.py:313 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:571 msgid "empty" msgstr "空的" #: /home/kovid/work/calibre/src/calibre/db/search.py:314 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 msgid "blank" msgstr "空白" #: /home/kovid/work/calibre/src/calibre/db/search.py:323 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:591 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 msgid "Invalid boolean query \"{0}\"" msgstr "無效的布林查詢「{0}」" +#: /home/kovid/work/calibre/src/calibre/db/search.py:355 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:501 +msgid "Invalid query format for colon-separated search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/search.py:469 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:650 +msgid "Recursive query group detected: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/debug.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "" @@ -1109,23 +1145,23 @@ msgstr "找不到名為 %s 的外掛程式" msgid "Communicate with Android phones." msgstr "和Android 為OS的電話交換資料" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204 msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "要傳送電子書到裝置主記憶體的目錄清單(以逗號分隔)。會使用第一個找到的目錄。" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324 msgid "Communicate with S60 phones." msgstr "與 S60 電話連接。" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343 msgid "Communicate with WebOS tablets." msgstr "與 WebOS 平板電腦連接。" @@ -1266,8 +1302,8 @@ msgstr "" "點選「顯示詳細資料」來查看清單。" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374 msgid "Catalog" msgstr "分類" @@ -1317,10 +1353,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1361,6 +1397,7 @@ msgstr "將書籍加入裝置的元數據清單..." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 msgid "Removing books from device..." @@ -1682,17 +1719,17 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Upload Black and White Covers" msgstr "上傳黑白封面" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show expired books" msgstr "顯示已逾期書籍" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "" "A bug in an earlier version left non kepubs book records in the database. " "With this option Calibre will show the expired records and allow you to " @@ -1700,12 +1737,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Show Previews" msgstr "顯示預覽" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 msgid "" "Kobo previews are included on the Touch and some other versions by default " "they are no longer displayed as there is no good reason to see them. Enable " @@ -1713,7 +1750,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246 msgid "Show Recommendations" msgstr "顯示建議" @@ -1725,7 +1762,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Attempt to support newer firmware" msgstr "嘗試支援新的韌體" @@ -1738,10 +1775,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587 msgid "Kobo database version unsupported - See details" msgstr "Kobo 資料庫版本不支援 - 請查閱詳細資料" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588 msgid "" "Your Kobo is running an updated firmware/database version. As calibre does " "not know about this updated firmware, database editing is disabled, to " @@ -1805,66 +1844,66 @@ msgstr "" "/>章節進度: %(chapter_progress)s%%
突顯: %(text)s
筆記: %(annotation)s

" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Specify a tags type column for automatic management" msgstr "指定自動管理的標籤類型欄位" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Create Bookshelves" msgstr "建立書櫃" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "如果在 Kobo Touch 中沒有書櫃則建立一個新的。這只對 V2.0.0 以後的韌體有用。" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "Delete Empty Bookshelves" msgstr "刪除空的書櫃" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "當同步結束時刪除 Kobo Touch 中空的書櫃。這只對 V2.0.0 以後的韌體有用。" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "Upload covers for books" msgstr "上傳書籍封面" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 msgid "" "Upload cover images from the calibre library when sending books to the " "device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Keep cover aspect ratio" msgstr "保留封面長寬比" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "" "When uploading covers, do not change the aspect ratio when resizing for the " "device. This is for firmware versions 2.3.1 and later." msgstr "上傳封面時,如果要依裝置改變尺寸不改變長寬比。這從韌體版本 2.3.1 以後才支援。" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "" "Kobo shows recommendations on the device. In some cases these have files " "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "Set Series information" msgstr "設定系列資訊" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251 msgid "" "The book lists on the Kobo devices can display series information. This is " "not read by the device from the sideloaded books. Series information can " @@ -1872,7 +1911,7 @@ msgid "" "Enable if you wish to set series information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "" "Kobo routinely updates the firmware and the database version. With this " "option Calibre will attempt to perform full read-write functionality - Here " @@ -1881,11 +1920,11 @@ msgid "" "and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262 msgid "Title to test when debugging" msgstr "除錯時要測試的書名" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263 msgid "" "Part of title of a book that can be used when doing some tests for " "debugging. The test is to see if the string is contained in the title of a " @@ -1905,55 +1944,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink" msgstr "與 Sweex/Kogan/Q600/Wink 連接" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107 msgid "Communicate with the Pandigital Novel" msgstr "與 Pandigital Novel 連接" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126 msgid "Communicate with the VelocityMicro" msgstr "與 VelocityMicro 連接" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144 msgid "Communicate with the GM2000" msgstr "與 GM2000 連接" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164 msgid "Communicate with the Acer Lumiread" msgstr "與 Acer Lumiread 連接" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198 msgid "Communicate with the Aluratek Color" msgstr "與 Aluratek Color 連接" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" msgstr "與 Trekstor 連接" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246 msgid "Communicate with the EEE Reader" msgstr "與 EEE Reader 連接" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267 msgid "Communicate with the Adam tablet" msgstr "與 Adam 平板電腦連接" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288 msgid "Communicate with the Nextbook Reader" msgstr "與 Nextbook Reader 連接" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340 msgid "Communicate with the Moovybook Reader" msgstr "與 Moovybook 閱讀器連接" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362 msgid "Communicate with the COBY" msgstr "與 COBY 連接" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388 msgid "Communicate with the Ex124G" msgstr "與 Ex124G 連接" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415 msgid "Communicate with the WayteQ and SPC Dickens Readers" msgstr "" @@ -2078,7 +2117,7 @@ msgstr "The Nook" msgid "Communicate with the Nook eBook reader." msgstr "與 the Nook eBook 閱讀器連接。" -#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." msgstr "與 Nook Color、 TSR 與 Tablet 電子書閱讀器連接。" @@ -2570,7 +2609,7 @@ msgid "There is insufficient free space on the storage card" msgstr "記憶卡可用空間不足" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274 #, python-format msgid "Rendered %s" msgstr "繪製 %s" @@ -2911,23 +2950,23 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "CSS file used for the output instead of the default file" msgstr "代替預設檔案用於輸出的 CSS 檔案" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "代替預設檔案用於 html 索引檔案產生的範本" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "用來代替預設檔案產生書籍的 html 內容範本" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." @@ -3225,15 +3264,19 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 +#, python-format msgid "" -"An HTML template used to generate footers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +"An HTML template used to generate %s on every page. The strings _PAGENUM_, " +"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108 +msgid "footers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111 -msgid "" -"An HTML template used to generate headers on every page. The string " -"_PAGENUM_ will be replaced by the current page number." +msgid "headers" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 @@ -4238,7 +4281,7 @@ msgstr "從 LRF 檔案解開封面。請注意 LRF 尚未定義封面,因此 msgid "Set book ID" msgstr "設定書籍 ID" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." @@ -4262,27 +4305,27 @@ msgstr "否" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" msgstr "書名" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "作者" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 msgid "Publisher" msgstr "出版社" @@ -4318,13 +4361,14 @@ msgstr "評論" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801 msgid "Tags" msgstr "標籤" @@ -4333,9 +4377,10 @@ msgstr "標籤" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 @@ -4344,7 +4389,7 @@ msgid_plural "Series" msgstr[0] "系列" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 msgid "Languages" @@ -4356,8 +4401,8 @@ msgstr "時間戳記" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" msgstr "發佈於" @@ -4483,60 +4528,60 @@ msgstr "" "\n" "從 LibraryThing.com 以 ISBN 辨識書籍並取回封面圖片/社交網路元數據\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 msgid "Cover" msgstr "封面" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518 msgid "Downloads metadata and covers from Amazon" msgstr "從 Amazon 下載元數據和封面" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 msgid "US" msgstr "TW" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 msgid "France" msgstr "法國" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 msgid "Germany" msgstr "德國" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "UK" msgstr "英國(UK)" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532 msgid "Italy" msgstr "義大利" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533 msgid "Japan" msgstr "日文" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534 msgid "Spain" msgstr "西班牙文" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 msgid "Brazil" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539 msgid "Amazon website to use:" msgstr "要使用的 Amazon 網站:" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540 msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "從 Amazon 取得的元數據會使用那個國家的 Amazon 網站。" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790 msgid "Amazon timed out. Try again later." msgstr "Amazon 已逾時。請稍後再試。" @@ -4544,13 +4589,31 @@ msgstr "Amazon 已逾時。請稍後再試。" msgid "Metadata source" msgstr "元數據來源" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31 +msgid "" +"Downloads multiple book covers from Amazon. Useful to find alternate covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33 +msgid "Configure the Big Book Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22 +msgid "Maximum number of covers to get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36 +msgid "The maximum number of covers to process from the search result" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155 msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "從 Douban.com 下載元數據和封面。只對中文書籍比較有用。" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167 msgid "" "Downloads metadata and covers from Edelweiss - A catalog updated by book " "publishers" @@ -4560,6 +4623,47 @@ msgstr "" msgid "Downloads metadata and covers from Google Books" msgstr "從 Google 圖書下載元數據和封面" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18 +msgid "" +"Downloads covers from a Google Image search. Useful to find larger/alternate " +"covers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20 +msgid "Configure the Google Image Search plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23 +msgid "The maximum number of covers to process from the google search result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24 +msgid "Cover size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25 +msgid "Search for covers larger than the specified size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27 +msgid "Any size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 +msgid "Large" +msgstr "大" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34 +#, python-format +msgid "Larger than %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" msgstr "從 isbndb.com 下載元數據" @@ -4621,12 +4725,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "這是 Amazon Topaz 書籍。它是無法被處理的。" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624 msgid "This is not a MOBI file. It is a Topaz file." msgstr "這不是 MOBI 檔案。它是 Topaz 檔案。" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 msgid "This is not a MOBI file." msgstr "這不是 MOBI 檔案。" @@ -4655,72 +4759,72 @@ msgid "No details available" msgstr "無可取得的詳情" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" msgstr "目錄" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 msgid "Title Page" msgstr "標題頁" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301 msgid "Index" msgstr "索引" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302 msgid "Glossary" msgstr "辭彙" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303 msgid "Acknowledgements" msgstr "致謝" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304 msgid "Bibliography" msgstr "參考書目" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305 msgid "Colophon" msgstr "版權頁" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306 msgid "Copyright" msgstr "版權所有" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307 msgid "Dedication" msgstr "呈獻" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308 msgid "Epigraph" msgstr "題辭" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309 msgid "Foreword" msgstr "序" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 msgid "List of Illustrations" msgstr "插圖的清單" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 msgid "List of Tables" msgstr "表格的清單" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 msgid "Notes" msgstr "備註" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 msgid "Preface" msgstr "序" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Main Text" msgstr "主文" @@ -4729,14 +4833,14 @@ msgstr "主文" msgid "%s format books are not supported" msgstr "%s 格式的電子書尚未支援" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637 msgid "" "This MOBI file does not contain a KF8 format book. KF8 is the new format " "from Amazon. calibre can only edit MOBI files that contain KF8 books. Older " "MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643 msgid "" "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit " "MOBI files that contain only KF8 data." @@ -4761,12 +4865,12 @@ msgid "" "\n" "

You should use this tool as the last step in your ebook creation " "process.

\n" -"\n" -"

Note that polishing only works on files in the %s formats.

\n" +"{0}\n" +"

Note that polishing only works on files in the %s formats.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4799,7 +4903,7 @@ msgstr "" msgid "" "

Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.

" +"etc. Any previous book jacket will be replaced.

" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4924,9 +5028,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4942,11 +5046,11 @@ msgid "HTML TOC generation options." msgstr "HTML 目錄頁產生選項。" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "評等" @@ -4989,6 +5093,10 @@ msgstr "第 %d 頁" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "找不到 pdftohtml,請檢查您的 PATH 是否有它" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5143,7 +5251,7 @@ msgid "Show this confirmation again" msgstr "再次顯示這個確認" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "需要重新啟動" @@ -5265,12 +5373,12 @@ msgstr "控制書籍的加入" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5347,8 +5455,8 @@ msgstr "加入書庫" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5469,7 +5577,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "選擇 %(title)s.%(fmt)s 的目的端" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5517,7 +5625,7 @@ msgid "No existing calibre library found at %s" msgstr "在 %s 不到現有的 calibre 書庫" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "選擇書庫" @@ -5531,7 +5639,7 @@ msgstr "切換/建立書庫..." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5543,12 +5651,12 @@ msgid "Pick a random book" msgstr "隨機選書" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "快速切換" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "重新命名書庫" @@ -5689,7 +5797,7 @@ msgid "" msgstr "在您的 calibre 書庫資料庫中找不到錯誤。您想要檢查書庫中的檔案是否與資料庫相符嗎?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5717,7 +5825,7 @@ msgstr "您書庫中的檔案符合資料庫中的資訊。" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5758,7 +5866,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "在您的 calibre 書庫中建立書籍的分類" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "不能轉換" @@ -5771,96 +5879,109 @@ msgstr "正在開始 %d 本書的轉換" msgid "Empty output file, probably the conversion process crashed" msgstr "空的輸出檔案,可能是轉換程序當機了" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "%(title)s / %(author)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "選擇書庫" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "複製到書庫" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "將選擇的書籍複製到指定的書庫" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "(複製後刪除)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "不能複製" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "沒有書庫" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "在 %s 找不到書庫" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "已複製 %(num)d 本書到 %(loc)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "無法複製書籍: " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "自動合併" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "有些書籍會自動合併到目標書庫現有的紀錄中。點選顯示詳細資料以查看是哪些書。這個行為是由偏好設定->加入書籍中的自動合併選項控制的。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5879,6 +6000,7 @@ msgstr "當使用環境變數 CALIBRE_OVERRIDE_DATABASE_PATH 時您不能使用 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "您確定嗎?" @@ -5953,76 +6075,78 @@ msgid "" "you sure?" msgstr "%(fmt)s 格式會從 %(title)s永久刪除。您確定嗎?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "選擇要刪除的格式" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.

Note that this will never remove " "all formats from a book." msgstr "選擇 不要 刪除的格式。

注意這不會移除書籍全部的格式。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.
The book metadata will be kept. Are you sure?" msgstr "選取書籍的全部格式都會被從書庫中刪除
書籍的元數據會被保留。您確定嗎?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "不能刪除書籍" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "沒有連線中的裝置" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "主記憶體" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "記憶卡 A" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "記憶卡 A" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "沒有要刪除的書籍" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "裝置上沒有任何選取的書籍" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "正在從裝置中刪除書籍。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "選取的書籍中有部分是在連接的裝置上。您想要從哪裡刪除選取的檔案?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" -msgstr "選取的書籍會被永遠刪除並且移除您 calibre 書庫中的檔案。您確定嗎?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" -msgstr "選取的書籍會從您的裝置永遠刪除您確定嗎?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 msgid "Start wireless device connection" @@ -6097,12 +6221,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "停止" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "正在停止伺服器,這可能要花上一分鐘,請稍候..." @@ -6186,8 +6310,8 @@ msgstr "無法下載元數據" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "下載失敗" @@ -6223,7 +6347,7 @@ msgid "Download complete" msgstr "下載完成" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "下載紀錄" @@ -6302,15 +6426,15 @@ msgstr "" "將不會被合併。

在合併之後,第二本以後選取的書籍都會被刪除

第一本選取書籍的所有格式都會被保留," "而第二本以後選取的書籍中任何重複的格式都會被永遠自您的 calibre 書庫刪除

確定要繼續嗎?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "套用變更後的元數據" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "某些錯誤" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6415,17 +6539,28 @@ msgstr "" msgid "

About Polishing books

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41 +msgid "" +"

If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "

Subsetting fonts

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51 #, python-format msgid "

Smarten punctuation

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53 msgid "" "

Updating metadata

This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6434,185 +6569,196 @@ msgid "" "cover.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "

Update the covers in the ebook files to match the current cover in the " "calibre library.

If the ebook file does not have an identifiable " "cover, a new cover is inserted.

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "

Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 #, python-format msgid "

Remove Book Jacket

%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 msgid "Select actions to perform:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249 msgid "&Subset all embedded fonts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "Smarten &punctuation" msgstr "智慧型標點符號(&P)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80 msgid "Update &metadata in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81 msgid "Update the &cover in the book files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82 msgid "Add metadata as a \"book &jacket\" page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83 msgid "&Remove a previously inserted book jacket" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93 msgid "About" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112 msgid "Show &report" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 msgid "" "Show a report of all the actions performed after polishing is completed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120 msgid "&Save Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122 msgid "&Load Settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47 msgid "Select &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49 msgid "Select &none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 msgid "No actions selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144 msgid "You must select at least one action before saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71 msgid "Choose name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72 msgid "Choose a name for these settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90 msgid "Remove saved settings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208 +msgid "Must update metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209 +msgid "" +"You have selected the option to add metadata as a \"book jacket\". For this " +"option to work, you must also select the option to update metadata in the " +"book files. Do you want to select it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218 msgid "You must select at least one action, or click Cancel." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232 msgid "Queueing books for polishing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276 #, python-format msgid "Polish %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277 #, python-format msgid "Polish book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281 #, python-format msgid "Queueing book %(nums)s of %(tot)s (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307 #, python-format msgid "Ignore remaining %d reports" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314 msgid "View full &log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337 #, python-format msgid "Polishing of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343 #, python-format msgid "The original file has been saved as %s." msgid_plural "The original files have been saved as %s." msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345 msgid " and " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348 msgid "If you polish again, the polishing will run on the originals." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383 msgid "Polish books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "Apply the shine of perfection to your books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384 msgid "P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443 msgid "Cannot polish" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444 #, python-format msgid "" "Polishing is only supported for books in the %s formats. Convert to one of " "those formats before polishing." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472 #, python-format msgid "Start polishing of %d book(s)" msgstr "" @@ -6729,7 +6875,7 @@ msgid "Click the show details button to see which ones." msgstr "點選顯示詳細資料按鈕" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806 msgid "Show book details" msgstr "顯示書籍詳細資料" @@ -6834,7 +6980,7 @@ msgid "this book" msgstr "這本書籍" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494 #, python-format msgid "Search for %s" msgstr "搜尋 %s" @@ -6846,30 +6992,30 @@ msgstr "商店" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314 msgid "Choose stores" msgstr "選擇商店" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 msgid "Cannot search" msgstr "不能搜尋" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "Calibre 可以協助您尋要電子書,它會為您搜尋網站上各種商業或公眾領域的書籍來源。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" "Using the integrated search you can easily find which store has the book you " "are looking for, at the best price. You also get DRM status and other useful " "information." msgstr "使用這項整合式搜尋您可以輕易的找到哪間商店有您在找的書籍,以及最便宜的價格。您也可以取得 DRM 狀態與其他有用的資訊。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 msgid "" "All transactions (paid or otherwise) are handled between you and the book " "seller. Calibre is not part of this process and any issues related to a " @@ -6879,11 +7025,11 @@ msgid "" "ebook.com/about#drm\">DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 msgid "Show this message again" msgstr "再次顯示這個訊息" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" msgstr "關於取得書籍" @@ -7150,7 +7296,7 @@ msgid "The specified directory could not be processed." msgstr "指定的目錄無法處理。" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144 msgid "No books" msgstr "沒有書籍" @@ -7364,7 +7510,7 @@ msgid "Click to open" msgstr "按一下來開啟" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861 msgid "Ids" msgstr "Ids" @@ -7374,7 +7520,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "%(series)s 的書籍 %(sidx)s" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 msgid "Collections" msgstr "藏書" @@ -7408,16 +7554,25 @@ msgstr "路徑" msgid "Cover size: %(width)d x %(height)d" msgstr "封面大小: %(width)d x %(height)d" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487 +msgid "&Copy Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502 #, python-format msgid "Delete the %s format" msgstr "刪除 %s 格式" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503 #, python-format msgid "Save the %s format to disk" msgstr "儲存 %s 格式至磁碟" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504 +#, python-format +msgid "Restore the %s format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "BibTeX 選項" @@ -7485,7 +7640,7 @@ msgstr "輸出" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145 @@ -7678,7 +7833,7 @@ msgstr "True" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Name" msgstr "名稱" @@ -8018,8 +8173,8 @@ msgid "Style the selected text block" msgstr "選取的文字區塊樣式" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Normal" msgstr "一般" @@ -8948,59 +9103,63 @@ msgstr "不使用圖片(&I)" msgid "PDF Output" msgstr "PDF 輸出" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140 msgid "" "Note: The paper size settings below only take effect if you enable " "the \"Override\" checkbox below. Otherwise the size from the output profile " "will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141 msgid "&Override paper size set in output profile" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142 msgid "&Paper Size:" msgstr "紙張大小(&P):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143 msgid "&Custom size:" msgstr "自訂大小(&C):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144 msgid "&Unit:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145 msgid "Preserve &aspect ratio of cover" msgstr "保留封面長寬比(&A)" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146 +msgid "Add page &numbers to the bottom of every page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392 msgid "Se&rif family:" msgstr "襯線字族(&R):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393 msgid "&Sans family:" msgstr "無襯線字族(&S):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394 msgid "&Monospace family:" msgstr "等寬字型族系(&M):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 msgid "S&tandard font:" msgstr "標準字型(&T):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151 msgid "Default font si&ze:" msgstr "預設字型大小(&Z):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398 @@ -9012,13 +9171,29 @@ msgstr "預設字型大小(&Z):" msgid " px" msgstr " px" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397 msgid "Monospace &font size:" msgstr "等寬字型大小(&F):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132 -msgid "Add page &numbers to the bottom of every page" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155 +msgid "Page headers and footers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156 +msgid "" +"You can insert headers and footers into every page of the produced PDF file " +"by using header and footer templates. For examples, see the documentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157 +msgid "&Header template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158 +msgid "&Footer template:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 @@ -9259,6 +9434,10 @@ msgid "" "Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "轉換" @@ -9835,7 +10014,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "偵測到 %s。您想要 calibre 管理它嗎?" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "沒有合適的格式" @@ -9881,81 +10060,81 @@ msgstr "裝置: " msgid " detected." msgstr " 被偵測到。" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "選擇要傳送的項目" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "沒有裝置" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "尚未連接裝置" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "%(total)i 本書中的 %(num)i" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "0 / %i 本書" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "選擇要傳送到裝置的格式" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "不能傳送:沒有連線中的裝置" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "沒有記憶卡" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "不能傳送:裝置沒有記憶卡" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "是否在上傳到裝置前自動轉換下列書籍?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "正在傳送分類到裝置。" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "正在傳送新聞到裝置。" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "正在傳送書籍到裝置。" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "無法上傳下列書籍到裝置,因為找不到適合的格式。請先將書籍轉換為您的裝置支援的格式。" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "裝置上已無空間" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "

不能上傳書籍到裝置,因為已無更多可用空間 " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "不正確的目的地" @@ -10124,7 +10303,7 @@ msgstr "顯示裝置資訊" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10641,13 +10820,13 @@ msgid "Where do you want to delete from?" msgstr "您想要從哪裡刪除?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "書庫" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "裝置" @@ -10681,8 +10860,8 @@ msgid "Location" msgstr "位置" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10701,13 +10880,13 @@ msgstr "%(curr)s (原本是 %(initial)s)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "項目是空的" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "項目不能設為沒有。請刪除它來代替。" @@ -10810,7 +10989,7 @@ msgstr "連結" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "未發現符合項目" @@ -10858,12 +11037,12 @@ msgid "Copy to author" msgstr "複製到作者" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "無效的作者姓名" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "作者姓名不能包含 & 字元。" @@ -10961,40 +11140,40 @@ msgstr "隱藏所有的工作(&H)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "複製到剪貼簿(&C)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "顯示詳細資料(&D)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "隱藏詳細資料(&D)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "顯示關於這個錯誤的詳細資料" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "已複製" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "檢視記錄" @@ -11887,6 +12066,7 @@ msgstr "正在中止..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11922,12 +12102,12 @@ msgstr "項目" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "搜尋" @@ -12503,12 +12683,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "連接埠編號必須介於 8000 與 32000 之間。" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "啟動無線裝置有問題" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "無線裝置驅動程式尚未啟動。它回應「%s」" @@ -12565,6 +12745,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "c&alibre 啟動時自動允許連線" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "出版商" @@ -12579,6 +12760,7 @@ msgstr "分類查詢名稱: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "無效的名稱" @@ -13464,7 +13646,7 @@ msgid "&Shortcut:" msgstr "捷徑(&S):" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "完成" @@ -13508,7 +13690,7 @@ msgstr "以名稱搜尋捷徑鍵" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "找不到符合項" @@ -13518,66 +13700,70 @@ msgstr "找不到符合項" msgid "Could not find any shortcuts matching %s" msgstr "找不到任何符合 %s 的捷徑鍵" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "退出這個裝置" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "設定這個裝置" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "顯示 calibre 書庫中的書籍" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "顯示在裝置主記憶體中的書籍" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "顯示在儲存卡 A 中的書籍" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "顯示在儲存卡 B 中的書籍" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "刪除書庫" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "可用" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "進階搜尋" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "Shift+Ctrl+F" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "

Search the list of books by title, author, publisher, tags, comments, " "etc.

Words separated by spaces are ANDed" msgstr "

以書名、作者、出版商、標籤、評論等等搜尋書籍清單。

以空白分隔的字為 AND" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "開始(&G)!" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "進行快速搜尋(您也可以按 Enter 鍵)" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "重設快速搜尋" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "複製目前的搜尋文字(代替搜尋名稱)" @@ -13590,32 +13776,32 @@ msgstr "顆星" msgid "Y" msgstr "Y" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "在裝置" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "大小 (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "已修改" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "尋找/搜尋的名稱是「{0}」" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "這本書的 UUID 為「{0}」" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13624,30 +13810,30 @@ msgid "" "program?" msgstr "無法改變這本書的磁碟位置。它是否被其他程式開啟了?" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "無法設定資料" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "無法設定資料,點選顯示詳細資料以查看為什麼。" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "於書庫" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "大小" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "標記成要刪除" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me

" msgstr "請雙擊以編輯

" @@ -13752,7 +13938,7 @@ msgid "Previous Page" msgstr "上一頁" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -14257,7 +14443,7 @@ msgid "Edit Metadata" msgstr "編輯元數據" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14404,15 +14590,15 @@ msgstr "評論(&C)" msgid "Basic metadata" msgstr "基本元數據" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "具有封面" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "具有摘要" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14420,27 +14606,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "查看:" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "calibre 正下載元數據於: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "請稍候" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "查詢: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "無法下載元數據。點選顯示詳細資料來查看詳細資料" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14449,38 +14635,44 @@ msgid "" msgstr "" "找不到任何符合您的搜尋的書籍。試著把搜尋條件放寬。例如,只使用作者的姓氐和書名中的單一個字詞。

要查看完整紀錄,請選點顯示詳細資料。" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "目前的封面" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "搜尋中…" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "正在下載 %s 的封面,請稍候..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "無法下載任何封面,點選「顯示詳細資料」以查看詳細資料。" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "找不任何 %s 的封面" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." -msgstr "找到 %(title)s 的 %(num)d 個封面。請挑一個您最喜歡的。" +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "下載元數據..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "正在下載封面..." @@ -14621,8 +14813,9 @@ msgid "The Add &Process" msgstr "加入程序(&P)" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " -msgstr "自動加入時忽略具有以下延伸檔名的檔案 " +msgid "" +"Ignore files with the following extensions when automatically adding " +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 msgid "" @@ -14664,34 +14857,34 @@ msgstr "自動將加入的檔案轉換為目前的輸出格式(&C)" msgid "&Automatic Adding" msgstr "自動加入(&A)" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "高" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "低" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "非常低" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "精簡元數據" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "預設值" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "全部於 1 個分頁" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "確認對話盒已全部重設" @@ -14742,15 +14935,15 @@ msgid "Job &priority:" msgstr "工作優先權(&P):" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" -msgstr "當目前的書庫開啟時套用限制:" +msgid "Virtual library to apply when the current library is opened:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " -msgstr "如果目前的書庫在使用中,於 calibre 啟動時套用這個限制。同時在切換到這個書庫時也進行套用。注意這個設定值是每個書庫分開的。 " +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170 msgid "Edit metadata (single) layout:" @@ -15676,10 +15869,6 @@ msgstr "關閉" msgid "Small" msgstr "小" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "大" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "中" @@ -15697,7 +15886,7 @@ msgid "Never" msgstr "永不" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "依第一個字母" @@ -16682,20 +16871,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "啟動內容伺服器失敗" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "錯誤紀錄檔:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "存取紀錄檔:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "您需要重新啟動伺服器才能讓變更生效" @@ -16728,18 +16917,18 @@ msgid "Max. &OPDS items per query:" msgstr "每次查詢最大 &OPDS 項目:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" -msgstr "最大 OPDS 未群組項目(&U):" +msgid "Max. &ungrouped items:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" -msgstr "要套用的限制(已儲存搜尋):" +msgid "Virtual library to apply:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -17115,83 +17304,233 @@ msgstr "還原預設值(&D)" msgid "Apply any changes you made to this tweak" msgstr "套用您對這個調整進行的任何變更" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" +msgstr "建立已儲存搜尋" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 msgid "Delete current search" msgstr "刪除目前的搜尋" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 msgid "No search is selected" msgstr "尚未選擇搜尋" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "目前選取的搜尋會永遠刪除。您確定嗎?" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "搜尋(要使用進階搜尋請按左邊的按鈕)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "開始搜尋" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "啟用或停用搜尋突顯。" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "已儲存搜尋" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "選擇已儲存搜尋或輸入新已儲存搜尋的名稱" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "以下列方塊中顯示的名稱儲存目前的搜尋。按住以顯示彈出式選項選單。" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "建立已儲存搜尋" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "刪除已儲存搜尋" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "管理已儲存搜尋" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" -msgstr "*目前的搜尋" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" -msgstr "限制為" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"

Virtual Libraries

\n" +"\n" +"

Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.

\n" +"\n" +"

For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.

\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:311 +msgid "" +"Use a \"virtual library\" to show only a subset of the books present in this " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:574 msgid "(all books)" msgstr "(所有書本)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 -msgid "" -"Books display will be restricted to those matching a selected saved search" -msgstr "書籍的顯示會限制在符合選取的已儲存搜尋" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:317 +msgid "Additional restriction" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 -msgid " or the search " -msgstr " 或搜尋 " +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:318 +msgid "Edit Virtual Library" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:319 +msgid "Remove Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:342 +msgid "Create Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:494 +msgid "*current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:402 +msgid "No search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:403 +msgid "There is no current search to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:451 +msgid "Are you sure you want to remove the virtual library {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:569 msgid "({0} of {1})" msgstr "({0} / {1})" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:576 msgid "({0} of all)" msgstr "(全部的 {0})" @@ -17467,32 +17806,32 @@ msgstr "下載..." msgid "Goto in store..." msgstr "進入商店..." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:132 #, python-format msgid "Buying from this store supports the calibre developer: %s

" msgstr "從這間支援 calibre 開發的商店購買:%s

" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:181 msgid "No query" msgstr "沒有查詢" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:182 msgid "You must enter a title, author or keyword to search for." msgstr "您必須輸入要搜尋的書名、作者或關鍵字。" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:305 msgid "Customize get books search" msgstr "自訂取得書籍搜尋" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:315 msgid "Configure search" msgstr "設定搜尋" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "Couldn't find any books matching your query." msgstr "找不到任何書籍符合您的查詢。" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:379 msgid "Choose format to download to your library." msgstr "選擇要下載到您書庫的格式。" @@ -17612,46 +17951,46 @@ msgstr "重新載入" msgid "%p%" msgstr "%p%" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:327 msgid "The grouped search term name is \"{0}\"" msgstr "群組搜尋字詞名稱為「{0}」" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:791 msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "改變多本書籍的作者會花上一些時間。您確定嗎?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:796 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "改變許多書籍的元數據會花上一些時間。您確定嗎?" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:481 msgid "Searches" msgstr "搜尋" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:965 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:985 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:989 msgid "Rename user category" msgstr "重新命名使用者分類" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:961 msgid "You cannot use periods in the name when renaming user categories" msgstr "在重新命名使用者分類時不能在名稱使用句點" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:986 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:990 #, python-format msgid "The name %s is already used" msgstr "這個名稱 %s 已經使用了" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 msgid "Duplicate search name" msgstr "重複的搜尋名稱" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 #, python-format msgid "The saved search name %s is already used." msgstr "已儲存搜尋名稱 %s 已經使用了。" @@ -17673,13 +18012,13 @@ msgid "Manage Tags" msgstr "管理標籤" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:572 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:576 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:580 msgid "Manage User Categories" msgstr "管理使用者分類" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:558 msgid "Manage Saved Searches" msgstr "管理已儲存的搜尋" @@ -17778,7 +18117,7 @@ msgid "Alter Tag Browser" msgstr "替代標籤瀏覽器" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:399 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:278 msgid "Sort by" msgstr "排序依" @@ -17817,138 +18156,138 @@ msgid "" "the tag browser above" msgstr "這些 category_managers 全部都可以在上面的標籤瀏覽器的項目中按右鍵取得" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:300 #, python-format msgid "Change Icon for: %s" msgstr "變更圖示:%s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:507 #, python-format msgid "Rename %s" msgstr "重新命名 %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:444 #, python-format msgid "Delete %s" msgstr "刪除 %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:448 #, python-format msgid "Edit sort for %s" msgstr "編輯 %s 的排序" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:451 #, python-format msgid "Edit link for %s" msgstr "編輯 %s 的連結" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:458 #, python-format msgid "Add %s to user category" msgstr "加入 %s 到使用者分類" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:471 #, python-format msgid "Children of %s" msgstr "%s 的子項" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:481 #, python-format msgid "Delete search %s" msgstr "刪除搜尋 %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:486 #, python-format msgid "Remove %(item)s from category %(cat)s" msgstr "從分類 %(cat)s 移除 %(item)s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 #, python-format msgid "Search for everything but %s" msgstr "搜尋 %s 以外的項目" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:511 #, python-format msgid "Add sub-category to %s" msgstr "加入子分類到 %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:515 #, python-format msgid "Delete user category %s" msgstr "刪除使用者分類 %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:520 #, python-format msgid "Hide category %s" msgstr "隱藏分類 %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:524 msgid "Show category" msgstr "顯示所有的分類" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:534 #, python-format msgid "Search for books in category %s" msgstr "搜尋分類 %s 的書籍" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:540 #, python-format msgid "Search for books not in category %s" msgstr "搜尋不在分類 %s 中的書籍" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:555 #, python-format msgid "Manage %s" msgstr "管理 %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:563 msgid "Change category icon" msgstr "變更分類圖示" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:565 msgid "Restore default icon" msgstr "還原預設圖示" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:583 msgid "Show all categories" msgstr "顯示所有的分類" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:587 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:588 msgid "Disable" msgstr "停用" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:592 msgid "Partition" msgstr "分區" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:607 msgid "First letter is usable only when sorting by name" msgstr "第一個字母只用於依名稱排序時" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 msgid "Search for text..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:136 msgid "Find &next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:139 msgid "Find &previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "" "Here you can choose a destination for the Table of Contents' entry to point " "to. First choose a file from the book in the left-most panel. The file will " @@ -17959,56 +18298,56 @@ msgid "" "when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "" "No matches for %(text)s found in the current file [%(current)s]. Do you want " "to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -18050,73 +18389,84 @@ msgstr "" msgid "The XPath expression %s is not valid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:147 msgid "" "You can edit existing entries in the Table of Contents by clicking them in " "the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:149 msgid "" "Entries with a green tick next to them point to a location that has been " "verified to exist. Entries with a red dot are broken and may need to be " "fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:157 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:162 msgid "Generate ToC from &major headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:165 msgid "" "Generate a Table of Contents from the major headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " "

,

and

tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169 msgid "Generate ToC from &all headings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172 msgid "" "Generate a Table of Contents from all the headings in the book. This will " "work if the book identifies its headings using HTML heading tags. Uses the " " tags." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:177 msgid "Generate ToC from &links" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:180 msgid "" "Generate a Table of Contents from all the links in the book. Links that " "point to destinations that do not exist in the book are ignored. Also " "multiple links with the same destination or the same text are ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:186 -msgid "Generate ToC from &XPath" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:187 +msgid "Generate ToC from &files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:189 -msgid "Generate a Table of Contents from arbitrary XPath expressions." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:193 -msgid "Flatten the ToC" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:190 +msgid "" +"Generate a Table of Contents from individual files in the book. Each entry " +"in the ToC will point to the start of the file, the text of the entry will " +"be the \"first line\" of text from the file." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:196 +msgid "Generate ToC from &XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:199 +msgid "Generate a Table of Contents from arbitrary XPath expressions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:203 +msgid "&Flatten the ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:206 msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "" "WARNING: calibre only supports the creation of linear ToCs in AZW3 " "files. In a linear ToC every entry must point to a location after the " @@ -18124,134 +18474,179 @@ msgid "" "arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "" "You can move this entry around the Table of Contents by drag and drop or " "using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "" "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:369 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 +#, python-format +msgid "Move \"%s\" up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 +#, python-format +msgid "Move \"%s\" down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 +msgid "Change all selected items to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +msgid "Move current entry up [Ctrl+Up]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +msgid "Unindent the current entry [Ctrl+Left]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:381 -msgid "Move current entry down" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 +msgid "Move current entry down [Ctrl+Down]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:636 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 +msgid "No files were found that could be added to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -18330,31 +18725,31 @@ msgid "" "reconvert them?" msgstr "下列書籍已經被轉換為 %s 格式。您希望重新轉換它們嗎?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "捐款支援 calibre (&D)" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "還原(&R)" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "退出已連線的裝置(&E)" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "結束 calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "清除目前的搜尋" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "除錯模式" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "" "You have started calibre in debug mode. After you quit calibre, the debug " @@ -18362,11 +18757,11 @@ msgid "" "automatically." msgstr "您已經以除錯模式啟動 calibre。在您結束 calibre 後,除錯紀錄會儲存到檔案:%s

紀錄檔會自動顯示。" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "無法啟動內容伺服器" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18385,16 +18780,16 @@ msgid "" "successful." msgstr "位於 %s 的書庫資料庫似乎損壞了。您想要 calibre 自動試著重建它嗎?重建不一定能完全成功。" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "轉換時發生錯誤" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "

Failed to convert: %s" msgstr "

無法轉換:%s" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18417,23 +18812,23 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "轉換失敗" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "食譜已停用" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "失敗" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "還有使用中的工作。您確定要結束?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" @@ -18443,11 +18838,11 @@ msgstr "" " 現在結束可能造成裝置上的損毀。
\n" " 您確定要結束?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "使用中工作" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18992,29 +19387,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "用 Googl&e 搜尋「%s」" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "放大(&I)" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "縮小(&O)" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "另存為(&S)" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "旋轉(&R)" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "選擇要儲存的檔案" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "檢視影像:%s" @@ -20302,44 +20697,44 @@ msgid "" "to do no filtering." msgstr "以搜尋的查詢來過濾結果。要了解搜尋的查詢格式,請參閱使用者手冊中的搜尋相關文件。預設值為不做任何過濾。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "輸出中單一行的最大寬度。預設值為偵測螢幕大小。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "用來分離欄位的字串。預設為空白。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "所有檔案路徑的前綴。預設值為書庫資料夾的絕對路徑。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "無效的欄位。可用的欄位:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "無效的排序欄位。可用的欄位:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "下列書籍無法加入,因為它們已經在資料庫中(請看 --duplicates 選項):" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -20352,59 +20747,59 @@ msgstr "" "將指定的檔案加入資料庫成為書籍。您也可以指定目錄,\n" "請看下列的目錄相關選項。\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "假定每個目錄只有一本書,而在其中的所有檔案都是那本書的不同電子書格式" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "循環處理目錄" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "即使書籍已在資料庫中仍將它加入。比對的方式是以書名為基礎。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "加入空的電子書(沒有格式的書籍)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "您必須至少指定一個要加入的檔案" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20415,28 +20810,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "您必須至少指定一個要移除的書籍" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "您必須至少指定一個 id 和電子書檔案" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "電子書檔案必須有延伸檔名" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20446,11 +20851,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "您必須指定 id 和格式" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20465,15 +20870,15 @@ msgstr "" "顯示以 id 指定的書籍在 calibre 資料庫中儲存的元數據。\n" "id 是以 list 指令取得的 id 號碼。\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "以 OPF 格式顯示元數據 (XML)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "您必須指定 id" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20488,7 +20893,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20498,40 +20903,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20547,28 +20952,28 @@ msgstr "" "匯出的動作會儲存書籍的所有格式、封面和元數據(在\n" "opf 檔案中)。您可以用 list 指令取得 id 編號。\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "匯出資料庫中所有的書籍,略過清單上的 id。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "將書籍匯出到指定的目錄。預設值為" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "將所有書籍匯出到單一目錄" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "指定這個開關會關閉這個行為。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "您必須指定一些 id 或 %s 選項" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20579,13 +20984,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "這個欄儲存類似標籤的資料(例如多個逗號分隔的數值)。只有在資料類型為文字時套用。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20605,11 +21010,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "您必須指定標籤、名稱和資料類型" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20620,7 +21025,7 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" @@ -20630,23 +21035,23 @@ msgstr "" "如果宣告了,會忽略 --search。\n" "預設值:all" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "顯示詳細的輸出資訊。除錯時很有用" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "錯誤:您必須指定分類輸出檔案" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20658,17 +21063,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "如果欄儲存多重數值,將指定數值加入現有的裡面,而非取代它們。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "錯誤:您必須指定欄位名稱、id 和數值" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20677,27 +21082,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "顯示每一欄的詳細資料。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "y" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20707,15 +21112,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "不要詢問確認" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "錯誤:您必須指定欄標籤" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20728,40 +21133,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "錯誤:您必須指定動作 (add|remove|list)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "名稱:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "搜尋字串:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "錯誤:您必須指定名稱與搜尋字串" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "已加入" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "錯誤:您必須指定一個名稱" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "已移除" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "錯誤:動作 %s 無法辨識,必須為 (add|remove|list) 其中之一" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20775,13 +21180,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20789,12 +21194,12 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "輸出為 CSV" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" @@ -20802,7 +21207,7 @@ msgstr "" "報告清單,以逗號分隔。\n" "預設值:全部" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" @@ -20810,7 +21215,7 @@ msgstr "" "要忽略的延伸檔名清單(逗號分隔)。\n" "預設值:全部" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" @@ -20818,11 +21223,11 @@ msgstr "" "要忽略的名稱清單(逗號分隔)。\n" "預設值:全部" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "不明的報告檢查" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20837,18 +21242,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "確實執行還原。這個指令除非指定這個選項否則不會執行。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "您必須提供 %s 選項才能進行還原" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20856,33 +21261,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "在 CSV 模式中放在分類數值兩旁的字元。預設為雙引號 (\")。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "用來在 CSV 模式分隔欄位的字串。預設為逗號。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "分類項目" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20913,31 +21318,22 @@ msgid "" "start with a letter" msgstr "標籤必須只包含小寫字母、數字和底線,並以字母開頭" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "建立自訂欄 " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "

將舊的資料庫轉移到 %s 的電子書庫

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3714 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3740 #, python-format msgid "Copying %s" msgstr "正在複製 %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3731 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3757 msgid "Compacting database" msgstr "正在壓實資料庫" @@ -21185,20 +21581,20 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:318 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:355 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:352 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "All books" msgstr "所有書籍" #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:319 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:354 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:351 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Newest" msgstr "最新" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:65 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:521 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 msgid "Loading, please wait" msgstr "載入中,請稍候" @@ -21221,7 +21617,7 @@ msgid "Browsing %d books" msgstr "瀏覽 %d 本書" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:261 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:258 msgid "Average rating" msgstr "平均評等" @@ -21230,98 +21626,98 @@ msgstr "平均評等" msgid "%(prefix)s: %(rating).1f stars" msgstr "%(prefix)s:%(rating).1f 顆星" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:165 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #, python-format msgid "%d stars" msgstr "%d 顆星" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259 msgid "Popularity" msgstr "熱門程度" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:284 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "library" msgstr "書庫" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:285 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:282 msgid "home" msgstr "家" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:356 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:353 msgid "Random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:406 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:475 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:403 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:472 msgid "Browse books by" msgstr "瀏覽書籍依" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:411 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:408 msgid "Choose a category to browse by:" msgstr "選擇要瀏覽的分類依據:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:546 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:541 msgid "Browsing by" msgstr "瀏覽依" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:542 msgid "Up" msgstr "上" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:687 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:681 msgid "in" msgstr "於" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:690 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:684 msgid "Books in" msgstr "書籍於" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Other formats" msgstr "其他的格式" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:792 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:786 #, python-format msgid "Read %(title)s in the %(fmt)s format" msgstr "閱讀 %(title)s 的 %(fmt)s 格式" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:797 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:791 msgid "Get" msgstr "取得" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:811 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 msgid "Details" msgstr "詳細資料" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:813 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807 msgid "Permalink" msgstr "永久網址" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:814 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:808 msgid "A permanent link to this book" msgstr "這本書籍的靜態連結" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:826 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:820 msgid "This book has been deleted" msgstr "這本書已經刪除" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:894 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Choose another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:895 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:889 msgid "Another random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:946 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:940 msgid "in search" msgstr "於搜尋" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:948 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:942 msgid "Matching books" msgstr "比對書籍" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:41 msgid "" "[options]\n" "\n" @@ -21334,21 +21730,23 @@ msgid "" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:53 msgid "Path to the library folder to serve with the content server" msgstr "用於內容伺服器的書庫資料夾路徑" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:55 msgid "Write process PID to the specified file" msgstr "將程序 PID 寫入指定的檔案" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:59 msgid "" -"Specifies a restriction to be used for this invocation. This option " -"overrides any per-library settings specified in the GUI" +"Specifies a virtual library to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI. For compatibility, " +"if the value is not a virtual library but is a saved search, that saved " +"search is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:64 msgid "" "Auto reload server when source code changes. May not work in all " "environments." @@ -22351,10 +22749,6 @@ msgstr "上午" msgid "pm" msgstr "下午" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 -msgid "&Copy" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:206 msgid "Select All" msgstr "" @@ -22453,6 +22847,31 @@ msgstr "程式碼正在執行" msgid "Restart console" msgstr "重新啟動主控臺" +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:174 +msgid "Extra characters at end of search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:208 +msgid "missing )" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:211 +msgid "Invalid syntax. Expected a lookup name or a word" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:314 +#, python-format +msgid "Failed to parse query, recursion limit reached: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:358 +msgid "Recursive saved search: {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/search_query_parser.py:367 +msgid "Unknown error in saved search: {0}" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" msgstr "URL 必須有 scheme sftp" @@ -22501,107 +22920,107 @@ msgstr "" msgid "The \"%s\" recipe needs a username and password." msgstr "「%s」食譜需要使用者名稱和密碼。" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:981 msgid "Download finished" msgstr "下載完成" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:983 msgid "Failed to download the following articles:" msgstr "無法下載下列文章:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:990 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:989 msgid "Failed to download parts of the following articles:" msgstr "無法下載下列文章的部分:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:992 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 msgid " from " msgstr " 來自 " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:994 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 msgid "\tFailed links:" msgstr "\t失敗的連結:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1097 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1094 msgid "Could not fetch article." msgstr "無法取得文章。" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1099 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1101 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1098 msgid "Run with -vv to see the reason" msgstr "以 -vv 執行以查看原因" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1146 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1143 msgid "Fetching feeds..." msgstr "正在取回餵送..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1151 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1148 msgid "Got feeds from index page" msgstr "從索引頁取得餵送" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1163 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1160 msgid "Trying to download cover..." msgstr "正在嘗試下載封面..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1165 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1162 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1245 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1240 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "開始下載 [%d 執行緒]..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1261 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1256 #, python-format msgid "Feeds downloaded to %s" msgstr "將餵送下載到 %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1270 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1265 #, python-format msgid "Could not download cover: %s" msgstr "無法下載封面:%s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1279 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 #, python-format msgid "Downloading cover from %s" msgstr "正在從 %s 下載封面" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1325 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1320 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1407 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1401 msgid "Articles in this issue: " msgstr "這次發行期刊中的文章: " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1479 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 msgid "Untitled Article" msgstr "無標題的文章" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1544 #, python-format msgid "Article downloaded: %s" msgstr "已下載的文章:%s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1562 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1555 #, python-format msgid "Article download failed: %s" msgstr "下載失敗的文章:%s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1579 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1572 msgid "Fetching feed" msgstr "正在取回餵送" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1720 msgid "" "Failed to log in, check your username and password for the calibre " "Periodicals service." msgstr "無法登入,請檢查您的 calibre 週期性服務的使用者名稱與密碼。" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1735 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." @@ -22867,7 +23286,7 @@ msgid "" "ampersands and the words \"and\" and \"with\". You can customize the " "splitting\n" "by changing the regular expression below. Strings are split on whatever the\n" -"specified regular expression matches.\n" +"specified regular expression matches, in addition to ampersands.\n" "Default: r'(?i),?\\s+(and|with)\\s+'" msgstr "" diff --git a/src/calibre/utils/cleantext.py b/src/calibre/utils/cleantext.py index 27e667612e..219199815e 100644 --- a/src/calibre/utils/cleantext.py +++ b/src/calibre/utils/cleantext.py @@ -1,9 +1,9 @@ -from __future__ import with_statement __license__ = 'GPL 3' __copyright__ = '2010, sengian ' __docformat__ = 'restructuredtext en' import re, htmlentitydefs +from future_builtins import map _ascii_pat = None @@ -28,6 +28,12 @@ def clean_ascii_chars(txt, charlist=None): pat = re.compile(u'|'.join(map(unichr, charlist))) return pat.sub('', txt) +def clean_xml_chars(unicode_string): + def allowed(x): + x = ord(x) + return (0x0001 < x < 0xd7ff) or (0xe000 < x < 0xfffd) or (0x10000 < x < 0x10ffff) + return u''.join(filter(allowed, unicode_string)) + ## # Fredrik Lundh: http://effbot.org/zone/re-sub.htm#unescape-html # Removes HTML or XML character references and entities from a text string. diff --git a/src/calibre/utils/config.py b/src/calibre/utils/config.py index d9c0c2d412..fbd4c47a35 100644 --- a/src/calibre/utils/config.py +++ b/src/calibre/utils/config.py @@ -88,7 +88,7 @@ def __init__(self, if epilog is None: epilog = _('Created by ')+colored(__author__, fg='cyan') usage += '\n\n'+_('''Whenever you pass arguments to %prog that have spaces in them, ''' - '''enclose the arguments in quotation marks.''') + '''enclose the arguments in quotation marks.''')+'\n' _OptionParser.__init__(self, usage=usage, version=version, epilog=epilog, formatter=CustomHelpFormatter(), conflict_handler=conflict_handler, **kwds) @@ -171,7 +171,7 @@ def merge_options(self, lower, upper): non default values in lower. ''' for dest in lower.__dict__.keys(): - if not upper.__dict__.has_key(dest): + if not dest in upper.__dict__: continue opt = self.option_by_dest(dest) if lower.__dict__[dest] != opt.default and \ @@ -319,12 +319,16 @@ def set(self, key, val): self.__setitem__(key, val) def __delitem__(self, key): - if dict.has_key(self, key): + try: dict.__delitem__(self, key) + except KeyError: + pass # ignore missing keys + else: self.commit() def commit(self): - if self.no_commit: return + if self.no_commit: + return if hasattr(self, 'file_path') and self.file_path: dpath = os.path.dirname(self.file_path) if not os.path.exists(dpath): diff --git a/src/calibre/utils/imghdr.py b/src/calibre/utils/imghdr.py index 3bd515bac5..c899a5be95 100644 --- a/src/calibre/utils/imghdr.py +++ b/src/calibre/utils/imghdr.py @@ -24,7 +24,8 @@ def what(file, h=None): if res: return res finally: - if f: f.close() + if f: + f.close() return None @@ -38,7 +39,7 @@ def test_jpeg(h, f): """JPEG data in JFIF format (Changed by Kovid to mimic the file utility, the original code was failing with some jpegs that included ICC_PROFILE data, for example: http://nationalpostnews.files.wordpress.com/2013/03/budget.jpeg?w=300&h=1571)""" - if (h[6:10] in (b'JFIF', b'Exif')) or (h[:2] == b'\xff\xd8' and b'JFIF' in h[:32]): + if (h[6:10] in (b'JFIF', b'Exif')) or (h[:2] == b'\xff\xd8' and (b'JFIF' in h[:32] or b'8BIM' in h[:32])): return 'jpeg' tests.append(test_jpeg) diff --git a/src/calibre/utils/monotonic.py b/src/calibre/utils/monotonic.py new file mode 100644 index 0000000000..2bda006929 --- /dev/null +++ b/src/calibre/utils/monotonic.py @@ -0,0 +1,104 @@ +# vim:fileencoding=utf-8 + +from __future__ import division, absolute_import + +try: + try: + # >=python-3.3, Unix + from time import clock_gettime + try: + # >={kernel}-sources-2.6.28 + from time import CLOCK_MONOTONIC_RAW as CLOCK_ID + except ImportError: + from time import CLOCK_MONOTONIC as CLOCK_ID # NOQA + + monotonic = lambda: clock_gettime(CLOCK_ID) + + except ImportError: + # >=python-3.3 + from time import monotonic # NOQA + +except ImportError: + import ctypes + import sys + + try: + if sys.platform == 'win32': + # Windows only + GetTickCount64 = ctypes.windll.kernel32.GetTickCount64 + GetTickCount64.restype = ctypes.c_ulonglong + + def monotonic(): # NOQA + return GetTickCount64() / 1000 + + elif sys.platform == 'darwin': + # Mac OS X + from ctypes.util import find_library + + libc_name = find_library('c') + if not libc_name: + raise OSError + + libc = ctypes.CDLL(libc_name, use_errno=True) + + mach_absolute_time = libc.mach_absolute_time + mach_absolute_time.argtypes = () + mach_absolute_time.restype = ctypes.c_uint64 + + class mach_timebase_info_data_t(ctypes.Structure): + _fields_ = ( + ('numer', ctypes.c_uint32), + ('denom', ctypes.c_uint32), + ) + mach_timebase_info_data_p = ctypes.POINTER(mach_timebase_info_data_t) + + _mach_timebase_info = libc.mach_timebase_info + _mach_timebase_info.argtypes = (mach_timebase_info_data_p,) + _mach_timebase_info.restype = ctypes.c_int + + def mach_timebase_info(): + timebase = mach_timebase_info_data_t() + _mach_timebase_info(ctypes.byref(timebase)) + return (timebase.numer, timebase.denom) + + timebase = mach_timebase_info() + factor = timebase[0] / timebase[1] * 1e-9 + + def monotonic(): # NOQA + return mach_absolute_time() * factor + else: + # linux only (no librt on OS X) + import os + + # See + CLOCK_MONOTONIC = 1 + CLOCK_MONOTONIC_RAW = 4 + + class timespec(ctypes.Structure): + _fields_ = ( + ('tv_sec', ctypes.c_long), + ('tv_nsec', ctypes.c_long) + ) + tspec = timespec() + + librt = ctypes.CDLL('librt.so.1', use_errno=True) + clock_gettime = librt.clock_gettime + clock_gettime.argtypes = [ctypes.c_int, ctypes.POINTER(timespec)] + + if clock_gettime(CLOCK_MONOTONIC_RAW, ctypes.pointer(tspec)) == 0: + # >={kernel}-sources-2.6.28 + clock_id = CLOCK_MONOTONIC_RAW + elif clock_gettime(CLOCK_MONOTONIC, ctypes.pointer(tspec)) == 0: + clock_id = CLOCK_MONOTONIC + else: + raise OSError + + def monotonic(): # NOQA + if clock_gettime(CLOCK_MONOTONIC, ctypes.pointer(tspec)) != 0: + errno_ = ctypes.get_errno() + raise OSError(errno_, os.strerror(errno_)) + return tspec.tv_sec + tspec.tv_nsec / 1e9 + + except: + from time import time as monotonic # NOQA + monotonic diff --git a/src/calibre/utils/pyparsing.py b/src/calibre/utils/pyparsing.py index 149ccaf1b0..8c3521f69f 100644 --- a/src/calibre/utils/pyparsing.py +++ b/src/calibre/utils/pyparsing.py @@ -1,3725 +1,11 @@ -# module pyparsing.py -# -# Copyright (c) 2003-2011 Paul T. McGuire -# -# Permission is hereby granted, free of charge, to any person obtaining -# a copy of this software and associated documentation files (the -# "Software"), to deal in the Software without restriction, including -# without limitation the rights to use, copy, modify, merge, publish, -# distribute, sublicense, and/or sell copies of the Software, and to -# permit persons to whom the Software is furnished to do so, subject to -# the following conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# -#from __future__ import generators - -__doc__ = \ -""" -pyparsing module - Classes and methods to define and execute parsing grammars - -The pyparsing module is an alternative approach to creating and executing simple grammars, -vs. the traditional lex/yacc approach, or the use of regular expressions. With pyparsing, you -don't need to learn a new syntax for defining grammars or matching expressions - the parsing module -provides a library of classes that you use to construct the grammar directly in Python. - -Here is a program to parse "Hello, World!" (or any greeting of the form C{", !"}):: - - from pyparsing import Word, alphas - - # define grammar of a greeting - greet = Word( alphas ) + "," + Word( alphas ) + "!" - - hello = "Hello, World!" - print hello, "->", greet.parseString( hello ) - -The program outputs the following:: - - Hello, World! -> ['Hello', ',', 'World', '!'] - -The Python representation of the grammar is quite readable, owing to the self-explanatory -class names, and the use of '+', '|' and '^' operators. - -The parsed results returned from C{parseString()} can be accessed as a nested list, a dictionary, or an -object with named attributes. - -The pyparsing module handles some of the problems that are typically vexing when writing text parsers: - - extra or missing whitespace (the above program will also handle "Hello,World!", "Hello , World !", etc.) - - quoted strings - - embedded comments -""" - -__version__ = "1.5.7" -__versionTime__ = "17 November 2012 16:18" -__author__ = "Paul McGuire " - -import string -from weakref import ref as wkref -import copy -import sys -import warnings -import re -import sre_constants -#~ sys.stderr.write( "testing pyparsing module, version %s, %s\n" % (__version__,__versionTime__ ) ) - -__all__ = [ -'And', 'CaselessKeyword', 'CaselessLiteral', 'CharsNotIn', 'Combine', 'Dict', 'Each', 'Empty', -'FollowedBy', 'Forward', 'GoToColumn', 'Group', 'Keyword', 'LineEnd', 'LineStart', 'Literal', -'MatchFirst', 'NoMatch', 'NotAny', 'OneOrMore', 'OnlyOnce', 'Optional', 'Or', -'ParseBaseException', 'ParseElementEnhance', 'ParseException', 'ParseExpression', 'ParseFatalException', -'ParseResults', 'ParseSyntaxException', 'ParserElement', 'QuotedString', 'RecursiveGrammarException', -'Regex', 'SkipTo', 'StringEnd', 'StringStart', 'Suppress', 'Token', 'TokenConverter', 'Upcase', -'White', 'Word', 'WordEnd', 'WordStart', 'ZeroOrMore', -'alphanums', 'alphas', 'alphas8bit', 'anyCloseTag', 'anyOpenTag', 'cStyleComment', 'col', -'commaSeparatedList', 'commonHTMLEntity', 'countedArray', 'cppStyleComment', 'dblQuotedString', -'dblSlashComment', 'delimitedList', 'dictOf', 'downcaseTokens', 'empty', 'hexnums', -'htmlComment', 'javaStyleComment', 'keepOriginalText', 'line', 'lineEnd', 'lineStart', 'lineno', -'makeHTMLTags', 'makeXMLTags', 'matchOnlyAtCol', 'matchPreviousExpr', 'matchPreviousLiteral', -'nestedExpr', 'nullDebugAction', 'nums', 'oneOf', 'opAssoc', 'operatorPrecedence', 'printables', -'punc8bit', 'pythonStyleComment', 'quotedString', 'removeQuotes', 'replaceHTMLEntity', -'replaceWith', 'restOfLine', 'sglQuotedString', 'srange', 'stringEnd', -'stringStart', 'traceParseAction', 'unicodeString', 'upcaseTokens', 'withAttribute', -'indentedBlock', 'originalTextFor', 'ungroup', 'infixNotation', -] - -_MAX_INT = sys.maxint -range = xrange -set = lambda s : dict( [(c,0) for c in s] ) - -def _ustr(obj): - """Drop-in replacement for str(obj) that tries to be Unicode friendly. It first tries - str(obj). If that fails with a UnicodeEncodeError, then it tries unicode(obj). It - then < returns the unicode object | encodes it with the default encoding | ... >. - """ - if isinstance(obj,unicode): - return obj - - try: - # If this works, then _ustr(obj) has the same behaviour as str(obj), so - # it won't break any existing code. - return str(obj) - - except UnicodeEncodeError: - # The Python docs (http://docs.python.org/ref/customization.html#l2h-182) - # state that "The return value must be a string object". However, does a - # unicode object (being a subclass of basestring) count as a "string - # object"? - # If so, then return a unicode object: - return unicode(obj) - # Else encode it... but how? There are many choices... :) - # Replace unprintables with escape codes? - #return unicode(obj).encode(sys.getdefaultencoding(), 'backslashreplace_errors') - # Replace unprintables with question marks? - #return unicode(obj).encode(sys.getdefaultencoding(), 'replace') - # ... - -# build list of single arg builtins, tolerant of Python version, that can be used as parse actions -singleArgBuiltins = [] -import __builtin__ -for fname in "sum len sorted reversed list tuple set any all min max".split(): - try: - singleArgBuiltins.append(getattr(__builtin__,fname)) - except AttributeError: - continue - -def _xml_escape(data): - """Escape &, <, >, ", ', etc. in a string of data.""" - - # ampersand must be replaced first - from_symbols = '&><"\'' - to_symbols = ['&'+s+';' for s in "amp gt lt quot apos".split()] - for from_,to_ in zip(from_symbols, to_symbols): - data = data.replace(from_, to_) - return data - -class _Constants(object): - pass - -alphas = string.ascii_lowercase + string.ascii_uppercase -nums = "0123456789" -hexnums = nums + "ABCDEFabcdef" -alphanums = alphas + nums -_bslash = chr(92) -printables = "".join( [ c for c in string.printable if c not in string.whitespace ] ) - -class ParseBaseException(Exception): - """base exception class for all parsing runtime exceptions""" - # Performance tuning: we construct a *lot* of these, so keep this - # constructor as small and fast as possible - def __init__( self, pstr, loc=0, msg=None, elem=None ): - self.loc = loc - if msg is None: - self.msg = pstr - self.pstr = "" - else: - self.msg = msg - self.pstr = pstr - self.parserElement = elem - - def __getattr__( self, aname ): - """supported attributes by name are: - - lineno - returns the line number of the exception text - - col - returns the column number of the exception text - - line - returns the line containing the exception text - """ - if( aname == "lineno" ): - return lineno( self.loc, self.pstr ) - elif( aname in ("col", "column") ): - return col( self.loc, self.pstr ) - elif( aname == "line" ): - return line( self.loc, self.pstr ) - else: - raise AttributeError(aname) - - def __str__( self ): - return "%s (at char %d), (line:%d, col:%d)" % \ - ( self.msg, self.loc, self.lineno, self.column ) - def __repr__( self ): - return _ustr(self) - def markInputline( self, markerString = ">!<" ): - """Extracts the exception line from the input string, and marks - the location of the exception with a special symbol. - """ - line_str = self.line - line_column = self.column - 1 - if markerString: - line_str = "".join( [line_str[:line_column], - markerString, line_str[line_column:]]) - return line_str.strip() - def __dir__(self): - return "loc msg pstr parserElement lineno col line " \ - "markInputline __str__ __repr__".split() - -class ParseException(ParseBaseException): - """exception thrown when parse expressions don't match class; - supported attributes by name are: - - lineno - returns the line number of the exception text - - col - returns the column number of the exception text - - line - returns the line containing the exception text - """ - pass - -class ParseFatalException(ParseBaseException): - """user-throwable exception thrown when inconsistent parse content - is found; stops all parsing immediately""" - pass - -class ParseSyntaxException(ParseFatalException): - """just like C{L{ParseFatalException}}, but thrown internally when an - C{L{ErrorStop}} ('-' operator) indicates that parsing is to stop immediately because - an unbacktrackable syntax error has been found""" - def __init__(self, pe): - super(ParseSyntaxException, self).__init__( - pe.pstr, pe.loc, pe.msg, pe.parserElement) - -#~ class ReparseException(ParseBaseException): - #~ """Experimental class - parse actions can raise this exception to cause - #~ pyparsing to reparse the input string: - #~ - with a modified input string, and/or - #~ - with a modified start location - #~ Set the values of the ReparseException in the constructor, and raise the - #~ exception in a parse action to cause pyparsing to use the new string/location. - #~ Setting the values as None causes no change to be made. - #~ """ - #~ def __init_( self, newstring, restartLoc ): - #~ self.newParseText = newstring - #~ self.reparseLoc = restartLoc - -class RecursiveGrammarException(Exception): - """exception thrown by C{validate()} if the grammar could be improperly recursive""" - def __init__( self, parseElementList ): - self.parseElementTrace = parseElementList - - def __str__( self ): - return "RecursiveGrammarException: %s" % self.parseElementTrace - -class _ParseResultsWithOffset(object): - def __init__(self,p1,p2): - self.tup = (p1,p2) - def __getitem__(self,i): - return self.tup[i] - def __repr__(self): - return repr(self.tup) - def setOffset(self,i): - self.tup = (self.tup[0],i) - -class ParseResults(object): - """Structured parse results, to provide multiple means of access to the parsed data: - - as a list (C{len(results)}) - - by list index (C{results[0], results[1]}, etc.) - - by attribute (C{results.}) - """ - #~ __slots__ = ( "__toklist", "__tokdict", "__doinit", "__name", "__parent", "__accumNames", "__weakref__" ) - def __new__(cls, toklist, name=None, asList=True, modal=True ): - if isinstance(toklist, cls): - return toklist - retobj = object.__new__(cls) - retobj.__doinit = True - return retobj - - # Performance tuning: we construct a *lot* of these, so keep this - # constructor as small and fast as possible - def __init__( self, toklist, name=None, asList=True, modal=True, isinstance=isinstance ): - if self.__doinit: - self.__doinit = False - self.__name = None - self.__parent = None - self.__accumNames = {} - if isinstance(toklist, list): - self.__toklist = toklist[:] - else: - self.__toklist = [toklist] - self.__tokdict = dict() - - if name is not None and name: - if not modal: - self.__accumNames[name] = 0 - if isinstance(name,int): - name = _ustr(name) # will always return a str, but use _ustr for consistency - self.__name = name - if not toklist in (None,'',[]): - if isinstance(toklist,basestring): - toklist = [ toklist ] - if asList: - if isinstance(toklist,ParseResults): - self[name] = _ParseResultsWithOffset(toklist.copy(),0) - else: - self[name] = _ParseResultsWithOffset(ParseResults(toklist[0]),0) - self[name].__name = name - else: - try: - self[name] = toklist[0] - except (KeyError,TypeError,IndexError): - self[name] = toklist - - def __getitem__( self, i ): - if isinstance( i, (int,slice) ): - return self.__toklist[i] - else: - if i not in self.__accumNames: - return self.__tokdict[i][-1][0] - else: - return ParseResults([ v[0] for v in self.__tokdict[i] ]) - - def __setitem__( self, k, v, isinstance=isinstance ): - if isinstance(v,_ParseResultsWithOffset): - self.__tokdict[k] = self.__tokdict.get(k,list()) + [v] - sub = v[0] - elif isinstance(k,int): - self.__toklist[k] = v - sub = v - else: - self.__tokdict[k] = self.__tokdict.get(k,list()) + [_ParseResultsWithOffset(v,0)] - sub = v - if isinstance(sub,ParseResults): - sub.__parent = wkref(self) - - def __delitem__( self, i ): - if isinstance(i,(int,slice)): - mylen = len( self.__toklist ) - del self.__toklist[i] - - # convert int to slice - if isinstance(i, int): - if i < 0: - i += mylen - i = slice(i, i+1) - # get removed indices - removed = list(range(*i.indices(mylen))) - removed.reverse() - # fixup indices in token dictionary - for name in self.__tokdict: - occurrences = self.__tokdict[name] - for j in removed: - for k, (value, position) in enumerate(occurrences): - occurrences[k] = _ParseResultsWithOffset(value, position - (position > j)) - else: - del self.__tokdict[i] - - def __contains__( self, k ): - return k in self.__tokdict - - def __len__( self ): return len( self.__toklist ) - def __bool__(self): return len( self.__toklist ) > 0 - __nonzero__ = __bool__ - def __iter__( self ): return iter( self.__toklist ) - def __reversed__( self ): return iter( self.__toklist[::-1] ) - def keys( self ): - """Returns all named result keys.""" - return self.__tokdict.keys() - - def pop( self, index=-1 ): - """Removes and returns item at specified index (default=last). - Will work with either numeric indices or dict-key indicies.""" - ret = self[index] - del self[index] - return ret - - def get(self, key, defaultValue=None): - """Returns named result matching the given key, or if there is no - such name, then returns the given C{defaultValue} or C{None} if no - C{defaultValue} is specified.""" - if key in self: - return self[key] - else: - return defaultValue - - def insert( self, index, insStr ): - """Inserts new element at location index in the list of parsed tokens.""" - self.__toklist.insert(index, insStr) - # fixup indices in token dictionary - for name in self.__tokdict: - occurrences = self.__tokdict[name] - for k, (value, position) in enumerate(occurrences): - occurrences[k] = _ParseResultsWithOffset(value, position + (position > index)) - - def items( self ): - """Returns all named result keys and values as a list of tuples.""" - return [(k,self[k]) for k in self.__tokdict] - - def values( self ): - """Returns all named result values.""" - return [ v[-1][0] for v in self.__tokdict.values() ] - - def __getattr__( self, name ): - if True: #name not in self.__slots__: - if name in self.__tokdict: - if name not in self.__accumNames: - return self.__tokdict[name][-1][0] - else: - return ParseResults([ v[0] for v in self.__tokdict[name] ]) - else: - return "" - return None - - def __add__( self, other ): - ret = self.copy() - ret += other - return ret - - def __iadd__( self, other ): - if other.__tokdict: - offset = len(self.__toklist) - addoffset = ( lambda a: (a<0 and offset) or (a+offset) ) - otheritems = other.__tokdict.items() - otherdictitems = [(k, _ParseResultsWithOffset(v[0],addoffset(v[1])) ) - for (k,vlist) in otheritems for v in vlist] - for k,v in otherdictitems: - self[k] = v - if isinstance(v[0],ParseResults): - v[0].__parent = wkref(self) - - self.__toklist += other.__toklist - self.__accumNames.update( other.__accumNames ) - return self - - def __radd__(self, other): - if isinstance(other,int) and other == 0: - return self.copy() - - def __repr__( self ): - return "(%s, %s)" % ( repr( self.__toklist ), repr( self.__tokdict ) ) - - def __str__( self ): - out = [] - for i in self.__toklist: - if isinstance(i, ParseResults): - out.append(_ustr(i)) - else: - out.append(repr(i)) - return '[' + ', '.join(out) + ']' - - def _asStringList( self, sep='' ): - out = [] - for item in self.__toklist: - if out and sep: - out.append(sep) - if isinstance( item, ParseResults ): - out += item._asStringList() - else: - out.append( _ustr(item) ) - return out - - def asList( self ): - """Returns the parse results as a nested list of matching tokens, all converted to strings.""" - out = [] - for res in self.__toklist: - if isinstance(res,ParseResults): - out.append( res.asList() ) - else: - out.append( res ) - return out - - def asDict( self ): - """Returns the named parse results as dictionary.""" - return dict( self.items() ) - - def copy( self ): - """Returns a new copy of a C{ParseResults} object.""" - ret = ParseResults( self.__toklist ) - ret.__tokdict = self.__tokdict.copy() - ret.__parent = self.__parent - ret.__accumNames.update( self.__accumNames ) - ret.__name = self.__name - return ret - - def asXML( self, doctag=None, namedItemsOnly=False, indent="", formatted=True ): - """Returns the parse results as XML. Tags are created for tokens and lists that have defined results names.""" - nl = "\n" - out = [] - namedItems = dict( [ (v[1],k) for (k,vlist) in self.__tokdict.items() - for v in vlist ] ) - nextLevelIndent = indent + " " - - # collapse out indents if formatting is not desired - if not formatted: - indent = "" - nextLevelIndent = "" - nl = "" - - selfTag = None - if doctag is not None: - selfTag = doctag - else: - if self.__name: - selfTag = self.__name - - if not selfTag: - if namedItemsOnly: - return "" - else: - selfTag = "ITEM" - - out += [ nl, indent, "<", selfTag, ">" ] - - worklist = self.__toklist - for i,res in enumerate(worklist): - if isinstance(res,ParseResults): - if i in namedItems: - out += [ res.asXML(namedItems[i], - namedItemsOnly and doctag is None, - nextLevelIndent, - formatted)] - else: - out += [ res.asXML(None, - namedItemsOnly and doctag is None, - nextLevelIndent, - formatted)] - else: - # individual token, see if there is a name for it - resTag = None - if i in namedItems: - resTag = namedItems[i] - if not resTag: - if namedItemsOnly: - continue - else: - resTag = "ITEM" - xmlBodyText = _xml_escape(_ustr(res)) - out += [ nl, nextLevelIndent, "<", resTag, ">", - xmlBodyText, - "" ] - - out += [ nl, indent, "" ] - return "".join(out) - - def __lookup(self,sub): - for k,vlist in self.__tokdict.items(): - for v,loc in vlist: - if sub is v: - return k - return None - - def getName(self): - """Returns the results name for this token expression.""" - if self.__name: - return self.__name - elif self.__parent: - par = self.__parent() - if par: - return par.__lookup(self) - else: - return None - elif (len(self) == 1 and - len(self.__tokdict) == 1 and - self.__tokdict.values()[0][0][1] in (0,-1)): - return self.__tokdict.keys()[0] - else: - return None - - def dump(self,indent='',depth=0): - """Diagnostic method for listing out the contents of a C{ParseResults}. - Accepts an optional C{indent} argument so that this string can be embedded - in a nested display of other data.""" - out = [] - out.append( indent+_ustr(self.asList()) ) - keys = self.items() - keys.sort() - for k,v in keys: - if out: - out.append('\n') - out.append( "%s%s- %s: " % (indent,(' '*depth), k) ) - if isinstance(v,ParseResults): - if v.keys(): - out.append( v.dump(indent,depth+1) ) - else: - out.append(_ustr(v)) - else: - out.append(_ustr(v)) - return "".join(out) - - # add support for pickle protocol - def __getstate__(self): - return ( self.__toklist, - ( self.__tokdict.copy(), - self.__parent is not None and self.__parent() or None, - self.__accumNames, - self.__name ) ) - - def __setstate__(self,state): - self.__toklist = state[0] - (self.__tokdict, - par, - inAccumNames, - self.__name) = state[1] - self.__accumNames = {} - self.__accumNames.update(inAccumNames) - if par is not None: - self.__parent = wkref(par) - else: - self.__parent = None - - def __dir__(self): - return dir(super(ParseResults,self)) + list(self.keys()) - -def col (loc,strg): - """Returns current column within a string, counting newlines as line separators. - The first column is number 1. - - Note: the default parsing behavior is to expand tabs in the input string - before starting the parsing process. See L{I{ParserElement.parseString}} for more information - on parsing strings containing C{}s, and suggested methods to maintain a - consistent view of the parsed string, the parse location, and line and column - positions within the parsed string. - """ - return (loc} for more information - on parsing strings containing C{}s, and suggested methods to maintain a - consistent view of the parsed string, the parse location, and line and column - positions within the parsed string. - """ - return strg.count("\n",0,loc) + 1 - -def line( loc, strg ): - """Returns the line of text containing loc within a string, counting newlines as line separators. - """ - lastCR = strg.rfind("\n", 0, loc) - nextCR = strg.find("\n", loc) - if nextCR >= 0: - return strg[lastCR+1:nextCR] - else: - return strg[lastCR+1:] - -def _defaultStartDebugAction( instring, loc, expr ): - print ("Match " + _ustr(expr) + " at loc " + _ustr(loc) + "(%d,%d)" % ( lineno(loc,instring), col(loc,instring) )) - -def _defaultSuccessDebugAction( instring, startloc, endloc, expr, toks ): - print ("Matched " + _ustr(expr) + " -> " + str(toks.asList())) - -def _defaultExceptionDebugAction( instring, loc, expr, exc ): - print ("Exception raised:" + _ustr(exc)) - -def nullDebugAction(*args): - """'Do-nothing' debug action, to suppress debugging output during parsing.""" - pass - -'decorator to trim function calls to match the arity of the target' -def _trim_arity(func, maxargs=2): - if func in singleArgBuiltins: - return lambda s,l,t: func(t) - limit = [0] - foundArity = [False] - def wrapper(*args): - while 1: - try: - ret = func(*args[limit[0]:]) - foundArity[0] = True - return ret - except TypeError: - if limit[0] <= maxargs and not foundArity[0]: - limit[0] += 1 - continue - raise - return wrapper - -class ParserElement(object): - """Abstract base level parser element class.""" - DEFAULT_WHITE_CHARS = " \n\t\r" - verbose_stacktrace = False - - def setDefaultWhitespaceChars( chars ): - """Overrides the default whitespace chars - """ - ParserElement.DEFAULT_WHITE_CHARS = chars - setDefaultWhitespaceChars = staticmethod(setDefaultWhitespaceChars) - - def inlineLiteralsUsing(cls): - """ - Set class to be used for inclusion of string literals into a parser. - """ - ParserElement.literalStringClass = cls - inlineLiteralsUsing = staticmethod(inlineLiteralsUsing) - - def __init__( self, savelist=False ): - self.parseAction = list() - self.failAction = None - #~ self.name = "" # don't define self.name, let subclasses try/except upcall - self.strRepr = None - self.resultsName = None - self.saveAsList = savelist - self.skipWhitespace = True - self.whiteChars = ParserElement.DEFAULT_WHITE_CHARS - self.copyDefaultWhiteChars = True - self.mayReturnEmpty = False # used when checking for left-recursion - self.keepTabs = False - self.ignoreExprs = list() - self.debug = False - self.streamlined = False - self.mayIndexError = True # used to optimize exception handling for subclasses that don't advance parse index - self.errmsg = "" - self.modalResults = True # used to mark results names as modal (report only last) or cumulative (list all) - self.debugActions = ( None, None, None ) #custom debug actions - self.re = None - self.callPreparse = True # used to avoid redundant calls to preParse - self.callDuringTry = False - - def copy( self ): - """Make a copy of this C{ParserElement}. Useful for defining different parse actions - for the same parsing pattern, using copies of the original parse element.""" - cpy = copy.copy( self ) - cpy.parseAction = self.parseAction[:] - cpy.ignoreExprs = self.ignoreExprs[:] - if self.copyDefaultWhiteChars: - cpy.whiteChars = ParserElement.DEFAULT_WHITE_CHARS - return cpy - - def setName( self, name ): - """Define name for this expression, for use in debugging.""" - self.name = name - self.errmsg = "Expected " + self.name - if hasattr(self,"exception"): - self.exception.msg = self.errmsg - return self - - def setResultsName( self, name, listAllMatches=False ): - """Define name for referencing matching tokens as a nested attribute - of the returned parse results. - NOTE: this returns a *copy* of the original C{ParserElement} object; - this is so that the client can define a basic element, such as an - integer, and reference it in multiple places with different names. - - You can also set results names using the abbreviated syntax, - C{expr("name")} in place of C{expr.setResultsName("name")} - - see L{I{__call__}<__call__>}. - """ - newself = self.copy() - if name.endswith("*"): - name = name[:-1] - listAllMatches=True - newself.resultsName = name - newself.modalResults = not listAllMatches - return newself - - def setBreak(self,breakFlag = True): - """Method to invoke the Python pdb debugger when this element is - about to be parsed. Set C{breakFlag} to True to enable, False to - disable. - """ - if breakFlag: - _parseMethod = self._parse - def breaker(instring, loc, doActions=True, callPreParse=True): - import pdb - pdb.set_trace() - return _parseMethod( instring, loc, doActions, callPreParse ) - breaker._originalParseMethod = _parseMethod - self._parse = breaker - else: - if hasattr(self._parse,"_originalParseMethod"): - self._parse = self._parse._originalParseMethod - return self - - def setParseAction( self, *fns, **kwargs ): - """Define action to perform when successfully matching parse element definition. - Parse action fn is a callable method with 0-3 arguments, called as C{fn(s,loc,toks)}, - C{fn(loc,toks)}, C{fn(toks)}, or just C{fn()}, where: - - s = the original string being parsed (see note below) - - loc = the location of the matching substring - - toks = a list of the matched tokens, packaged as a C{L{ParseResults}} object - If the functions in fns modify the tokens, they can return them as the return - value from fn, and the modified list of tokens will replace the original. - Otherwise, fn does not need to return any value. - - Note: the default parsing behavior is to expand tabs in the input string - before starting the parsing process. See L{I{parseString}} for more information - on parsing strings containing C{}s, and suggested methods to maintain a - consistent view of the parsed string, the parse location, and line and column - positions within the parsed string. - """ - self.parseAction = list(map(_trim_arity, list(fns))) - self.callDuringTry = ("callDuringTry" in kwargs and kwargs["callDuringTry"]) - return self - - def addParseAction( self, *fns, **kwargs ): - """Add parse action to expression's list of parse actions. See L{I{setParseAction}}.""" - self.parseAction += list(map(_trim_arity, list(fns))) - self.callDuringTry = self.callDuringTry or ("callDuringTry" in kwargs and kwargs["callDuringTry"]) - return self - - def setFailAction( self, fn ): - """Define action to perform if parsing fails at this expression. - Fail acton fn is a callable function that takes the arguments - C{fn(s,loc,expr,err)} where: - - s = string being parsed - - loc = location where expression match was attempted and failed - - expr = the parse expression that failed - - err = the exception thrown - The function returns no value. It may throw C{L{ParseFatalException}} - if it is desired to stop parsing immediately.""" - self.failAction = fn - return self - - def _skipIgnorables( self, instring, loc ): - exprsFound = True - while exprsFound: - exprsFound = False - for e in self.ignoreExprs: - try: - while 1: - loc,dummy = e._parse( instring, loc ) - exprsFound = True - except ParseException: - pass - return loc - - def preParse( self, instring, loc ): - if self.ignoreExprs: - loc = self._skipIgnorables( instring, loc ) - - if self.skipWhitespace: - wt = self.whiteChars - instrlen = len(instring) - while loc < instrlen and instring[loc] in wt: - loc += 1 - - return loc - - def parseImpl( self, instring, loc, doActions=True ): - return loc, [] - - def postParse( self, instring, loc, tokenlist ): - return tokenlist - - #~ @profile - def _parseNoCache( self, instring, loc, doActions=True, callPreParse=True ): - debugging = ( self.debug ) #and doActions ) - - if debugging or self.failAction: - #~ print ("Match",self,"at loc",loc,"(%d,%d)" % ( lineno(loc,instring), col(loc,instring) )) - if (self.debugActions[0] ): - self.debugActions[0]( instring, loc, self ) - if callPreParse and self.callPreparse: - preloc = self.preParse( instring, loc ) - else: - preloc = loc - tokensStart = preloc - try: - try: - loc,tokens = self.parseImpl( instring, preloc, doActions ) - except IndexError: - raise ParseException( instring, len(instring), self.errmsg, self ) - except ParseBaseException, err: - #~ print ("Exception raised:", err) - err = None - if self.debugActions[2]: - self.debugActions[2]( instring, tokensStart, self, err ) - if self.failAction: - self.failAction( instring, tokensStart, self, err ) - raise - else: - if callPreParse and self.callPreparse: - preloc = self.preParse( instring, loc ) - else: - preloc = loc - tokensStart = preloc - if self.mayIndexError or loc >= len(instring): - try: - loc,tokens = self.parseImpl( instring, preloc, doActions ) - except IndexError: - raise ParseException( instring, len(instring), self.errmsg, self ) - else: - loc,tokens = self.parseImpl( instring, preloc, doActions ) - - tokens = self.postParse( instring, loc, tokens ) - - retTokens = ParseResults( tokens, self.resultsName, asList=self.saveAsList, modal=self.modalResults ) - if self.parseAction and (doActions or self.callDuringTry): - if debugging: - try: - for fn in self.parseAction: - tokens = fn( instring, tokensStart, retTokens ) - if tokens is not None: - retTokens = ParseResults( tokens, - self.resultsName, - asList=self.saveAsList and isinstance(tokens,(ParseResults,list)), - modal=self.modalResults ) - except ParseBaseException, err: - #~ print "Exception raised in user parse action:", err - if (self.debugActions[2] ): - self.debugActions[2]( instring, tokensStart, self, err ) - raise - else: - for fn in self.parseAction: - tokens = fn( instring, tokensStart, retTokens ) - if tokens is not None: - retTokens = ParseResults( tokens, - self.resultsName, - asList=self.saveAsList and isinstance(tokens,(ParseResults,list)), - modal=self.modalResults ) - - if debugging: - #~ print ("Matched",self,"->",retTokens.asList()) - if (self.debugActions[1] ): - self.debugActions[1]( instring, tokensStart, loc, self, retTokens ) - - return loc, retTokens - - def tryParse( self, instring, loc ): - try: - return self._parse( instring, loc, doActions=False )[0] - except ParseFatalException: - raise ParseException( instring, loc, self.errmsg, self) - - # this method gets repeatedly called during backtracking with the same arguments - - # we can cache these arguments and save ourselves the trouble of re-parsing the contained expression - def _parseCache( self, instring, loc, doActions=True, callPreParse=True ): - lookup = (self,instring,loc,callPreParse,doActions) - if lookup in ParserElement._exprArgCache: - value = ParserElement._exprArgCache[ lookup ] - if isinstance(value, Exception): - raise value - return (value[0],value[1].copy()) - else: - try: - value = self._parseNoCache( instring, loc, doActions, callPreParse ) - ParserElement._exprArgCache[ lookup ] = (value[0],value[1].copy()) - return value - except ParseBaseException, pe: - ParserElement._exprArgCache[ lookup ] = pe - raise - - _parse = _parseNoCache - - # argument cache for optimizing repeated calls when backtracking through recursive expressions - _exprArgCache = {} - def resetCache(): - ParserElement._exprArgCache.clear() - resetCache = staticmethod(resetCache) - - _packratEnabled = False - def enablePackrat(): - """Enables "packrat" parsing, which adds memoizing to the parsing logic. - Repeated parse attempts at the same string location (which happens - often in many complex grammars) can immediately return a cached value, - instead of re-executing parsing/validating code. Memoizing is done of - both valid results and parsing exceptions. - - This speedup may break existing programs that use parse actions that - have side-effects. For this reason, packrat parsing is disabled when - you first import pyparsing. To activate the packrat feature, your - program must call the class method C{ParserElement.enablePackrat()}. If - your program uses C{psyco} to "compile as you go", you must call - C{enablePackrat} before calling C{psyco.full()}. If you do not do this, - Python will crash. For best results, call C{enablePackrat()} immediately - after importing pyparsing. - """ - if not ParserElement._packratEnabled: - ParserElement._packratEnabled = True - ParserElement._parse = ParserElement._parseCache - enablePackrat = staticmethod(enablePackrat) - - def parseString( self, instring, parseAll=False ): - """Execute the parse expression with the given string. - This is the main interface to the client code, once the complete - expression has been built. - - If you want the grammar to require that the entire input string be - successfully parsed, then set C{parseAll} to True (equivalent to ending - the grammar with C{L{StringEnd()}}). - - Note: C{parseString} implicitly calls C{expandtabs()} on the input string, - in order to report proper column numbers in parse actions. - If the input string contains tabs and - the grammar uses parse actions that use the C{loc} argument to index into the - string being parsed, you can ensure you have a consistent view of the input - string by: - - calling C{parseWithTabs} on your grammar before calling C{parseString} - (see L{I{parseWithTabs}}) - - define your parse action using the full C{(s,loc,toks)} signature, and - reference the input string using the parse action's C{s} argument - - explictly expand the tabs in your input string before calling - C{parseString} - """ - ParserElement.resetCache() - if not self.streamlined: - self.streamline() - #~ self.saveAsList = True - for e in self.ignoreExprs: - e.streamline() - if not self.keepTabs: - instring = instring.expandtabs() - try: - loc, tokens = self._parse( instring, 0 ) - if parseAll: - loc = self.preParse( instring, loc ) - se = Empty() + StringEnd() - se._parse( instring, loc ) - except ParseBaseException, exc: - if ParserElement.verbose_stacktrace: - raise - else: - # catch and re-raise exception from here, clears out pyparsing internal stack trace - raise exc - else: - return tokens - - def scanString( self, instring, maxMatches=_MAX_INT, overlap=False ): - """Scan the input string for expression matches. Each match will return the - matching tokens, start location, and end location. May be called with optional - C{maxMatches} argument, to clip scanning after 'n' matches are found. If - C{overlap} is specified, then overlapping matches will be reported. - - Note that the start and end locations are reported relative to the string - being parsed. See L{I{parseString}} for more information on parsing - strings with embedded tabs.""" - if not self.streamlined: - self.streamline() - for e in self.ignoreExprs: - e.streamline() - - if not self.keepTabs: - instring = _ustr(instring).expandtabs() - instrlen = len(instring) - loc = 0 - preparseFn = self.preParse - parseFn = self._parse - ParserElement.resetCache() - matches = 0 - try: - while loc <= instrlen and matches < maxMatches: - try: - preloc = preparseFn( instring, loc ) - nextLoc,tokens = parseFn( instring, preloc, callPreParse=False ) - except ParseException: - loc = preloc+1 - else: - if nextLoc > loc: - matches += 1 - yield tokens, preloc, nextLoc - if overlap: - nextloc = preparseFn( instring, loc ) - if nextloc > loc: - loc = nextLoc - else: - loc += 1 - else: - loc = nextLoc - else: - loc = preloc+1 - except ParseBaseException, exc: - if ParserElement.verbose_stacktrace: - raise - else: - # catch and re-raise exception from here, clears out pyparsing internal stack trace - raise exc - - def transformString( self, instring ): - """Extension to C{L{scanString}}, to modify matching text with modified tokens that may - be returned from a parse action. To use C{transformString}, define a grammar and - attach a parse action to it that modifies the returned token list. - Invoking C{transformString()} on a target string will then scan for matches, - and replace the matched text patterns according to the logic in the parse - action. C{transformString()} returns the resulting transformed string.""" - out = [] - lastE = 0 - # force preservation of s, to minimize unwanted transformation of string, and to - # keep string locs straight between transformString and scanString - self.keepTabs = True - try: - for t,s,e in self.scanString( instring ): - out.append( instring[lastE:s] ) - if t: - if isinstance(t,ParseResults): - out += t.asList() - elif isinstance(t,list): - out += t - else: - out.append(t) - lastE = e - out.append(instring[lastE:]) - out = [o for o in out if o] - return "".join(map(_ustr,_flatten(out))) - except ParseBaseException, exc: - if ParserElement.verbose_stacktrace: - raise - else: - # catch and re-raise exception from here, clears out pyparsing internal stack trace - raise exc - - def searchString( self, instring, maxMatches=_MAX_INT ): - """Another extension to C{L{scanString}}, simplifying the access to the tokens found - to match the given parse expression. May be called with optional - C{maxMatches} argument, to clip searching after 'n' matches are found. - """ - try: - return ParseResults([ t for t,s,e in self.scanString( instring, maxMatches ) ]) - except ParseBaseException, exc: - if ParserElement.verbose_stacktrace: - raise - else: - # catch and re-raise exception from here, clears out pyparsing internal stack trace - raise exc - - def __add__(self, other ): - """Implementation of + operator - returns C{L{And}}""" - if isinstance( other, basestring ): - other = ParserElement.literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return And( [ self, other ] ) - - def __radd__(self, other ): - """Implementation of + operator when left operand is not a C{L{ParserElement}}""" - if isinstance( other, basestring ): - other = ParserElement.literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return other + self - - def __sub__(self, other): - """Implementation of - operator, returns C{L{And}} with error stop""" - if isinstance( other, basestring ): - other = ParserElement.literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return And( [ self, And._ErrorStop(), other ] ) - - def __rsub__(self, other ): - """Implementation of - operator when left operand is not a C{L{ParserElement}}""" - if isinstance( other, basestring ): - other = ParserElement.literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return other - self - - def __mul__(self,other): - """Implementation of * operator, allows use of C{expr * 3} in place of - C{expr + expr + expr}. Expressions may also me multiplied by a 2-integer - tuple, similar to C{{min,max}} multipliers in regular expressions. Tuples - may also include C{None} as in: - - C{expr*(n,None)} or C{expr*(n,)} is equivalent - to C{expr*n + L{ZeroOrMore}(expr)} - (read as "at least n instances of C{expr}") - - C{expr*(None,n)} is equivalent to C{expr*(0,n)} - (read as "0 to n instances of C{expr}") - - C{expr*(None,None)} is equivalent to C{L{ZeroOrMore}(expr)} - - C{expr*(1,None)} is equivalent to C{L{OneOrMore}(expr)} - - Note that C{expr*(None,n)} does not raise an exception if - more than n exprs exist in the input stream; that is, - C{expr*(None,n)} does not enforce a maximum number of expr - occurrences. If this behavior is desired, then write - C{expr*(None,n) + ~expr} - - """ - if isinstance(other,int): - minElements, optElements = other,0 - elif isinstance(other,tuple): - other = (other + (None, None))[:2] - if other[0] is None: - other = (0, other[1]) - if isinstance(other[0],int) and other[1] is None: - if other[0] == 0: - return ZeroOrMore(self) - if other[0] == 1: - return OneOrMore(self) - else: - return self*other[0] + ZeroOrMore(self) - elif isinstance(other[0],int) and isinstance(other[1],int): - minElements, optElements = other - optElements -= minElements - else: - raise TypeError("cannot multiply 'ParserElement' and ('%s','%s') objects", type(other[0]),type(other[1])) - else: - raise TypeError("cannot multiply 'ParserElement' and '%s' objects", type(other)) - - if minElements < 0: - raise ValueError("cannot multiply ParserElement by negative value") - if optElements < 0: - raise ValueError("second tuple value must be greater or equal to first tuple value") - if minElements == optElements == 0: - raise ValueError("cannot multiply ParserElement by 0 or (0,0)") - - if (optElements): - def makeOptionalList(n): - if n>1: - return Optional(self + makeOptionalList(n-1)) - else: - return Optional(self) - if minElements: - if minElements == 1: - ret = self + makeOptionalList(optElements) - else: - ret = And([self]*minElements) + makeOptionalList(optElements) - else: - ret = makeOptionalList(optElements) - else: - if minElements == 1: - ret = self - else: - ret = And([self]*minElements) - return ret - - def __rmul__(self, other): - return self.__mul__(other) - - def __or__(self, other ): - """Implementation of | operator - returns C{L{MatchFirst}}""" - if isinstance( other, basestring ): - other = ParserElement.literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return MatchFirst( [ self, other ] ) - - def __ror__(self, other ): - """Implementation of | operator when left operand is not a C{L{ParserElement}}""" - if isinstance( other, basestring ): - other = ParserElement.literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return other | self - - def __xor__(self, other ): - """Implementation of ^ operator - returns C{L{Or}}""" - if isinstance( other, basestring ): - other = ParserElement.literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return Or( [ self, other ] ) - - def __rxor__(self, other ): - """Implementation of ^ operator when left operand is not a C{L{ParserElement}}""" - if isinstance( other, basestring ): - other = ParserElement.literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return other ^ self - - def __and__(self, other ): - """Implementation of & operator - returns C{L{Each}}""" - if isinstance( other, basestring ): - other = ParserElement.literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return Each( [ self, other ] ) - - def __rand__(self, other ): - """Implementation of & operator when left operand is not a C{L{ParserElement}}""" - if isinstance( other, basestring ): - other = ParserElement.literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return other & self - - def __invert__( self ): - """Implementation of ~ operator - returns C{L{NotAny}}""" - return NotAny( self ) - - def __call__(self, name): - """Shortcut for C{L{setResultsName}}, with C{listAllMatches=default}:: - userdata = Word(alphas).setResultsName("name") + Word(nums+"-").setResultsName("socsecno") - could be written as:: - userdata = Word(alphas)("name") + Word(nums+"-")("socsecno") - - If C{name} is given with a trailing C{'*'} character, then C{listAllMatches} will be - passed as C{True}. - """ - return self.setResultsName(name) - - def suppress( self ): - """Suppresses the output of this C{ParserElement}; useful to keep punctuation from - cluttering up returned output. - """ - return Suppress( self ) - - def leaveWhitespace( self ): - """Disables the skipping of whitespace before matching the characters in the - C{ParserElement}'s defined pattern. This is normally only used internally by - the pyparsing module, but may be needed in some whitespace-sensitive grammars. - """ - self.skipWhitespace = False - return self - - def setWhitespaceChars( self, chars ): - """Overrides the default whitespace chars - """ - self.skipWhitespace = True - self.whiteChars = chars - self.copyDefaultWhiteChars = False - return self - - def parseWithTabs( self ): - """Overrides default behavior to expand C{}s to spaces before parsing the input string. - Must be called before C{parseString} when the input grammar contains elements that - match C{} characters.""" - self.keepTabs = True - return self - - def ignore( self, other ): - """Define expression to be ignored (e.g., comments) while doing pattern - matching; may be called repeatedly, to define multiple comment or other - ignorable patterns. - """ - if isinstance( other, Suppress ): - if other not in self.ignoreExprs: - self.ignoreExprs.append( other.copy() ) - else: - self.ignoreExprs.append( Suppress( other.copy() ) ) - return self - - def setDebugActions( self, startAction, successAction, exceptionAction ): - """Enable display of debugging messages while doing pattern matching.""" - self.debugActions = (startAction or _defaultStartDebugAction, - successAction or _defaultSuccessDebugAction, - exceptionAction or _defaultExceptionDebugAction) - self.debug = True - return self - - def setDebug( self, flag=True ): - """Enable display of debugging messages while doing pattern matching. - Set C{flag} to True to enable, False to disable.""" - if flag: - self.setDebugActions( _defaultStartDebugAction, _defaultSuccessDebugAction, _defaultExceptionDebugAction ) - else: - self.debug = False - return self - - def __str__( self ): - return self.name - - def __repr__( self ): - return _ustr(self) - - def streamline( self ): - self.streamlined = True - self.strRepr = None - return self - - def checkRecursion( self, parseElementList ): - pass - - def validate( self, validateTrace=[] ): - """Check defined expressions for valid structure, check for infinite recursive definitions.""" - self.checkRecursion( [] ) - - def parseFile( self, file_or_filename, parseAll=False ): - """Execute the parse expression on the given file or filename. - If a filename is specified (instead of a file object), - the entire file is opened, read, and closed before parsing. - """ - try: - file_contents = file_or_filename.read() - except AttributeError: - f = open(file_or_filename, "r") - file_contents = f.read() - f.close() - try: - return self.parseString(file_contents, parseAll) - except ParseBaseException, exc: - if ParserElement.verbose_stacktrace: - raise - else: - # catch and re-raise exception from here, clears out pyparsing internal stack trace - raise exc - - def getException(self): - return ParseException("",0,self.errmsg,self) - - def __getattr__(self,aname): - if aname == "myException": - self.myException = ret = self.getException(); - return ret; - else: - raise AttributeError("no such attribute " + aname) - - def __eq__(self,other): - if isinstance(other, ParserElement): - return self is other or self.__dict__ == other.__dict__ - elif isinstance(other, basestring): - try: - self.parseString(_ustr(other), parseAll=True) - return True - except ParseBaseException: - return False - else: - return super(ParserElement,self)==other - - def __ne__(self,other): - return not (self == other) - - def __hash__(self): - return hash(id(self)) - - def __req__(self,other): - return self == other - - def __rne__(self,other): - return not (self == other) - - -class Token(ParserElement): - """Abstract C{ParserElement} subclass, for defining atomic matching patterns.""" - def __init__( self ): - super(Token,self).__init__( savelist=False ) - - def setName(self, name): - s = super(Token,self).setName(name) - self.errmsg = "Expected " + self.name - return s - - -class Empty(Token): - """An empty token, will always match.""" - def __init__( self ): - super(Empty,self).__init__() - self.name = "Empty" - self.mayReturnEmpty = True - self.mayIndexError = False - - -class NoMatch(Token): - """A token that will never match.""" - def __init__( self ): - super(NoMatch,self).__init__() - self.name = "NoMatch" - self.mayReturnEmpty = True - self.mayIndexError = False - self.errmsg = "Unmatchable token" - - def parseImpl( self, instring, loc, doActions=True ): - exc = self.myException - exc.loc = loc - exc.pstr = instring - raise exc - - -class Literal(Token): - """Token to exactly match a specified string.""" - def __init__( self, matchString ): - super(Literal,self).__init__() - self.match = matchString - self.matchLen = len(matchString) - try: - self.firstMatchChar = matchString[0] - except IndexError: - warnings.warn("null string passed to Literal; use Empty() instead", - SyntaxWarning, stacklevel=2) - self.__class__ = Empty - self.name = '"%s"' % _ustr(self.match) - self.errmsg = "Expected " + self.name - self.mayReturnEmpty = False - self.mayIndexError = False - - # Performance tuning: this routine gets called a *lot* - # if this is a single character match string and the first character matches, - # short-circuit as quickly as possible, and avoid calling startswith - #~ @profile - def parseImpl( self, instring, loc, doActions=True ): - if (instring[loc] == self.firstMatchChar and - (self.matchLen==1 or instring.startswith(self.match,loc)) ): - return loc+self.matchLen, self.match - #~ raise ParseException( instring, loc, self.errmsg ) - exc = self.myException - exc.loc = loc - exc.pstr = instring - raise exc -_L = Literal -ParserElement.literalStringClass = Literal - -class Keyword(Token): - """Token to exactly match a specified string as a keyword, that is, it must be - immediately followed by a non-keyword character. Compare with C{L{Literal}}:: - Literal("if") will match the leading C{'if'} in C{'ifAndOnlyIf'}. - Keyword("if") will not; it will only match the leading C{'if'} in C{'if x=1'}, or C{'if(y==2)'} - Accepts two optional constructor arguments in addition to the keyword string: - C{identChars} is a string of characters that would be valid identifier characters, - defaulting to all alphanumerics + "_" and "$"; C{caseless} allows case-insensitive - matching, default is C{False}. - """ - DEFAULT_KEYWORD_CHARS = alphanums+"_$" - - def __init__( self, matchString, identChars=DEFAULT_KEYWORD_CHARS, caseless=False ): - super(Keyword,self).__init__() - self.match = matchString - self.matchLen = len(matchString) - try: - self.firstMatchChar = matchString[0] - except IndexError: - warnings.warn("null string passed to Keyword; use Empty() instead", - SyntaxWarning, stacklevel=2) - self.name = '"%s"' % self.match - self.errmsg = "Expected " + self.name - self.mayReturnEmpty = False - self.mayIndexError = False - self.caseless = caseless - if caseless: - self.caselessmatch = matchString.upper() - identChars = identChars.upper() - self.identChars = set(identChars) - - def parseImpl( self, instring, loc, doActions=True ): - if self.caseless: - if ( (instring[ loc:loc+self.matchLen ].upper() == self.caselessmatch) and - (loc >= len(instring)-self.matchLen or instring[loc+self.matchLen].upper() not in self.identChars) and - (loc == 0 or instring[loc-1].upper() not in self.identChars) ): - return loc+self.matchLen, self.match - else: - if (instring[loc] == self.firstMatchChar and - (self.matchLen==1 or instring.startswith(self.match,loc)) and - (loc >= len(instring)-self.matchLen or instring[loc+self.matchLen] not in self.identChars) and - (loc == 0 or instring[loc-1] not in self.identChars) ): - return loc+self.matchLen, self.match - #~ raise ParseException( instring, loc, self.errmsg ) - exc = self.myException - exc.loc = loc - exc.pstr = instring - raise exc - - def copy(self): - c = super(Keyword,self).copy() - c.identChars = Keyword.DEFAULT_KEYWORD_CHARS - return c - - def setDefaultKeywordChars( chars ): - """Overrides the default Keyword chars - """ - Keyword.DEFAULT_KEYWORD_CHARS = chars - setDefaultKeywordChars = staticmethod(setDefaultKeywordChars) - -class CaselessLiteral(Literal): - """Token to match a specified string, ignoring case of letters. - Note: the matched results will always be in the case of the given - match string, NOT the case of the input text. - """ - def __init__( self, matchString ): - super(CaselessLiteral,self).__init__( matchString.upper() ) - # Preserve the defining literal. - self.returnString = matchString - self.name = "'%s'" % self.returnString - self.errmsg = "Expected " + self.name - - def parseImpl( self, instring, loc, doActions=True ): - if instring[ loc:loc+self.matchLen ].upper() == self.match: - return loc+self.matchLen, self.returnString - #~ raise ParseException( instring, loc, self.errmsg ) - exc = self.myException - exc.loc = loc - exc.pstr = instring - raise exc - -class CaselessKeyword(Keyword): - def __init__( self, matchString, identChars=Keyword.DEFAULT_KEYWORD_CHARS ): - super(CaselessKeyword,self).__init__( matchString, identChars, caseless=True ) - - def parseImpl( self, instring, loc, doActions=True ): - if ( (instring[ loc:loc+self.matchLen ].upper() == self.caselessmatch) and - (loc >= len(instring)-self.matchLen or instring[loc+self.matchLen].upper() not in self.identChars) ): - return loc+self.matchLen, self.match - #~ raise ParseException( instring, loc, self.errmsg ) - exc = self.myException - exc.loc = loc - exc.pstr = instring - raise exc - -class Word(Token): - """Token for matching words composed of allowed character sets. - Defined with string containing all allowed initial characters, - an optional string containing allowed body characters (if omitted, - defaults to the initial character set), and an optional minimum, - maximum, and/or exact length. The default value for C{min} is 1 (a - minimum value < 1 is not valid); the default values for C{max} and C{exact} - are 0, meaning no maximum or exact length restriction. An optional - C{exclude} parameter can list characters that might be found in - the input C{bodyChars} string; useful to define a word of all printables - except for one or two characters, for instance. - """ - def __init__( self, initChars, bodyChars=None, min=1, max=0, exact=0, asKeyword=False, excludeChars=None ): - super(Word,self).__init__() - if excludeChars: - initChars = ''.join([c for c in initChars if c not in excludeChars]) - if bodyChars: - bodyChars = ''.join([c for c in bodyChars if c not in excludeChars]) - self.initCharsOrig = initChars - self.initChars = set(initChars) - if bodyChars : - self.bodyCharsOrig = bodyChars - self.bodyChars = set(bodyChars) - else: - self.bodyCharsOrig = initChars - self.bodyChars = set(initChars) - - self.maxSpecified = max > 0 - - if min < 1: - raise ValueError("cannot specify a minimum length < 1; use Optional(Word()) if zero-length word is permitted") - - self.minLen = min - - if max > 0: - self.maxLen = max - else: - self.maxLen = _MAX_INT - - if exact > 0: - self.maxLen = exact - self.minLen = exact - - self.name = _ustr(self) - self.errmsg = "Expected " + self.name - self.mayIndexError = False - self.asKeyword = asKeyword - - if ' ' not in self.initCharsOrig+self.bodyCharsOrig and (min==1 and max==0 and exact==0): - if self.bodyCharsOrig == self.initCharsOrig: - self.reString = "[%s]+" % _escapeRegexRangeChars(self.initCharsOrig) - elif len(self.bodyCharsOrig) == 1: - self.reString = "%s[%s]*" % \ - (re.escape(self.initCharsOrig), - _escapeRegexRangeChars(self.bodyCharsOrig),) - else: - self.reString = "[%s][%s]*" % \ - (_escapeRegexRangeChars(self.initCharsOrig), - _escapeRegexRangeChars(self.bodyCharsOrig),) - if self.asKeyword: - self.reString = r"\b"+self.reString+r"\b" - try: - self.re = re.compile( self.reString ) - except: - self.re = None - - def parseImpl( self, instring, loc, doActions=True ): - if self.re: - result = self.re.match(instring,loc) - if not result: - exc = self.myException - exc.loc = loc - exc.pstr = instring - raise exc - - loc = result.end() - return loc, result.group() - - if not(instring[ loc ] in self.initChars): - #~ raise ParseException( instring, loc, self.errmsg ) - exc = self.myException - exc.loc = loc - exc.pstr = instring - raise exc - start = loc - loc += 1 - instrlen = len(instring) - bodychars = self.bodyChars - maxloc = start + self.maxLen - maxloc = min( maxloc, instrlen ) - while loc < maxloc and instring[loc] in bodychars: - loc += 1 - - throwException = False - if loc - start < self.minLen: - throwException = True - if self.maxSpecified and loc < instrlen and instring[loc] in bodychars: - throwException = True - if self.asKeyword: - if (start>0 and instring[start-1] in bodychars) or (loc4: - return s[:4]+"..." - else: - return s - - if ( self.initCharsOrig != self.bodyCharsOrig ): - self.strRepr = "W:(%s,%s)" % ( charsAsStr(self.initCharsOrig), charsAsStr(self.bodyCharsOrig) ) - else: - self.strRepr = "W:(%s)" % charsAsStr(self.initCharsOrig) - - return self.strRepr - - -class Regex(Token): - """Token for matching strings that match a given regular expression. - Defined with string specifying the regular expression in a form recognized by the inbuilt Python re module. - """ - compiledREtype = type(re.compile("[A-Z]")) - def __init__( self, pattern, flags=0): - """The parameters C{pattern} and C{flags} are passed to the C{re.compile()} function as-is. See the Python C{re} module for an explanation of the acceptable patterns and flags.""" - super(Regex,self).__init__() - - if isinstance(pattern, basestring): - if len(pattern) == 0: - warnings.warn("null string passed to Regex; use Empty() instead", - SyntaxWarning, stacklevel=2) - - self.pattern = pattern - self.flags = flags - - try: - self.re = re.compile(self.pattern, self.flags) - self.reString = self.pattern - except sre_constants.error: - warnings.warn("invalid pattern (%s) passed to Regex" % pattern, - SyntaxWarning, stacklevel=2) - raise - - elif isinstance(pattern, Regex.compiledREtype): - self.re = pattern - self.pattern = \ - self.reString = str(pattern) - self.flags = flags - - else: - raise ValueError("Regex may only be constructed with a string or a compiled RE object") - - self.name = _ustr(self) - self.errmsg = "Expected " + self.name - self.mayIndexError = False - self.mayReturnEmpty = True - - def parseImpl( self, instring, loc, doActions=True ): - result = self.re.match(instring,loc) - if not result: - exc = self.myException - exc.loc = loc - exc.pstr = instring - raise exc - - loc = result.end() - d = result.groupdict() - ret = ParseResults(result.group()) - if d: - for k in d: - ret[k] = d[k] - return loc,ret - - def __str__( self ): - try: - return super(Regex,self).__str__() - except: - pass - - if self.strRepr is None: - self.strRepr = "Re:(%s)" % repr(self.pattern) - - return self.strRepr - - -class QuotedString(Token): - """Token for matching strings that are delimited by quoting characters. - """ - def __init__( self, quoteChar, escChar=None, escQuote=None, multiline=False, unquoteResults=True, endQuoteChar=None): - """ - Defined with the following parameters: - - quoteChar - string of one or more characters defining the quote delimiting string - - escChar - character to escape quotes, typically backslash (default=None) - - escQuote - special quote sequence to escape an embedded quote string (such as SQL's "" to escape an embedded ") (default=None) - - multiline - boolean indicating whether quotes can span multiple lines (default=C{False}) - - unquoteResults - boolean indicating whether the matched text should be unquoted (default=C{True}) - - endQuoteChar - string of one or more characters defining the end of the quote delimited string (default=C{None} => same as quoteChar) - """ - super(QuotedString,self).__init__() - - # remove white space from quote chars - wont work anyway - quoteChar = quoteChar.strip() - if len(quoteChar) == 0: - warnings.warn("quoteChar cannot be the empty string",SyntaxWarning,stacklevel=2) - raise SyntaxError() - - if endQuoteChar is None: - endQuoteChar = quoteChar - else: - endQuoteChar = endQuoteChar.strip() - if len(endQuoteChar) == 0: - warnings.warn("endQuoteChar cannot be the empty string",SyntaxWarning,stacklevel=2) - raise SyntaxError() - - self.quoteChar = quoteChar - self.quoteCharLen = len(quoteChar) - self.firstQuoteChar = quoteChar[0] - self.endQuoteChar = endQuoteChar - self.endQuoteCharLen = len(endQuoteChar) - self.escChar = escChar - self.escQuote = escQuote - self.unquoteResults = unquoteResults - - if multiline: - self.flags = re.MULTILINE | re.DOTALL - self.pattern = r'%s(?:[^%s%s]' % \ - ( re.escape(self.quoteChar), - _escapeRegexRangeChars(self.endQuoteChar[0]), - (escChar is not None and _escapeRegexRangeChars(escChar) or '') ) - else: - self.flags = 0 - self.pattern = r'%s(?:[^%s\n\r%s]' % \ - ( re.escape(self.quoteChar), - _escapeRegexRangeChars(self.endQuoteChar[0]), - (escChar is not None and _escapeRegexRangeChars(escChar) or '') ) - if len(self.endQuoteChar) > 1: - self.pattern += ( - '|(?:' + ')|(?:'.join(["%s[^%s]" % (re.escape(self.endQuoteChar[:i]), - _escapeRegexRangeChars(self.endQuoteChar[i])) - for i in range(len(self.endQuoteChar)-1,0,-1)]) + ')' - ) - if escQuote: - self.pattern += (r'|(?:%s)' % re.escape(escQuote)) - if escChar: - self.pattern += (r'|(?:%s.)' % re.escape(escChar)) - charset = ''.join(set(self.quoteChar[0]+self.endQuoteChar[0])).replace('^',r'\^').replace('-',r'\-') - self.escCharReplacePattern = re.escape(self.escChar)+("([%s])" % charset) - self.pattern += (r')*%s' % re.escape(self.endQuoteChar)) - - try: - self.re = re.compile(self.pattern, self.flags) - self.reString = self.pattern - except sre_constants.error: - warnings.warn("invalid pattern (%s) passed to Regex" % self.pattern, - SyntaxWarning, stacklevel=2) - raise - - self.name = _ustr(self) - self.errmsg = "Expected " + self.name - self.mayIndexError = False - self.mayReturnEmpty = True - - def parseImpl( self, instring, loc, doActions=True ): - result = instring[loc] == self.firstQuoteChar and self.re.match(instring,loc) or None - if not result: - exc = self.myException - exc.loc = loc - exc.pstr = instring - raise exc - - loc = result.end() - ret = result.group() - - if self.unquoteResults: - - # strip off quotes - ret = ret[self.quoteCharLen:-self.endQuoteCharLen] - - if isinstance(ret,basestring): - # replace escaped characters - if self.escChar: - ret = re.sub(self.escCharReplacePattern,"\g<1>",ret) - - # replace escaped quotes - if self.escQuote: - ret = ret.replace(self.escQuote, self.endQuoteChar) - - return loc, ret - - def __str__( self ): - try: - return super(QuotedString,self).__str__() - except: - pass - - if self.strRepr is None: - self.strRepr = "quoted string, starting with %s ending with %s" % (self.quoteChar, self.endQuoteChar) - - return self.strRepr - - -class CharsNotIn(Token): - """Token for matching words composed of characters *not* in a given set. - Defined with string containing all disallowed characters, and an optional - minimum, maximum, and/or exact length. The default value for C{min} is 1 (a - minimum value < 1 is not valid); the default values for C{max} and C{exact} - are 0, meaning no maximum or exact length restriction. - """ - def __init__( self, notChars, min=1, max=0, exact=0 ): - super(CharsNotIn,self).__init__() - self.skipWhitespace = False - self.notChars = notChars - - if min < 1: - raise ValueError("cannot specify a minimum length < 1; use Optional(CharsNotIn()) if zero-length char group is permitted") - - self.minLen = min - - if max > 0: - self.maxLen = max - else: - self.maxLen = _MAX_INT - - if exact > 0: - self.maxLen = exact - self.minLen = exact - - self.name = _ustr(self) - self.errmsg = "Expected " + self.name - self.mayReturnEmpty = ( self.minLen == 0 ) - self.mayIndexError = False - - def parseImpl( self, instring, loc, doActions=True ): - if instring[loc] in self.notChars: - #~ raise ParseException( instring, loc, self.errmsg ) - exc = self.myException - exc.loc = loc - exc.pstr = instring - raise exc - - start = loc - loc += 1 - notchars = self.notChars - maxlen = min( start+self.maxLen, len(instring) ) - while loc < maxlen and \ - (instring[loc] not in notchars): - loc += 1 - - if loc - start < self.minLen: - #~ raise ParseException( instring, loc, self.errmsg ) - exc = self.myException - exc.loc = loc - exc.pstr = instring - raise exc - - return loc, instring[start:loc] - - def __str__( self ): - try: - return super(CharsNotIn, self).__str__() - except: - pass - - if self.strRepr is None: - if len(self.notChars) > 4: - self.strRepr = "!W:(%s...)" % self.notChars[:4] - else: - self.strRepr = "!W:(%s)" % self.notChars - - return self.strRepr - -class White(Token): - """Special matching class for matching whitespace. Normally, whitespace is ignored - by pyparsing grammars. This class is included when some whitespace structures - are significant. Define with a string containing the whitespace characters to be - matched; default is C{" \\t\\r\\n"}. Also takes optional C{min}, C{max}, and C{exact} arguments, - as defined for the C{L{Word}} class.""" - whiteStrs = { - " " : "", - "\t": "", - "\n": "", - "\r": "", - "\f": "", - } - def __init__(self, ws=" \t\r\n", min=1, max=0, exact=0): - super(White,self).__init__() - self.matchWhite = ws - self.setWhitespaceChars( "".join([c for c in self.whiteChars if c not in self.matchWhite]) ) - #~ self.leaveWhitespace() - self.name = ("".join([White.whiteStrs[c] for c in self.matchWhite])) - self.mayReturnEmpty = True - self.errmsg = "Expected " + self.name - - self.minLen = min - - if max > 0: - self.maxLen = max - else: - self.maxLen = _MAX_INT - - if exact > 0: - self.maxLen = exact - self.minLen = exact - - def parseImpl( self, instring, loc, doActions=True ): - if not(instring[ loc ] in self.matchWhite): - #~ raise ParseException( instring, loc, self.errmsg ) - exc = self.myException - exc.loc = loc - exc.pstr = instring - raise exc - start = loc - loc += 1 - maxloc = start + self.maxLen - maxloc = min( maxloc, len(instring) ) - while loc < maxloc and instring[loc] in self.matchWhite: - loc += 1 - - if loc - start < self.minLen: - #~ raise ParseException( instring, loc, self.errmsg ) - exc = self.myException - exc.loc = loc - exc.pstr = instring - raise exc - - return loc, instring[start:loc] - - -class _PositionToken(Token): - def __init__( self ): - super(_PositionToken,self).__init__() - self.name=self.__class__.__name__ - self.mayReturnEmpty = True - self.mayIndexError = False - -class GoToColumn(_PositionToken): - """Token to advance to a specific column of input text; useful for tabular report scraping.""" - def __init__( self, colno ): - super(GoToColumn,self).__init__() - self.col = colno - - def preParse( self, instring, loc ): - if col(loc,instring) != self.col: - instrlen = len(instring) - if self.ignoreExprs: - loc = self._skipIgnorables( instring, loc ) - while loc < instrlen and instring[loc].isspace() and col( loc, instring ) != self.col : - loc += 1 - return loc - - def parseImpl( self, instring, loc, doActions=True ): - thiscol = col( loc, instring ) - if thiscol > self.col: - raise ParseException( instring, loc, "Text not in expected column", self ) - newloc = loc + self.col - thiscol - ret = instring[ loc: newloc ] - return newloc, ret - -class LineStart(_PositionToken): - """Matches if current position is at the beginning of a line within the parse string""" - def __init__( self ): - super(LineStart,self).__init__() - self.setWhitespaceChars( ParserElement.DEFAULT_WHITE_CHARS.replace("\n","") ) - self.errmsg = "Expected start of line" - - def preParse( self, instring, loc ): - preloc = super(LineStart,self).preParse(instring,loc) - if instring[preloc] == "\n": - loc += 1 - return loc - - def parseImpl( self, instring, loc, doActions=True ): - if not( loc==0 or - (loc == self.preParse( instring, 0 )) or - (instring[loc-1] == "\n") ): #col(loc, instring) != 1: - #~ raise ParseException( instring, loc, "Expected start of line" ) - exc = self.myException - exc.loc = loc - exc.pstr = instring - raise exc - return loc, [] - -class LineEnd(_PositionToken): - """Matches if current position is at the end of a line within the parse string""" - def __init__( self ): - super(LineEnd,self).__init__() - self.setWhitespaceChars( ParserElement.DEFAULT_WHITE_CHARS.replace("\n","") ) - self.errmsg = "Expected end of line" - - def parseImpl( self, instring, loc, doActions=True ): - if loc len(instring): - return loc, [] - else: - exc = self.myException - exc.loc = loc - exc.pstr = instring - raise exc - -class WordStart(_PositionToken): - """Matches if the current position is at the beginning of a Word, and - is not preceded by any character in a given set of C{wordChars} - (default=C{printables}). To emulate the C{\b} behavior of regular expressions, - use C{WordStart(alphanums)}. C{WordStart} will also match at the beginning of - the string being parsed, or at the beginning of a line. - """ - def __init__(self, wordChars = printables): - super(WordStart,self).__init__() - self.wordChars = set(wordChars) - self.errmsg = "Not at the start of a word" - - def parseImpl(self, instring, loc, doActions=True ): - if loc != 0: - if (instring[loc-1] in self.wordChars or - instring[loc] not in self.wordChars): - exc = self.myException - exc.loc = loc - exc.pstr = instring - raise exc - return loc, [] - -class WordEnd(_PositionToken): - """Matches if the current position is at the end of a Word, and - is not followed by any character in a given set of C{wordChars} - (default=C{printables}). To emulate the C{\b} behavior of regular expressions, - use C{WordEnd(alphanums)}. C{WordEnd} will also match at the end of - the string being parsed, or at the end of a line. - """ - def __init__(self, wordChars = printables): - super(WordEnd,self).__init__() - self.wordChars = set(wordChars) - self.skipWhitespace = False - self.errmsg = "Not at the end of a word" - - def parseImpl(self, instring, loc, doActions=True ): - instrlen = len(instring) - if instrlen>0 and loc maxExcLoc: - maxException = err - maxExcLoc = err.loc - except IndexError: - if len(instring) > maxExcLoc: - maxException = ParseException(instring,len(instring),e.errmsg,self) - maxExcLoc = len(instring) - else: - if loc2 > maxMatchLoc: - maxMatchLoc = loc2 - maxMatchExp = e - - if maxMatchLoc < 0: - if maxException is not None: - raise maxException - else: - raise ParseException(instring, loc, "no defined alternatives to match", self) - - return maxMatchExp._parse( instring, loc, doActions ) - - def __ixor__(self, other ): - if isinstance( other, basestring ): - other = ParserElement.literalStringClass( other ) - return self.append( other ) #Or( [ self, other ] ) - - def __str__( self ): - if hasattr(self,"name"): - return self.name - - if self.strRepr is None: - self.strRepr = "{" + " ^ ".join( [ _ustr(e) for e in self.exprs ] ) + "}" - - return self.strRepr - - def checkRecursion( self, parseElementList ): - subRecCheckList = parseElementList[:] + [ self ] - for e in self.exprs: - e.checkRecursion( subRecCheckList ) - - -class MatchFirst(ParseExpression): - """Requires that at least one C{ParseExpression} is found. - If two expressions match, the first one listed is the one that will match. - May be constructed using the C{'|'} operator. - """ - def __init__( self, exprs, savelist = False ): - super(MatchFirst,self).__init__(exprs, savelist) - if exprs: - self.mayReturnEmpty = False - for e in self.exprs: - if e.mayReturnEmpty: - self.mayReturnEmpty = True - break - else: - self.mayReturnEmpty = True - - def parseImpl( self, instring, loc, doActions=True ): - maxExcLoc = -1 - maxException = None - for e in self.exprs: - try: - ret = e._parse( instring, loc, doActions ) - return ret - except ParseException, err: - if err.loc > maxExcLoc: - maxException = err - maxExcLoc = err.loc - except IndexError: - if len(instring) > maxExcLoc: - maxException = ParseException(instring,len(instring),e.errmsg,self) - maxExcLoc = len(instring) - - # only got here if no expression matched, raise exception for match that made it the furthest - else: - if maxException is not None: - raise maxException - else: - raise ParseException(instring, loc, "no defined alternatives to match", self) - - def __ior__(self, other ): - if isinstance( other, basestring ): - other = ParserElement.literalStringClass( other ) - return self.append( other ) #MatchFirst( [ self, other ] ) - - def __str__( self ): - if hasattr(self,"name"): - return self.name - - if self.strRepr is None: - self.strRepr = "{" + " | ".join( [ _ustr(e) for e in self.exprs ] ) + "}" - - return self.strRepr - - def checkRecursion( self, parseElementList ): - subRecCheckList = parseElementList[:] + [ self ] - for e in self.exprs: - e.checkRecursion( subRecCheckList ) - - -class Each(ParseExpression): - """Requires all given C{ParseExpression}s to be found, but in any order. - Expressions may be separated by whitespace. - May be constructed using the C{'&'} operator. - """ - def __init__( self, exprs, savelist = True ): - super(Each,self).__init__(exprs, savelist) - self.mayReturnEmpty = True - for e in self.exprs: - if not e.mayReturnEmpty: - self.mayReturnEmpty = False - break - self.skipWhitespace = True - self.initExprGroups = True - - def parseImpl( self, instring, loc, doActions=True ): - if self.initExprGroups: - opt1 = [ e.expr for e in self.exprs if isinstance(e,Optional) ] - opt2 = [ e for e in self.exprs if e.mayReturnEmpty and e not in opt1 ] - self.optionals = opt1 + opt2 - self.multioptionals = [ e.expr for e in self.exprs if isinstance(e,ZeroOrMore) ] - self.multirequired = [ e.expr for e in self.exprs if isinstance(e,OneOrMore) ] - self.required = [ e for e in self.exprs if not isinstance(e,(Optional,ZeroOrMore,OneOrMore)) ] - self.required += self.multirequired - self.initExprGroups = False - tmpLoc = loc - tmpReqd = self.required[:] - tmpOpt = self.optionals[:] - matchOrder = [] - - keepMatching = True - while keepMatching: - tmpExprs = tmpReqd + tmpOpt + self.multioptionals + self.multirequired - failed = [] - for e in tmpExprs: - try: - tmpLoc = e.tryParse( instring, tmpLoc ) - except ParseException: - failed.append(e) - else: - matchOrder.append(e) - if e in tmpReqd: - tmpReqd.remove(e) - elif e in tmpOpt: - tmpOpt.remove(e) - if len(failed) == len(tmpExprs): - keepMatching = False - - if tmpReqd: - missing = ", ".join( [ _ustr(e) for e in tmpReqd ] ) - raise ParseException(instring,loc,"Missing one or more required elements (%s)" % missing ) - - # add any unmatched Optionals, in case they have default values defined - matchOrder += [e for e in self.exprs if isinstance(e,Optional) and e.expr in tmpOpt] - - resultlist = [] - for e in matchOrder: - loc,results = e._parse(instring,loc,doActions) - resultlist.append(results) - - finalResults = ParseResults([]) - for r in resultlist: - dups = {} - for k in r.keys(): - if k in finalResults.keys(): - tmp = ParseResults(finalResults[k]) - tmp += ParseResults(r[k]) - dups[k] = tmp - finalResults += ParseResults(r) - for k,v in dups.items(): - finalResults[k] = v - return loc, finalResults - - def __str__( self ): - if hasattr(self,"name"): - return self.name - - if self.strRepr is None: - self.strRepr = "{" + " & ".join( [ _ustr(e) for e in self.exprs ] ) + "}" - - return self.strRepr - - def checkRecursion( self, parseElementList ): - subRecCheckList = parseElementList[:] + [ self ] - for e in self.exprs: - e.checkRecursion( subRecCheckList ) - - -class ParseElementEnhance(ParserElement): - """Abstract subclass of C{ParserElement}, for combining and post-processing parsed tokens.""" - def __init__( self, expr, savelist=False ): - super(ParseElementEnhance,self).__init__(savelist) - if isinstance( expr, basestring ): - expr = Literal(expr) - self.expr = expr - self.strRepr = None - if expr is not None: - self.mayIndexError = expr.mayIndexError - self.mayReturnEmpty = expr.mayReturnEmpty - self.setWhitespaceChars( expr.whiteChars ) - self.skipWhitespace = expr.skipWhitespace - self.saveAsList = expr.saveAsList - self.callPreparse = expr.callPreparse - self.ignoreExprs.extend(expr.ignoreExprs) - - def parseImpl( self, instring, loc, doActions=True ): - if self.expr is not None: - return self.expr._parse( instring, loc, doActions, callPreParse=False ) - else: - raise ParseException("",loc,self.errmsg,self) - - def leaveWhitespace( self ): - self.skipWhitespace = False - self.expr = self.expr.copy() - if self.expr is not None: - self.expr.leaveWhitespace() - return self - - def ignore( self, other ): - if isinstance( other, Suppress ): - if other not in self.ignoreExprs: - super( ParseElementEnhance, self).ignore( other ) - if self.expr is not None: - self.expr.ignore( self.ignoreExprs[-1] ) - else: - super( ParseElementEnhance, self).ignore( other ) - if self.expr is not None: - self.expr.ignore( self.ignoreExprs[-1] ) - return self - - def streamline( self ): - super(ParseElementEnhance,self).streamline() - if self.expr is not None: - self.expr.streamline() - return self - - def checkRecursion( self, parseElementList ): - if self in parseElementList: - raise RecursiveGrammarException( parseElementList+[self] ) - subRecCheckList = parseElementList[:] + [ self ] - if self.expr is not None: - self.expr.checkRecursion( subRecCheckList ) - - def validate( self, validateTrace=[] ): - tmp = validateTrace[:]+[self] - if self.expr is not None: - self.expr.validate(tmp) - self.checkRecursion( [] ) - - def __str__( self ): - try: - return super(ParseElementEnhance,self).__str__() - except: - pass - - if self.strRepr is None and self.expr is not None: - self.strRepr = "%s:(%s)" % ( self.__class__.__name__, _ustr(self.expr) ) - return self.strRepr - - -class FollowedBy(ParseElementEnhance): - """Lookahead matching of the given parse expression. C{FollowedBy} - does *not* advance the parsing position within the input string, it only - verifies that the specified parse expression matches at the current - position. C{FollowedBy} always returns a null token list.""" - def __init__( self, expr ): - super(FollowedBy,self).__init__(expr) - self.mayReturnEmpty = True - - def parseImpl( self, instring, loc, doActions=True ): - self.expr.tryParse( instring, loc ) - return loc, [] - - -class NotAny(ParseElementEnhance): - """Lookahead to disallow matching with the given parse expression. C{NotAny} - does *not* advance the parsing position within the input string, it only - verifies that the specified parse expression does *not* match at the current - position. Also, C{NotAny} does *not* skip over leading whitespace. C{NotAny} - always returns a null token list. May be constructed using the '~' operator.""" - def __init__( self, expr ): - super(NotAny,self).__init__(expr) - #~ self.leaveWhitespace() - self.skipWhitespace = False # do NOT use self.leaveWhitespace(), don't want to propagate to exprs - self.mayReturnEmpty = True - self.errmsg = "Found unwanted token, "+_ustr(self.expr) - - def parseImpl( self, instring, loc, doActions=True ): - try: - self.expr.tryParse( instring, loc ) - except (ParseException,IndexError): - pass - else: - #~ raise ParseException(instring, loc, self.errmsg ) - exc = self.myException - exc.loc = loc - exc.pstr = instring - raise exc - return loc, [] - - def __str__( self ): - if hasattr(self,"name"): - return self.name - - if self.strRepr is None: - self.strRepr = "~{" + _ustr(self.expr) + "}" - - return self.strRepr - - -class ZeroOrMore(ParseElementEnhance): - """Optional repetition of zero or more of the given expression.""" - def __init__( self, expr ): - super(ZeroOrMore,self).__init__(expr) - self.mayReturnEmpty = True - - def parseImpl( self, instring, loc, doActions=True ): - tokens = [] - try: - loc, tokens = self.expr._parse( instring, loc, doActions, callPreParse=False ) - hasIgnoreExprs = ( len(self.ignoreExprs) > 0 ) - while 1: - if hasIgnoreExprs: - preloc = self._skipIgnorables( instring, loc ) - else: - preloc = loc - loc, tmptokens = self.expr._parse( instring, preloc, doActions ) - if tmptokens or tmptokens.keys(): - tokens += tmptokens - except (ParseException,IndexError): - pass - - return loc, tokens - - def __str__( self ): - if hasattr(self,"name"): - return self.name - - if self.strRepr is None: - self.strRepr = "[" + _ustr(self.expr) + "]..." - - return self.strRepr - - def setResultsName( self, name, listAllMatches=False ): - ret = super(ZeroOrMore,self).setResultsName(name,listAllMatches) - ret.saveAsList = True - return ret - - -class OneOrMore(ParseElementEnhance): - """Repetition of one or more of the given expression.""" - def parseImpl( self, instring, loc, doActions=True ): - # must be at least one - loc, tokens = self.expr._parse( instring, loc, doActions, callPreParse=False ) - try: - hasIgnoreExprs = ( len(self.ignoreExprs) > 0 ) - while 1: - if hasIgnoreExprs: - preloc = self._skipIgnorables( instring, loc ) - else: - preloc = loc - loc, tmptokens = self.expr._parse( instring, preloc, doActions ) - if tmptokens or tmptokens.keys(): - tokens += tmptokens - except (ParseException,IndexError): - pass - - return loc, tokens - - def __str__( self ): - if hasattr(self,"name"): - return self.name - - if self.strRepr is None: - self.strRepr = "{" + _ustr(self.expr) + "}..." - - return self.strRepr - - def setResultsName( self, name, listAllMatches=False ): - ret = super(OneOrMore,self).setResultsName(name,listAllMatches) - ret.saveAsList = True - return ret - -class _NullToken(object): - def __bool__(self): - return False - __nonzero__ = __bool__ - def __str__(self): - return "" - -_optionalNotMatched = _NullToken() -class Optional(ParseElementEnhance): - """Optional matching of the given expression. - A default return string can also be specified, if the optional expression - is not found. - """ - def __init__( self, exprs, default=_optionalNotMatched ): - super(Optional,self).__init__( exprs, savelist=False ) - self.defaultValue = default - self.mayReturnEmpty = True - - def parseImpl( self, instring, loc, doActions=True ): - try: - loc, tokens = self.expr._parse( instring, loc, doActions, callPreParse=False ) - except (ParseException,IndexError): - if self.defaultValue is not _optionalNotMatched: - if self.expr.resultsName: - tokens = ParseResults([ self.defaultValue ]) - tokens[self.expr.resultsName] = self.defaultValue - else: - tokens = [ self.defaultValue ] - else: - tokens = [] - return loc, tokens - - def __str__( self ): - if hasattr(self,"name"): - return self.name - - if self.strRepr is None: - self.strRepr = "[" + _ustr(self.expr) + "]" - - return self.strRepr - - -class SkipTo(ParseElementEnhance): - """Token for skipping over all undefined text until the matched expression is found. - If C{include} is set to true, the matched expression is also parsed (the skipped text - and matched expression are returned as a 2-element list). The C{ignore} - argument is used to define grammars (typically quoted strings and comments) that - might contain false matches. - """ - def __init__( self, other, include=False, ignore=None, failOn=None ): - super( SkipTo, self ).__init__( other ) - self.ignoreExpr = ignore - self.mayReturnEmpty = True - self.mayIndexError = False - self.includeMatch = include - self.asList = False - if failOn is not None and isinstance(failOn, basestring): - self.failOn = Literal(failOn) - else: - self.failOn = failOn - self.errmsg = "No match found for "+_ustr(self.expr) - - def parseImpl( self, instring, loc, doActions=True ): - startLoc = loc - instrlen = len(instring) - expr = self.expr - failParse = False - while loc <= instrlen: - try: - if self.failOn: - try: - self.failOn.tryParse(instring, loc) - except ParseBaseException: - pass - else: - failParse = True - raise ParseException(instring, loc, "Found expression " + str(self.failOn)) - failParse = False - if self.ignoreExpr is not None: - while 1: - try: - loc = self.ignoreExpr.tryParse(instring,loc) - # print "found ignoreExpr, advance to", loc - except ParseBaseException: - break - expr._parse( instring, loc, doActions=False, callPreParse=False ) - skipText = instring[startLoc:loc] - if self.includeMatch: - loc,mat = expr._parse(instring,loc,doActions,callPreParse=False) - if mat: - skipRes = ParseResults( skipText ) - skipRes += mat - return loc, [ skipRes ] - else: - return loc, [ skipText ] - else: - return loc, [ skipText ] - except (ParseException,IndexError): - if failParse: - raise - else: - loc += 1 - exc = self.myException - exc.loc = loc - exc.pstr = instring - raise exc - -class Forward(ParseElementEnhance): - """Forward declaration of an expression to be defined later - - used for recursive grammars, such as algebraic infix notation. - When the expression is known, it is assigned to the C{Forward} variable using the '<<' operator. - - Note: take care when assigning to C{Forward} not to overlook precedence of operators. - Specifically, '|' has a lower precedence than '<<', so that:: - fwdExpr << a | b | c - will actually be evaluated as:: - (fwdExpr << a) | b | c - thereby leaving b and c out as parseable alternatives. It is recommended that you - explicitly group the values inserted into the C{Forward}:: - fwdExpr << (a | b | c) - Converting to use the '<<=' operator instead will avoid this problem. - """ - def __init__( self, other=None ): - super(Forward,self).__init__( other, savelist=False ) - - def __lshift__( self, other ): - if isinstance( other, basestring ): - other = ParserElement.literalStringClass(other) - self.expr = other - self.mayReturnEmpty = other.mayReturnEmpty - self.strRepr = None - self.mayIndexError = self.expr.mayIndexError - self.mayReturnEmpty = self.expr.mayReturnEmpty - self.setWhitespaceChars( self.expr.whiteChars ) - self.skipWhitespace = self.expr.skipWhitespace - self.saveAsList = self.expr.saveAsList - self.ignoreExprs.extend(self.expr.ignoreExprs) - return None - __ilshift__ = __lshift__ - - def leaveWhitespace( self ): - self.skipWhitespace = False - return self - - def streamline( self ): - if not self.streamlined: - self.streamlined = True - if self.expr is not None: - self.expr.streamline() - return self - - def validate( self, validateTrace=[] ): - if self not in validateTrace: - tmp = validateTrace[:]+[self] - if self.expr is not None: - self.expr.validate(tmp) - self.checkRecursion([]) - - def __str__( self ): - if hasattr(self,"name"): - return self.name - - self._revertClass = self.__class__ - self.__class__ = _ForwardNoRecurse - try: - if self.expr is not None: - retString = _ustr(self.expr) - else: - retString = "None" - finally: - self.__class__ = self._revertClass - return self.__class__.__name__ + ": " + retString - - def copy(self): - if self.expr is not None: - return super(Forward,self).copy() - else: - ret = Forward() - ret << self - return ret - -class _ForwardNoRecurse(Forward): - def __str__( self ): - return "..." - -class TokenConverter(ParseElementEnhance): - """Abstract subclass of C{ParseExpression}, for converting parsed results.""" - def __init__( self, expr, savelist=False ): - super(TokenConverter,self).__init__( expr )#, savelist ) - self.saveAsList = False - -class Upcase(TokenConverter): - """Converter to upper case all matching tokens.""" - def __init__(self, *args): - super(Upcase,self).__init__(*args) - warnings.warn("Upcase class is deprecated, use upcaseTokens parse action instead", - DeprecationWarning,stacklevel=2) - - def postParse( self, instring, loc, tokenlist ): - return list(map( str.upper, tokenlist )) - - -class Combine(TokenConverter): - """Converter to concatenate all matching tokens to a single string. - By default, the matching patterns must also be contiguous in the input string; - this can be disabled by specifying C{'adjacent=False'} in the constructor. - """ - def __init__( self, expr, joinString="", adjacent=True ): - super(Combine,self).__init__( expr ) - # suppress whitespace-stripping in contained parse expressions, but re-enable it on the Combine itself - if adjacent: - self.leaveWhitespace() - self.adjacent = adjacent - self.skipWhitespace = True - self.joinString = joinString - self.callPreparse = True - - def ignore( self, other ): - if self.adjacent: - ParserElement.ignore(self, other) - else: - super( Combine, self).ignore( other ) - return self - - def postParse( self, instring, loc, tokenlist ): - retToks = tokenlist.copy() - del retToks[:] - retToks += ParseResults([ "".join(tokenlist._asStringList(self.joinString)) ], modal=self.modalResults) - - if self.resultsName and len(retToks.keys())>0: - return [ retToks ] - else: - return retToks - -class Group(TokenConverter): - """Converter to return the matched tokens as a list - useful for returning tokens of C{L{ZeroOrMore}} and C{L{OneOrMore}} expressions.""" - def __init__( self, expr ): - super(Group,self).__init__( expr ) - self.saveAsList = True - - def postParse( self, instring, loc, tokenlist ): - return [ tokenlist ] - -class Dict(TokenConverter): - """Converter to return a repetitive expression as a list, but also as a dictionary. - Each element can also be referenced using the first token in the expression as its key. - Useful for tabular report scraping when the first column can be used as a item key. - """ - def __init__( self, exprs ): - super(Dict,self).__init__( exprs ) - self.saveAsList = True - - def postParse( self, instring, loc, tokenlist ): - for i,tok in enumerate(tokenlist): - if len(tok) == 0: - continue - ikey = tok[0] - if isinstance(ikey,int): - ikey = _ustr(tok[0]).strip() - if len(tok)==1: - tokenlist[ikey] = _ParseResultsWithOffset("",i) - elif len(tok)==2 and not isinstance(tok[1],ParseResults): - tokenlist[ikey] = _ParseResultsWithOffset(tok[1],i) - else: - dictvalue = tok.copy() #ParseResults(i) - del dictvalue[0] - if len(dictvalue)!= 1 or (isinstance(dictvalue,ParseResults) and dictvalue.keys()): - tokenlist[ikey] = _ParseResultsWithOffset(dictvalue,i) - else: - tokenlist[ikey] = _ParseResultsWithOffset(dictvalue[0],i) - - if self.resultsName: - return [ tokenlist ] - else: - return tokenlist - - -class Suppress(TokenConverter): - """Converter for ignoring the results of a parsed expression.""" - def postParse( self, instring, loc, tokenlist ): - return [] - - def suppress( self ): - return self - - -class OnlyOnce(object): - """Wrapper for parse actions, to ensure they are only called once.""" - def __init__(self, methodCall): - self.callable = _trim_arity(methodCall) - self.called = False - def __call__(self,s,l,t): - if not self.called: - results = self.callable(s,l,t) - self.called = True - return results - raise ParseException(s,l,"") - def reset(self): - self.called = False - -def traceParseAction(f): - """Decorator for debugging parse actions.""" - f = _trim_arity(f) - def z(*paArgs): - thisFunc = f.func_name - s,l,t = paArgs[-3:] - if len(paArgs)>3: - thisFunc = paArgs[0].__class__.__name__ + '.' + thisFunc - sys.stderr.write( ">>entering %s(line: '%s', %d, %s)\n" % (thisFunc,line(l,s),l,t) ) - try: - ret = f(*paArgs) - except Exception, exc: - sys.stderr.write( "<", "|".join( [ _escapeRegexChars(sym) for sym in symbols] )) - try: - if len(symbols)==len("".join(symbols)): - return Regex( "[%s]" % "".join( [ _escapeRegexRangeChars(sym) for sym in symbols] ) ) - else: - return Regex( "|".join( [ re.escape(sym) for sym in symbols] ) ) - except: - warnings.warn("Exception creating Regex for oneOf, building MatchFirst", - SyntaxWarning, stacklevel=2) - - - # last resort, just use MatchFirst - return MatchFirst( [ parseElementClass(sym) for sym in symbols ] ) - -def dictOf( key, value ): - """Helper to easily and clearly define a dictionary by specifying the respective patterns - for the key and value. Takes care of defining the C{L{Dict}}, C{L{ZeroOrMore}}, and C{L{Group}} tokens - in the proper order. The key pattern can include delimiting markers or punctuation, - as long as they are suppressed, thereby leaving the significant key text. The value - pattern can include named results, so that the C{Dict} results can include named token - fields. - """ - return Dict( ZeroOrMore( Group ( key + value ) ) ) - -def originalTextFor(expr, asString=True): - """Helper to return the original, untokenized text for a given expression. Useful to - restore the parsed fields of an HTML start tag into the raw tag text itself, or to - revert separate tokens with intervening whitespace back to the original matching - input text. Simpler to use than the parse action C{L{keepOriginalText}}, and does not - require the inspect module to chase up the call stack. By default, returns a - string containing the original parsed text. - - If the optional C{asString} argument is passed as C{False}, then the return value is a - C{L{ParseResults}} containing any results names that were originally matched, and a - single token containing the original matched text from the input string. So if - the expression passed to C{L{originalTextFor}} contains expressions with defined - results names, you must set C{asString} to C{False} if you want to preserve those - results name values.""" - locMarker = Empty().setParseAction(lambda s,loc,t: loc) - endlocMarker = locMarker.copy() - endlocMarker.callPreparse = False - matchExpr = locMarker("_original_start") + expr + endlocMarker("_original_end") - if asString: - extractText = lambda s,l,t: s[t._original_start:t._original_end] - else: - def extractText(s,l,t): - del t[:] - t.insert(0, s[t._original_start:t._original_end]) - del t["_original_start"] - del t["_original_end"] - matchExpr.setParseAction(extractText) - return matchExpr - -def ungroup(expr): - """Helper to undo pyparsing's default grouping of And expressions, even - if all but one are non-empty.""" - return TokenConverter(expr).setParseAction(lambda t:t[0]) - -# convenience constants for positional expressions -empty = Empty().setName("empty") -lineStart = LineStart().setName("lineStart") -lineEnd = LineEnd().setName("lineEnd") -stringStart = StringStart().setName("stringStart") -stringEnd = StringEnd().setName("stringEnd") - -_escapedPunc = Word( _bslash, r"\[]-*.$+^?()~ ", exact=2 ).setParseAction(lambda s,l,t:t[0][1]) -_printables_less_backslash = "".join([ c for c in printables if c not in r"\]" ]) -_escapedHexChar = Regex(r"\\0?[xX][0-9a-fA-F]+").setParseAction(lambda s,l,t:unichr(int(t[0].lstrip(r'\0x'),16))) -_escapedOctChar = Regex(r"\\0[0-7]+").setParseAction(lambda s,l,t:unichr(int(t[0][1:],8))) -_singleChar = _escapedPunc | _escapedHexChar | _escapedOctChar | Word(_printables_less_backslash,exact=1) -_charRange = Group(_singleChar + Suppress("-") + _singleChar) -_reBracketExpr = Literal("[") + Optional("^").setResultsName("negate") + Group( OneOrMore( _charRange | _singleChar ) ).setResultsName("body") + "]" - -_expanded = lambda p: (isinstance(p,ParseResults) and ''.join([ unichr(c) for c in range(ord(p[0]),ord(p[1])+1) ]) or p) - -def srange(s): - r"""Helper to easily define string ranges for use in Word construction. Borrows - syntax from regexp '[]' string range definitions:: - srange("[0-9]") -> "0123456789" - srange("[a-z]") -> "abcdefghijklmnopqrstuvwxyz" - srange("[a-z$_]") -> "abcdefghijklmnopqrstuvwxyz$_" - The input string must be enclosed in []'s, and the returned string is the expanded - character set joined into a single string. - The values enclosed in the []'s may be:: - a single character - an escaped character with a leading backslash (such as \- or \]) - an escaped hex character with a leading '\x' (\x21, which is a '!' character) - (\0x## is also supported for backwards compatibility) - an escaped octal character with a leading '\0' (\041, which is a '!' character) - a range of any of the above, separated by a dash ('a-z', etc.) - any combination of the above ('aeiouy', 'a-zA-Z0-9_$', etc.) - """ - try: - return "".join([_expanded(part) for part in _reBracketExpr.parseString(s).body]) - except: - return "" - -def matchOnlyAtCol(n): - """Helper method for defining parse actions that require matching at a specific - column in the input text. - """ - def verifyCol(strg,locn,toks): - if col(locn,strg) != n: - raise ParseException(strg,locn,"matched token not at column %d" % n) - return verifyCol - -def replaceWith(replStr): - """Helper method for common parse actions that simply return a literal value. Especially - useful when used with C{L{transformString}()}. - """ - def _replFunc(*args): - return [replStr] - return _replFunc - -def removeQuotes(s,l,t): - """Helper parse action for removing quotation marks from parsed quoted strings. - To use, add this parse action to quoted string using:: - quotedString.setParseAction( removeQuotes ) - """ - return t[0][1:-1] - -def upcaseTokens(s,l,t): - """Helper parse action to convert tokens to upper case.""" - return [ tt.upper() for tt in map(_ustr,t) ] - -def downcaseTokens(s,l,t): - """Helper parse action to convert tokens to lower case.""" - return [ tt.lower() for tt in map(_ustr,t) ] - -def keepOriginalText(s,startLoc,t): - """DEPRECATED - use new helper method C{L{originalTextFor}}. - Helper parse action to preserve original parsed text, - overriding any nested parse actions.""" - try: - endloc = getTokensEndLoc() - except ParseException: - raise ParseFatalException("incorrect usage of keepOriginalText - may only be called as a parse action") - del t[:] - t += ParseResults(s[startLoc:endloc]) - return t - -def getTokensEndLoc(): - """Method to be called from within a parse action to determine the end - location of the parsed tokens.""" - import inspect - fstack = inspect.stack() - try: - # search up the stack (through intervening argument normalizers) for correct calling routine - for f in fstack[2:]: - if f[3] == "_parseNoCache": - endloc = f[0].f_locals["loc"] - return endloc - else: - raise ParseFatalException("incorrect usage of getTokensEndLoc - may only be called from within a parse action") - finally: - del fstack - -def _makeTags(tagStr, xml): - """Internal helper to construct opening and closing tag expressions, given a tag name""" - if isinstance(tagStr,basestring): - resname = tagStr - tagStr = Keyword(tagStr, caseless=not xml) - else: - resname = tagStr.name - - tagAttrName = Word(alphas,alphanums+"_-:") - if (xml): - tagAttrValue = dblQuotedString.copy().setParseAction( removeQuotes ) - openTag = Suppress("<") + tagStr("tag") + \ - Dict(ZeroOrMore(Group( tagAttrName + Suppress("=") + tagAttrValue ))) + \ - Optional("/",default=[False]).setResultsName("empty").setParseAction(lambda s,l,t:t[0]=='/') + Suppress(">") - else: - printablesLessRAbrack = "".join( [ c for c in printables if c not in ">" ] ) - tagAttrValue = quotedString.copy().setParseAction( removeQuotes ) | Word(printablesLessRAbrack) - openTag = Suppress("<") + tagStr("tag") + \ - Dict(ZeroOrMore(Group( tagAttrName.setParseAction(downcaseTokens) + \ - Optional( Suppress("=") + tagAttrValue ) ))) + \ - Optional("/",default=[False]).setResultsName("empty").setParseAction(lambda s,l,t:t[0]=='/') + Suppress(">") - closeTag = Combine(_L("") - - openTag = openTag.setResultsName("start"+"".join(resname.replace(":"," ").title().split())).setName("<%s>" % tagStr) - closeTag = closeTag.setResultsName("end"+"".join(resname.replace(":"," ").title().split())).setName("" % tagStr) - openTag.tag = resname - closeTag.tag = resname - return openTag, closeTag - -def makeHTMLTags(tagStr): - """Helper to construct opening and closing tag expressions for HTML, given a tag name""" - return _makeTags( tagStr, False ) - -def makeXMLTags(tagStr): - """Helper to construct opening and closing tag expressions for XML, given a tag name""" - return _makeTags( tagStr, True ) - -def withAttribute(*args,**attrDict): - """Helper to create a validating parse action to be used with start tags created - with C{L{makeXMLTags}} or C{L{makeHTMLTags}}. Use C{withAttribute} to qualify a starting tag - with a required attribute value, to avoid false matches on common tags such as - C{} or C{
}. - - Call C{withAttribute} with a series of attribute names and values. Specify the list - of filter attributes names and values as: - - keyword arguments, as in C{(align="right")}, or - - as an explicit dict with C{**} operator, when an attribute name is also a Python - reserved word, as in C{**{"class":"Customer", "align":"right"}} - - a list of name-value tuples, as in ( ("ns1:class", "Customer"), ("ns2:align","right") ) - For attribute names with a namespace prefix, you must use the second form. Attribute - names are matched insensitive to upper/lower case. - - To verify that the attribute exists, but without specifying a value, pass - C{withAttribute.ANY_VALUE} as the value. - """ - if args: - attrs = args[:] - else: - attrs = attrDict.items() - attrs = [(k,v) for k,v in attrs] - def pa(s,l,tokens): - for attrName,attrValue in attrs: - if attrName not in tokens: - raise ParseException(s,l,"no matching attribute " + attrName) - if attrValue != withAttribute.ANY_VALUE and tokens[attrName] != attrValue: - raise ParseException(s,l,"attribute '%s' has value '%s', must be '%s'" % - (attrName, tokens[attrName], attrValue)) - return pa -withAttribute.ANY_VALUE = object() - -opAssoc = _Constants() -opAssoc.LEFT = object() -opAssoc.RIGHT = object() - -def infixNotation( baseExpr, opList, lpar=Suppress('('), rpar=Suppress(')') ): - """Helper method for constructing grammars of expressions made up of - operators working in a precedence hierarchy. Operators may be unary or - binary, left- or right-associative. Parse actions can also be attached - to operator expressions. - - Parameters: - - baseExpr - expression representing the most basic element for the nested - - opList - list of tuples, one for each operator precedence level in the - expression grammar; each tuple is of the form - (opExpr, numTerms, rightLeftAssoc, parseAction), where: - - opExpr is the pyparsing expression for the operator; - may also be a string, which will be converted to a Literal; - if numTerms is 3, opExpr is a tuple of two expressions, for the - two operators separating the 3 terms - - numTerms is the number of terms for this operator (must - be 1, 2, or 3) - - rightLeftAssoc is the indicator whether the operator is - right or left associative, using the pyparsing-defined - constants C{opAssoc.RIGHT} and C{opAssoc.LEFT}. - - parseAction is the parse action to be associated with - expressions matching this operator expression (the - parse action tuple member may be omitted) - - lpar - expression for matching left-parentheses (default=Suppress('(')) - - rpar - expression for matching right-parentheses (default=Suppress(')')) - """ - ret = Forward() - lastExpr = baseExpr | ( lpar + ret + rpar ) - for i,operDef in enumerate(opList): - opExpr,arity,rightLeftAssoc,pa = (operDef + (None,))[:4] - if arity == 3: - if opExpr is None or len(opExpr) != 2: - raise ValueError("if numterms=3, opExpr must be a tuple or list of two expressions") - opExpr1, opExpr2 = opExpr - thisExpr = Forward()#.setName("expr%d" % i) - if rightLeftAssoc == opAssoc.LEFT: - if arity == 1: - matchExpr = FollowedBy(lastExpr + opExpr) + Group( lastExpr + OneOrMore( opExpr ) ) - elif arity == 2: - if opExpr is not None: - matchExpr = FollowedBy(lastExpr + opExpr + lastExpr) + Group( lastExpr + OneOrMore( opExpr + lastExpr ) ) - else: - matchExpr = FollowedBy(lastExpr+lastExpr) + Group( lastExpr + OneOrMore(lastExpr) ) - elif arity == 3: - matchExpr = FollowedBy(lastExpr + opExpr1 + lastExpr + opExpr2 + lastExpr) + \ - Group( lastExpr + opExpr1 + lastExpr + opExpr2 + lastExpr ) - else: - raise ValueError("operator must be unary (1), binary (2), or ternary (3)") - elif rightLeftAssoc == opAssoc.RIGHT: - if arity == 1: - # try to avoid LR with this extra test - if not isinstance(opExpr, Optional): - opExpr = Optional(opExpr) - matchExpr = FollowedBy(opExpr.expr + thisExpr) + Group( opExpr + thisExpr ) - elif arity == 2: - if opExpr is not None: - matchExpr = FollowedBy(lastExpr + opExpr + thisExpr) + Group( lastExpr + OneOrMore( opExpr + thisExpr ) ) - else: - matchExpr = FollowedBy(lastExpr + thisExpr) + Group( lastExpr + OneOrMore( thisExpr ) ) - elif arity == 3: - matchExpr = FollowedBy(lastExpr + opExpr1 + thisExpr + opExpr2 + thisExpr) + \ - Group( lastExpr + opExpr1 + thisExpr + opExpr2 + thisExpr ) - else: - raise ValueError("operator must be unary (1), binary (2), or ternary (3)") - else: - raise ValueError("operator must indicate right or left associativity") - if pa: - matchExpr.setParseAction( pa ) - thisExpr << ( matchExpr | lastExpr ) - lastExpr = thisExpr - ret << lastExpr - return ret -operatorPrecedence = infixNotation - -dblQuotedString = Regex(r'"(?:[^"\n\r\\]|(?:"")|(?:\\x[0-9a-fA-F]+)|(?:\\.))*"').setName("string enclosed in double quotes") -sglQuotedString = Regex(r"'(?:[^'\n\r\\]|(?:'')|(?:\\x[0-9a-fA-F]+)|(?:\\.))*'").setName("string enclosed in single quotes") -quotedString = Regex(r'''(?:"(?:[^"\n\r\\]|(?:"")|(?:\\x[0-9a-fA-F]+)|(?:\\.))*")|(?:'(?:[^'\n\r\\]|(?:'')|(?:\\x[0-9a-fA-F]+)|(?:\\.))*')''').setName("quotedString using single or double quotes") -unicodeString = Combine(_L('u') + quotedString.copy()) - -def nestedExpr(opener="(", closer=")", content=None, ignoreExpr=quotedString.copy()): - """Helper method for defining nested lists enclosed in opening and closing - delimiters ("(" and ")" are the default). - - Parameters: - - opener - opening character for a nested list (default="("); can also be a pyparsing expression - - closer - closing character for a nested list (default=")"); can also be a pyparsing expression - - content - expression for items within the nested lists (default=None) - - ignoreExpr - expression for ignoring opening and closing delimiters (default=quotedString) - - If an expression is not provided for the content argument, the nested - expression will capture all whitespace-delimited content between delimiters - as a list of separate values. - - Use the C{ignoreExpr} argument to define expressions that may contain - opening or closing characters that should not be treated as opening - or closing characters for nesting, such as quotedString or a comment - expression. Specify multiple expressions using an C{L{Or}} or C{L{MatchFirst}}. - The default is L{quotedString}, but if no expressions are to be ignored, - then pass C{None} for this argument. - """ - if opener == closer: - raise ValueError("opening and closing strings cannot be the same") - if content is None: - if isinstance(opener,basestring) and isinstance(closer,basestring): - if len(opener) == 1 and len(closer)==1: - if ignoreExpr is not None: - content = (Combine(OneOrMore(~ignoreExpr + - CharsNotIn(opener+closer+ParserElement.DEFAULT_WHITE_CHARS,exact=1)) - ).setParseAction(lambda t:t[0].strip())) - else: - content = (empty.copy()+CharsNotIn(opener+closer+ParserElement.DEFAULT_WHITE_CHARS - ).setParseAction(lambda t:t[0].strip())) - else: - if ignoreExpr is not None: - content = (Combine(OneOrMore(~ignoreExpr + - ~Literal(opener) + ~Literal(closer) + - CharsNotIn(ParserElement.DEFAULT_WHITE_CHARS,exact=1)) - ).setParseAction(lambda t:t[0].strip())) - else: - content = (Combine(OneOrMore(~Literal(opener) + ~Literal(closer) + - CharsNotIn(ParserElement.DEFAULT_WHITE_CHARS,exact=1)) - ).setParseAction(lambda t:t[0].strip())) - else: - raise ValueError("opening and closing arguments must be strings if no content expression is given") - ret = Forward() - if ignoreExpr is not None: - ret << Group( Suppress(opener) + ZeroOrMore( ignoreExpr | ret | content ) + Suppress(closer) ) - else: - ret << Group( Suppress(opener) + ZeroOrMore( ret | content ) + Suppress(closer) ) - return ret - -def indentedBlock(blockStatementExpr, indentStack, indent=True): - """Helper method for defining space-delimited indentation blocks, such as - those used to define block statements in Python source code. - - Parameters: - - blockStatementExpr - expression defining syntax of statement that - is repeated within the indented block - - indentStack - list created by caller to manage indentation stack - (multiple statementWithIndentedBlock expressions within a single grammar - should share a common indentStack) - - indent - boolean indicating whether block must be indented beyond the - the current level; set to False for block of left-most statements - (default=True) - - A valid block must contain at least one C{blockStatement}. - """ - def checkPeerIndent(s,l,t): - if l >= len(s): return - curCol = col(l,s) - if curCol != indentStack[-1]: - if curCol > indentStack[-1]: - raise ParseFatalException(s,l,"illegal nesting") - raise ParseException(s,l,"not a peer entry") - - def checkSubIndent(s,l,t): - curCol = col(l,s) - if curCol > indentStack[-1]: - indentStack.append( curCol ) - else: - raise ParseException(s,l,"not a subentry") - - def checkUnindent(s,l,t): - if l >= len(s): return - curCol = col(l,s) - if not(indentStack and curCol < indentStack[-1] and curCol <= indentStack[-2]): - raise ParseException(s,l,"not an unindent") - indentStack.pop() - - NL = OneOrMore(LineEnd().setWhitespaceChars("\t ").suppress()) - INDENT = Empty() + Empty().setParseAction(checkSubIndent) - PEER = Empty().setParseAction(checkPeerIndent) - UNDENT = Empty().setParseAction(checkUnindent) - if indent: - smExpr = Group( Optional(NL) + - #~ FollowedBy(blockStatementExpr) + - INDENT + (OneOrMore( PEER + Group(blockStatementExpr) + Optional(NL) )) + UNDENT) - else: - smExpr = Group( Optional(NL) + - (OneOrMore( PEER + Group(blockStatementExpr) + Optional(NL) )) ) - blockStatementExpr.ignore(_bslash + LineEnd()) - return smExpr - -alphas8bit = srange(r"[\0xc0-\0xd6\0xd8-\0xf6\0xf8-\0xff]") -punc8bit = srange(r"[\0xa1-\0xbf\0xd7\0xf7]") - -anyOpenTag,anyCloseTag = makeHTMLTags(Word(alphas,alphanums+"_:")) -commonHTMLEntity = Combine(_L("&") + oneOf("gt lt amp nbsp quot").setResultsName("entity") +";").streamline() -_htmlEntityMap = dict(zip("gt lt amp nbsp quot".split(),'><& "')) -replaceHTMLEntity = lambda t : t.entity in _htmlEntityMap and _htmlEntityMap[t.entity] or None - -# it's easy to get these comment structures wrong - they're very common, so may as well make them available -cStyleComment = Regex(r"/\*(?:[^*]*\*+)+?/").setName("C style comment") - -htmlComment = Regex(r"") -restOfLine = Regex(r".*").leaveWhitespace() -dblSlashComment = Regex(r"\/\/(\\\n|.)*").setName("// comment") -cppStyleComment = Regex(r"/(?:\*(?:[^*]*\*+)+?/|/[^\n]*(?:\n[^\n]*)*?(?:(?" + str(tokenlist)) - print ("tokens = " + str(tokens)) - print ("tokens.columns = " + str(tokens.columns)) - print ("tokens.tables = " + str(tokens.tables)) - print (tokens.asXML("SQL",True)) - except ParseBaseException, err: - print (teststring + "->") - print (err.line) - print (" "*(err.column-1) + "^") - print (err) - print() - - selectToken = CaselessLiteral( "select" ) - fromToken = CaselessLiteral( "from" ) - - ident = Word( alphas, alphanums + "_$" ) - columnName = delimitedList( ident, ".", combine=True ).setParseAction( upcaseTokens ) - columnNameList = Group( delimitedList( columnName ) )#.setName("columns") - tableName = delimitedList( ident, ".", combine=True ).setParseAction( upcaseTokens ) - tableNameList = Group( delimitedList( tableName ) )#.setName("tables") - simpleSQL = ( selectToken + \ - ( '*' | columnNameList ).setResultsName( "columns" ) + \ - fromToken + \ - tableNameList.setResultsName( "tables" ) ) - - test( "SELECT * from XYZZY, ABC" ) - test( "select * from SYS.XYZZY" ) - test( "Select A from Sys.dual" ) - test( "Select AA,BB,CC from Sys.dual" ) - test( "Select A, B, C from Sys.dual" ) - test( "Select A, B, C from Sys.dual" ) - test( "Xelect A, B, C from Sys.dual" ) - test( "Select A, B, C frox Sys.dual" ) - test( "Select" ) - test( "Select ^^^ frox Sys.dual" ) - test( "Select A, B, C from Sys.dual, Table2 " ) +#!/usr/bin/env python +# vim:fileencoding=utf-8 +from __future__ import (unicode_literals, division, absolute_import, + print_function) + +__license__ = 'GPL v3' +__copyright__ = '2013, Kovid Goyal ' + +# Dummy file for backwards compatibility with older plugins +from calibre.utils.search_query_parser import ParseException # noqa + diff --git a/src/calibre/utils/search_query_parser.py b/src/calibre/utils/search_query_parser.py index cbf1e1b245..589aa313f2 100644 --- a/src/calibre/utils/search_query_parser.py +++ b/src/calibre/utils/search_query_parser.py @@ -16,11 +16,8 @@ If this module is run, it will perform a series of unit tests. ''' -import sys, operator, weakref +import sys, operator, weakref, re -from calibre.utils.pyparsing import (CaselessKeyword, Group, Forward, - CharsNotIn, Suppress, OneOrMore, MatchFirst, CaselessLiteral, - Optional, NoMatch, ParseException, QuotedString) from calibre.constants import preferred_encoding from calibre.utils.icu import sort_key from calibre import prints @@ -96,6 +93,161 @@ def saved_searches(): global ss return ss +''' +Parse a search expression into a series of potentially recursive operations. + +Note that the interpreter wants binary operators, not n-ary ops. This is why we +recurse instead of iterating when building sequences of the same op. + +The syntax is more than a bit twisted. In particular, the handling of colons +in the base token requires semantic analysis. + +Also note that the query string is lowercased before analysis. This is OK because +calibre's searches are all case-insensitive. + +Grammar: + +prog ::= or_expression + +or_expression ::= and_expression [ 'or' or_expression ] + +and_expression ::= not_expression [ [ 'and' ] and_expression ] + +not_expression ::= [ 'not' ] location_expression + +location_expression ::= base_token | ( '(' or_expression ')' ) + +base_token ::= a sequence of letters and colons, perhaps quoted +''' +class Parser(object): + + def __init__(self): + self.current_token = 0 + self.tokens = None + + OPCODE = 1 + WORD = 2 + QUOTED_WORD = 3 + EOF = 4 + + # Had to translate named constants to numeric values + lex_scanner = re.Scanner([ + (r'[()]', lambda x,t: (1, t)), + (r'@.+?:[^")\s]+', lambda x,t: (2, unicode(t))), + (r'[^"()\s]+', lambda x,t: (2, unicode(t))), + (r'".*?((?= len(self.tokens) + + def advance(self): + self.current_token += 1 + + def parse(self, expr, locations): + self.locations = locations + self.tokens = self.lex_scanner.scan(expr)[0] + self.current_token = 0 + prog = self.or_expression() + if not self.is_eof(): + raise ParseException(_('Extra characters at end of search')) + #prints(self.tokens, '\n', prog) + return prog + + def or_expression(self): + lhs = self.and_expression() + if self.lcase_token() == 'or': + self.advance() + return ['or', lhs, self.or_expression()] + return lhs + + def and_expression(self): + lhs = self.not_expression() + if self.lcase_token() == 'and': + self.advance() + return ['and', lhs, self.and_expression()] + + # Account for the optional 'and' + if (self.token_type() in [self.WORD, self.QUOTED_WORD] and + self.lcase_token() != 'or'): + return ['and', lhs, self.and_expression()] + return lhs + + def not_expression(self): + if self.lcase_token() == 'not': + self.advance() + return ['not', self.not_expression()] + return self.location_expression() + + def location_expression(self): + if self.token() == '(': + self.advance() + res = self.or_expression() + if self.token(advance=True) != ')': + raise ParseException(_('missing )')) + return res + if self.token_type() not in [ self.WORD, self.QUOTED_WORD ]: + raise ParseException(_('Invalid syntax. Expected a lookup name or a word')) + + return self.base_token() + + def base_token(self): + if self.token_type() == self.QUOTED_WORD: + return ['token', 'all', self.token(advance=True)] + + words = self.token(advance=True).split(':') + + # The complexity here comes from having colon-separated search + # values. That forces us to check that the first "word" in a colon- + # separated group is a valid location. If not, then the token must + # be reconstructed. We also have the problem that locations can be + # followed by quoted strings that appear as the next token. and that + # tokens can be a sequence of colons. + + # We have a location if there is more than one word and the first + # word is in locations. This check could produce a "wrong" answer if + # the search string is something like 'author: "foo"' because it + # will be interpreted as 'author:"foo"'. I am choosing to accept the + # possible error. The expression should be written '"author:" foo' + if len(words) > 1 and words[0] in self.locations: + loc = words[0] + words = words[1:] + if len(words) == 1 and self.token_type() == self.QUOTED_WORD: + return ['token', loc, self.token(advance=True)] + return ['token', icu_lower(loc), ':'.join(words)] + + return ['token', 'all', ':'.join(words)] + +class ParseException(Exception): + + @property + def msg(self): + if len(self.args) > 0: + return self.args[0] + return "" + class SearchQueryParser(object): ''' Parses a search query. @@ -134,70 +286,15 @@ def run_tests(parser, result, tests): def __init__(self, locations, test=False, optimize=False): self.sqp_initialize(locations, test=test, optimize=optimize) + self.parser = Parser() def sqp_change_locations(self, locations): self.sqp_initialize(locations, optimize=self.optimize) def sqp_initialize(self, locations, test=False, optimize=False): + self.locations = locations self._tests_failed = False self.optimize = optimize - # Define a token - standard_locations = map(lambda x : CaselessLiteral(x)+Suppress(':'), - locations) - location = NoMatch() - for l in standard_locations: - location |= l - location = Optional(location, default='all') - word_query = CharsNotIn(u'\t\r\n\u00a0 ' + u'()') - #quoted_query = Suppress('"')+CharsNotIn('"')+Suppress('"') - quoted_query = QuotedString('"', escChar='\\') - query = quoted_query | word_query - Token = Group(location + query).setResultsName('token') - - if test: - print 'Testing Token parser:' - Token.validate() - failed = SearchQueryParser.run_tests(Token, 'token', - ( - ('tag:asd', ['tag', 'asd']), - (u'ddsä', ['all', u'ddsä']), - ('"one \\"two"', ['all', 'one "two']), - ('title:"one \\"1.5\\" two"', ['title', 'one "1.5" two']), - ('title:abc"def', ['title', 'abc"def']), - ) - ) - - Or = Forward() - - Parenthesis = Group( - Suppress('(') + Or + Suppress(')') - ).setResultsName('parenthesis') | Token - - - Not = Forward() - Not << (Group( - Suppress(CaselessKeyword("not")) + Not - ).setResultsName("not") | Parenthesis) - - And = Forward() - And << (Group( - Not + Suppress(CaselessKeyword("and")) + And - ).setResultsName("and") | Group( - Not + OneOrMore(~MatchFirst(list(map(CaselessKeyword, - ('and', 'or')))) + And) - ).setResultsName("and") | Not) - - Or << (Group( - And + Suppress(CaselessKeyword("or")) + Or - ).setResultsName("or") | And) - - if test: - #Or.validate() - self._tests_failed = bool(failed) - - self._parser = Or - self._parser.setDebug(False) - def parse(self, query): # empty the list of searches used for recursion testing @@ -213,10 +310,9 @@ def parse(self, query): def _parse(self, query, candidates=None): self.recurse_level += 1 try: - res = self._parser.parseString(query)[0] + res = self.parser.parse(query, self.locations) except RuntimeError: - import repr - raise ParseException('Failed to parse query, recursion limit reached: %s'%repr(query)) + raise ParseException(_('Failed to parse query, recursion limit reached: %s')%repr(query)) if candidates is None: candidates = self.universal_set() t = self.evaluate(res, candidates) @@ -227,7 +323,7 @@ def method(self, group_name): return getattr(self, 'evaluate_'+group_name) def evaluate(self, parse_result, candidates): - return self.method(parse_result.getName())(parse_result, candidates) + return self.method(parse_result[0])(parse_result[1:], candidates) def evaluate_and(self, argument, candidates): # RHS checks only those items matched by LHS @@ -249,8 +345,8 @@ def evaluate_not(self, argument, candidates): # return self.universal_set().difference(self.evaluate(argument[0])) return candidates.difference(self.evaluate(argument[0], candidates)) - def evaluate_parenthesis(self, argument, candidates): - return self.evaluate(argument[0], candidates) +# def evaluate_parenthesis(self, argument, candidates): +# return self.evaluate(argument[0], candidates) def evaluate_token(self, argument, candidates): location = argument[0] @@ -260,12 +356,16 @@ def evaluate_token(self, argument, candidates): query = query[1:] try: if query in self.searches_seen: - raise ParseException(query, len(query), 'undefined saved search', self) + raise ParseException(_('Recursive saved search: {0}').format(query)) if self.recurse_level > 5: self.searches_seen.add(query) return self._parse(saved_searches().lookup(query), candidates) + except ParseException as e: + raise e except: # convert all exceptions (e.g., missing key) to a parse error - raise ParseException(query, len(query), 'undefined saved search', self) + import traceback + traceback.print_exc() + raise ParseException(_('Unknown error in saved search: {0}').format(query)) return self._get_matches(location, query, candidates) def _get_matches(self, location, query, candidates): diff --git a/src/calibre/web/feeds/news.py b/src/calibre/web/feeds/news.py index 0e0afe2bc4..e0b31c7fcf 100644 --- a/src/calibre/web/feeds/news.py +++ b/src/calibre/web/feeds/news.py @@ -219,7 +219,7 @@ class BasicNewsRecipe(Recipe): #: } #: #: All keys are optional. For a full explanantion of the search criteria, see - #: `Beautiful Soup `_ + #: `Beautiful Soup `_ #: A common example:: #: #: remove_tags = [dict(name='div', attrs={'class':'advert'})] @@ -556,7 +556,7 @@ def get_article_url(self, article): url = article[key] if url and url.startswith('http://'): return url - ans = article.get('link', None) + ans = article.get('link', None) if not ans and getattr(article, 'links', None): for item in article.links: if item.get('rel', 'alternate') == 'alternate': @@ -725,7 +725,7 @@ def sort_index_by(self, index, weights): `weights`: A dictionary that maps weights to titles. If any titles in index are not in weights, they are assumed to have a weight of 0. ''' - weights = defaultdict(lambda : 0, weights) + weights = defaultdict(lambda: 0, weights) index.sort(cmp=lambda x, y: cmp(weights[x], weights[y])) return index @@ -860,8 +860,8 @@ def __init__(self, options, log, progress_reporter): if isinstance(self.feeds, basestring): self.feeds = [self.feeds] - if self.needs_subscription and (\ - self.username is None or self.password is None or \ + if self.needs_subscription and ( + self.username is None or self.password is None or (not self.username and not self.password)): if self.needs_subscription != 'optional': raise ValueError(_('The "%s" recipe needs a username and password.')%self.title) @@ -870,7 +870,7 @@ def __init__(self, options, log, progress_reporter): self.image_map, self.image_counter = {}, 1 self.css_map = {} - web2disk_cmdline = [ 'web2disk', + web2disk_cmdline = ['web2disk', '--timeout', str(self.timeout), '--max-recursions', str(self.recursions), '--delay', str(self.delay), @@ -913,7 +913,6 @@ def __init__(self, options, log, progress_reporter): self.failed_downloads = [] self.partial_failures = [] - def _postprocess_html(self, soup, first_fetch, job_info): if self.no_stylesheets: for link in list(soup.findAll('link', type=re.compile('css')))+list(soup.findAll('style')): @@ -923,7 +922,8 @@ def _postprocess_html(self, soup, first_fetch, job_info): head = soup.find('body') if not head: head = soup.find(True) - style = BeautifulSoup(u''%(self.template_css +'\n\n'+(self.extra_css if self.extra_css else ''))).find('style') + style = BeautifulSoup(u''%( + self.template_css +'\n\n'+(self.extra_css if self.extra_css else ''))).find('style') head.insert(len(head.contents), style) if first_fetch and job_info: url, f, a, feed_len = job_info @@ -969,7 +969,6 @@ def _postprocess_html(self, soup, first_fetch, job_info): self.populate_article_metadata(article, ans, first_fetch) return ans - def download(self): ''' Download and pre-process all articles from the feeds in this recipe. @@ -1041,12 +1040,12 @@ def description_limiter(cls, src): def feed2index(self, f, feeds): feed = feeds[f] - if feed.image_url is not None: # Download feed image + if feed.image_url is not None: # Download feed image imgdir = os.path.join(self.output_dir, 'images') if not os.path.isdir(imgdir): os.makedirs(imgdir) - if self.image_map.has_key(feed.image_url): + if feed.image_url in self.image_map: feed.image_url = self.image_map[feed.image_url] else: bn = urlparse.urlsplit(feed.image_url).path @@ -1065,7 +1064,6 @@ def feed2index(self, f, feeds): if isinstance(feed.image_url, str): feed.image_url = feed.image_url.decode(sys.getfilesystemencoding(), 'strict') - templ = (templates.TouchscreenFeedTemplate if self.touchscreen else templates.FeedTemplate) templ = templ(lang=self.lang_for_html) @@ -1074,7 +1072,6 @@ def feed2index(self, f, feeds): return templ.generate(f, feeds, self.description_limiter, extra_css=css).render(doctype='xhtml') - def _fetch_article(self, url, dir_, f, a, num_of_feeds): br = self.browser if self.get_browser.im_func is BasicNewsRecipe.get_browser.im_func: @@ -1117,7 +1114,7 @@ def fetch_embedded_article(self, article, dir, f, a, num_of_feeds): with PersistentTemporaryFile('_feeds2disk.html') as pt: pt.write(raw) url = ('file:'+pt.name) if iswindows else ('file://'+pt.name) - return self._fetch_article(url, dir, f, a, num_of_feeds) + return self._fetch_article(url, dir, f, a, num_of_feeds) def remove_duplicate_articles(self, feeds): seen_keys = defaultdict(set) @@ -1223,9 +1220,9 @@ def build_index(self): if not url: continue func, arg = (self.fetch_embedded_article, article) \ - if self.use_embedded_content or (self.use_embedded_content == None and feed.has_embedded_content()) \ + if self.use_embedded_content or (self.use_embedded_content is None and feed.has_embedded_content()) \ else \ - ((self.fetch_obfuscated_article if self.articles_are_obfuscated \ + ((self.fetch_obfuscated_article if self.articles_are_obfuscated else self.fetch_article), url) req = WorkRequest(func, (arg, art_dir, f, a, len(feed)), {}, (f, a), self.article_downloaded, @@ -1235,13 +1232,11 @@ def build_index(self): req.feed_dir = feed_dir self.jobs.append(req) - self.jobs_done = 0 tp = ThreadPool(self.simultaneous_downloads) for req in self.jobs: tp.putRequest(req, block=True, timeout=0) - self.report_progress(0, _('Starting download [%d thread(s)]...')%self.simultaneous_downloads) while True: try: @@ -1328,7 +1323,6 @@ def _download_masthead(self, mu): if os.path.exists(mpath): os.remove(mpath) - def download_masthead(self, url): try: self._download_masthead(url) @@ -1455,7 +1449,6 @@ def create_opf(self, feeds, dir=None): self.play_order_counter = 0 self.play_order_map = {} - def feed_index(num, parent): f = feeds[num] for j, a in enumerate(f): @@ -1595,7 +1588,6 @@ def parse_feeds(self): parsed_feeds.append(feed) self.log.exception(msg) - remove = [f for f in parsed_feeds if len(f) == 0 and self.remove_empty_feeds] for f in remove: @@ -1629,8 +1621,11 @@ def tag_to_string(self, tag, use_alt=True, normalize_whitespace=True): res = self.tag_to_string(item) if res: strings.append(res) - elif use_alt and item.has_key('alt'): - strings.append(item['alt']) + elif use_alt: + try: + strings.append(item['alt']) + except KeyError: + pass ans = u''.join(strings) if normalize_whitespace: ans = re.sub(r'\s+', ' ', ans) @@ -1646,24 +1641,26 @@ def soup(cls, raw): @classmethod def adeify_images(cls, soup): - ''' - If your recipe when converted to EPUB has problems with images when - viewed in Adobe Digital Editions, call this method from within - :meth:`postprocess_html`. - ''' - for item in soup.findAll('img'): - for attrib in ['height','width','border','align','style']: - if item.has_key(attrib): + ''' + If your recipe when converted to EPUB has problems with images when + viewed in Adobe Digital Editions, call this method from within + :meth:`postprocess_html`. + ''' + for item in soup.findAll('img'): + for attrib in ['height','width','border','align','style']: + try: del item[attrib] - oldParent = item.parent - myIndex = oldParent.contents.index(item) - item.extract() - divtag = Tag(soup,'div') - brtag = Tag(soup,'br') - oldParent.insert(myIndex,divtag) - divtag.append(item) - divtag.append(brtag) - return soup + except KeyError: + pass + oldParent = item.parent + myIndex = oldParent.contents.index(item) + item.extract() + divtag = Tag(soup,'div') + brtag = Tag(soup,'br') + oldParent.insert(myIndex,divtag) + divtag.append(item) + divtag.append(brtag) + return soup class CustomIndexRecipe(BasicNewsRecipe): diff --git a/src/calibre/web/feeds/recipes/model.py b/src/calibre/web/feeds/recipes/model.py index 60b74585af..b5c123bd4f 100644 --- a/src/calibre/web/feeds/recipes/model.py +++ b/src/calibre/web/feeds/recipes/model.py @@ -19,7 +19,7 @@ SchedulerConfig, download_builtin_recipe, update_custom_recipe, \ add_custom_recipe, remove_custom_recipe, get_custom_recipe, \ get_builtin_recipe -from calibre.utils.pyparsing import ParseException +from calibre.utils.search_query_parser import ParseException class NewsTreeItem(object):